X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=tests%2Fbitfield_tests.c;h=00a28a36159bfb2154e553963f2f8bc53c2bd39c;hb=a855335e3ad18a9d0094357eb39622448f8649a9;hp=056f8c139a31f5a6640ba4ffd810cb4f9dbda593;hpb=20bb0f507694482d7e0c6a381e3025544aa9cb5a;p=apps%2Flow-level-can-service.git diff --git a/tests/bitfield_tests.c b/tests/bitfield_tests.c index 056f8c1..00a28a3 100644 --- a/tests/bitfield_tests.c +++ b/tests/bitfield_tests.c @@ -193,9 +193,9 @@ END_TEST START_TEST (test_get_byte) { uint8_t data[4] = {0x12, 0x34, 0x56, 0x78}; - uint8_t result = getByte(0, data, sizeof(data), ENDIANNESS_BIG_ENDIAN); + uint8_t result = getByte(data, sizeof(data), 0); ck_assert_int_eq(result, 0x12); - result = getByte(3, data, sizeof(data), ENDIANNESS_BIG_ENDIAN); + result = getByte(data, sizeof(data), 3); ck_assert_int_eq(result, 0x78); } END_TEST @@ -203,20 +203,28 @@ END_TEST START_TEST (test_get_nibble) { uint8_t data[4] = {0x12, 0x34, 0x56, 0x78}; - uint8_t result = getNibble(0, data, sizeof(data), ENDIANNESS_BIG_ENDIAN); + uint8_t result = getNibble(data, sizeof(data), 0); ck_assert_int_eq(result, 0x1); - result = getNibble(1, data, sizeof(data), ENDIANNESS_BIG_ENDIAN); + result = getNibble(data, sizeof(data), 1); ck_assert_int_eq(result, 0x2); - result = getNibble(2, data, sizeof(data), ENDIANNESS_BIG_ENDIAN); + result = getNibble(data, sizeof(data), 2); ck_assert_int_eq(result, 0x3); } END_TEST -START_TEST (test_get_bits) +START_TEST (test_get_bits_out_of_range) { uint8_t data[4] = {0x12, 0x34, 0x56, 0x78}; uint8_t result[4]; - getBits(0, 16, data, 36, ENDIANNESS_BIG_ENDIAN, result); + fail_if(copyBitsRightAligned(data, 4, 25, 16, result, 4)); +} +END_TEST + +START_TEST (test_get_bits) +{ + uint8_t data[4] = {0x12, 0x34, 0x56, 0x78}; + uint8_t result[4] = {0}; + fail_unless(copyBitsRightAligned(data, 4, 0, 16, result, 4)); ck_assert_int_eq(result[0], 0x12); ck_assert_int_eq(result[1], 0x34); } @@ -226,7 +234,7 @@ START_TEST (test_get_uneven_bits) { uint8_t data[4] = {0x12, 0x34, 0x56, 0x78}; uint8_t result[4] = {0}; - getBits(4, 12, data, 36, ENDIANNESS_BIG_ENDIAN, result); + fail_unless(copyBitsRightAligned(data, 4, 4, 12, result, 4)); ck_assert_int_eq(result[0], 0x2); ck_assert_int_eq(result[1], 0x34); } @@ -252,6 +260,7 @@ Suite* bitfieldSuite(void) { tcase_add_test(tc_core, test_get_byte); tcase_add_test(tc_core, test_get_nibble); tcase_add_test(tc_core, test_get_bits); + tcase_add_test(tc_core, test_get_bits_out_of_range); tcase_add_test(tc_core, test_get_uneven_bits); suite_add_tcase(s, tc_core);