diff options
author | Andreas Antener <antener_a@gmx.ch> | 2015-02-03 11:49:34 +0100 |
---|---|---|
committer | Lorenz Meier <lm@inf.ethz.ch> | 2015-02-10 08:39:46 +0100 |
commit | 28e943ca28f10cc1ea205a0e18cf814c8a2afa52 (patch) | |
tree | 808c0e175d9e3c15c9e0b394a828be3d4c286073 /unittests/param_test.cpp | |
parent | 4ece1f92caebe8659bbfbfdb95ae0835fcc6a094 (diff) | |
download | px4-firmware-28e943ca28f10cc1ea205a0e18cf814c8a2afa52.tar.gz px4-firmware-28e943ca28f10cc1ea205a0e18cf814c8a2afa52.tar.bz2 px4-firmware-28e943ca28f10cc1ea205a0e18cf814c8a2afa52.zip |
setting parameters at runtime to get rid of the designated union initializer
Diffstat (limited to 'unittests/param_test.cpp')
-rw-r--r-- | unittests/param_test.cpp | 43 |
1 files changed, 29 insertions, 14 deletions
diff --git a/unittests/param_test.cpp b/unittests/param_test.cpp index b3aff34e8..bd2a9a45d 100644 --- a/unittests/param_test.cpp +++ b/unittests/param_test.cpp @@ -3,30 +3,45 @@ #include "gtest/gtest.h" -static const struct param_info_s test_1 = { - "TEST_1", - PARAM_TYPE_INT32, - .val.i = 2 -}; struct param_info_s param_array[256]; struct param_info_s *param_info_base; struct param_info_s *param_info_limit; -TEST(ParamTest, ResetAll) { +/* + * Adds test parameters + */ +void _add_parameters() { + struct param_info_s test_1 = { + "TEST_1", + PARAM_TYPE_INT32 + }; + test_1.val.i = 2; + + struct param_info_s test_2 = { + "TEST_2", + PARAM_TYPE_INT32 + }; + test_2.val.i = 4; + param_array[0] = test_1; + param_array[1] = test_2; param_info_base = (struct param_info_s *) ¶m_array[0]; - param_info_limit = (struct param_info_s *) ¶m_array[1]; + param_info_limit = (struct param_info_s *) ¶m_array[2]; +} + +TEST(ParamTest, SimpleFind) { + _add_parameters(); printf("diff: %i\n", (unsigned)(param_info_limit - param_info_base)); - param_t test_1 = param_find("TEST_1"); - ASSERT_NE(PARAM_INVALID, test_1) << "param_find failed"; + param_t param = param_find("TEST_2"); + ASSERT_NE(PARAM_INVALID, param) << "param_find did not find parameter"; int32_t value; - int result = param_get(test_1, &value); - ASSERT_EQ(0, result) << "param_get failed"; - ASSERT_EQ(2, value) << "wrong param value"; - - //ASSERT_TRUE(false) << "fail"; + int result = param_get(param, &value); + ASSERT_EQ(0, result) << "param_get did not return parameter"; + ASSERT_EQ(4, value) << "value of returned parameter does not match"; } + + |