diff options
-rw-r--r-- | tests/helpers.c | 64 | ||||
-rw-r--r-- | tests/meson.build | 1 | ||||
-rw-r--r-- | tests/tests.c | 11 | ||||
-rw-r--r-- | tests/tests.h | 9 |
4 files changed, 85 insertions, 0 deletions
diff --git a/tests/helpers.c b/tests/helpers.c new file mode 100644 index 000000000..ab0863f0a --- /dev/null +++ b/tests/helpers.c @@ -0,0 +1,64 @@ +#include <include/test.h> + +#include "flash.h" + +#include <stdint.h> +#include <stdlib.h> + + +void address_to_bits_test_success(void **state) +{ + (void) state; /* unused */ + assert_int_equal(16, address_to_bits(0xAA55)); +} + +void bitcount_test_success(void **state) +{ + (void) state; /* unused */ + assert_int_equal(4, bitcount(0xAA)); +} + +void minmax_test_success(void **state) +{ + (void) state; /* unused */ + assert_int_equal(0x55, min(0xAA, 0x55)); + assert_int_equal(0xAA, max(0xAA, 0x55)); +} + +void strcat_realloc_test_success(void **state) +{ + (void) state; /* unused */ + const char src0[] = "hello"; + const char src1[] = " world"; + char *dest = calloc(1, 1); + dest = strcat_realloc(dest, src0); + dest = strcat_realloc(dest, src1); + assert_string_equal("hello world", dest); + free(dest); +} + +void tolower_string_test_success(void **state) +{ + (void) state; /* unused */ + char str[] = "HELLO AGAIN"; + assert_string_equal("HELLO AGAIN", str); + tolower_string(str); + assert_string_equal("hello again", str); +} + +void reverse_byte_test_success(void **state) +{ + (void) state; /* unused */ + assert_int_equal(0x5A, reverse_byte(0x5A)); + assert_int_equal(0x0F, reverse_byte(0xF0)); +} + +void reverse_bytes_test_success(void **state) +{ + (void) state; /* unused */ + uint8_t src[] = { 0xAA, 0x55 }; + uint8_t dst[2]; + reverse_bytes(dst, src, 2); + assert_int_equal(src[0], dst[1]); + assert_int_equal(src[1], dst[0]); +} diff --git a/tests/meson.build b/tests/meson.build index 1e7ef4a37..b1f9fdaee 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -2,6 +2,7 @@ root_includes = include_directories('../subprojects') srcs = [ 'tests.c', + 'helpers.c', 'flashrom.c', 'spi25.c', ] diff --git a/tests/tests.c b/tests/tests.c index 247c81192..02f043813 100644 --- a/tests/tests.c +++ b/tests/tests.c @@ -21,6 +21,17 @@ int main(void) { int ret = 0; + const struct CMUnitTest helpers_tests[] = { + cmocka_unit_test(address_to_bits_test_success), + cmocka_unit_test(bitcount_test_success), + cmocka_unit_test(minmax_test_success), + cmocka_unit_test(strcat_realloc_test_success), + cmocka_unit_test(tolower_string_test_success), + cmocka_unit_test(reverse_byte_test_success), + cmocka_unit_test(reverse_bytes_test_success), + }; + ret |= cmocka_run_group_tests_name("helpers.c tests", helpers_tests, NULL, NULL); + const struct CMUnitTest flashrom_tests[] = { cmocka_unit_test(flashbuses_to_text_test_success), }; diff --git a/tests/tests.h b/tests/tests.h index 3b91f65d6..83cfdea72 100644 --- a/tests/tests.h +++ b/tests/tests.h @@ -1,6 +1,15 @@ #ifndef TESTS_H #define TESTS_H +/* helpers.c */ +void address_to_bits_test_success(void **state); +void bitcount_test_success(void **state); +void minmax_test_success(void **state); +void strcat_realloc_test_success(void **state); +void tolower_string_test_success(void **state); +void reverse_byte_test_success(void **state); +void reverse_bytes_test_success(void **state); + /* flashrom.c */ void flashbuses_to_text_test_success(void **state); |