diff options
Diffstat (limited to 'tests')
| -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 00000000..ab0863f0 --- /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 1e7ef4a3..b1f9fdae 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 247c8119..02f04381 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 3b91f65d..83cfdea7 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); | 
