Edward O'Callaghan has uploaded this change for review. ( https://review.coreboot.org/c/flashrom/+/41655 )
Change subject: tests/: Add helper.c unit tests ......................................................................
tests/: Add helper.c unit tests
BUG=b:157280555 BRANCH=none TEST=builds
Change-Id: If4a1fe7c499f51bb9d7cd48ef26caf9dfae3c1fa Signed-off-by: Edward O'Callaghan quasisec@google.com --- A tests/helpers.c M tests/meson.build M tests/tests.c M tests/tests.h 4 files changed, 85 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/55/41655/1
diff --git a/tests/helpers.c b/tests/helpers.c new file mode 100644 index 0000000..ab0863f --- /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 aad1372..3cd67b8 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -2,6 +2,7 @@
srcs = [ 'tests.c', + 'helpers.c', 'spi.c', 'flashrom.c', 'spi25.c', diff --git a/tests/tests.c b/tests/tests.c index a3ad791..2ba293b 100644 --- a/tests/tests.c +++ b/tests/tests.c @@ -18,6 +18,17 @@ { 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 spi_tests[] = { cmocka_unit_test(registered_masters_test_success), cmocka_unit_test(programmer_init_test_success), diff --git a/tests/tests.h b/tests/tests.h index 688c280..b4913f1 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); + void registered_masters_test_success(void **state); void programmer_init_test_success(void **state);
Angel Pons has posted comments on this change. ( https://review.coreboot.org/c/flashrom/+/41655 )
Change subject: tests/: Add helper.c unit tests ......................................................................
Patch Set 1:
(2 comments)
https://review.coreboot.org/c/flashrom/+/41655/1/tests/helpers.c File tests/helpers.c:
PS1: Should we have more test cases in the future?
https://review.coreboot.org/c/flashrom/+/41655/1/tests/helpers.c@52 PS1, Line 52: assert_int_equal(0x5A, reverse_byte(0x5A)); 0x5A = 0101_1010
Edward O'Callaghan has posted comments on this change. ( https://review.coreboot.org/c/flashrom/+/41655 )
Change subject: tests/: Add helper.c unit tests ......................................................................
Patch Set 1:
(2 comments)
https://review.coreboot.org/c/flashrom/+/41655/1/tests/helpers.c File tests/helpers.c:
PS1:
Should we have more test cases in the future?
Absolutely, I just want to get things started with worked examples and lay the foundations.
I will work on pushing more with we can get this initial series in.
https://review.coreboot.org/c/flashrom/+/41655/1/tests/helpers.c@52 PS1, Line 52: assert_int_equal(0x5A, reverse_byte(0x5A));
0x5A = 0101_1010
yes? byte is reversed.
Hello build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/flashrom/+/41655
to look at the new patch set (#2).
Change subject: tests/: Add helper.c unit tests ......................................................................
tests/: Add helper.c unit tests
BUG=b:157280555 BRANCH=none TEST=builds
Change-Id: If4a1fe7c499f51bb9d7cd48ef26caf9dfae3c1fa Signed-off-by: Edward O'Callaghan quasisec@google.com --- A tests/helpers.c M tests/meson.build M tests/tests.c M tests/tests.h 4 files changed, 85 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/55/41655/2
Angel Pons has posted comments on this change. ( https://review.coreboot.org/c/flashrom/+/41655 )
Change subject: tests/: Add helper.c unit tests ......................................................................
Patch Set 2:
(1 comment)
https://review.coreboot.org/c/flashrom/+/41655/1/tests/helpers.c File tests/helpers.c:
https://review.coreboot.org/c/flashrom/+/41655/1/tests/helpers.c@52 PS1, Line 52: assert_int_equal(0x5A, reverse_byte(0x5A));
yes? byte is reversed.
Yes, I just dropped a (resolved) comment to remember why this is correct
Angel Pons has posted comments on this change. ( https://review.coreboot.org/c/flashrom/+/41655 )
Change subject: tests/: Add helper.c unit tests ......................................................................
Patch Set 2: Code-Review+2
(1 comment)
https://review.coreboot.org/c/flashrom/+/41655/1/tests/helpers.c File tests/helpers.c:
PS1:
Absolutely, I just want to get things started with worked examples and lay the foundations. […]
Sounds good
Edward O'Callaghan has submitted this change. ( https://review.coreboot.org/c/flashrom/+/41655 )
Change subject: tests/: Add helper.c unit tests ......................................................................
tests/: Add helper.c unit tests
BUG=b:157280555 BRANCH=none TEST=builds
Change-Id: If4a1fe7c499f51bb9d7cd48ef26caf9dfae3c1fa Signed-off-by: Edward O'Callaghan quasisec@google.com Reviewed-on: https://review.coreboot.org/c/flashrom/+/41655 Tested-by: build bot (Jenkins) no-reply@coreboot.org Reviewed-by: Angel Pons th3fanbus@gmail.com --- A tests/helpers.c M tests/meson.build M tests/tests.c M tests/tests.h 4 files changed, 85 insertions(+), 0 deletions(-)
Approvals: build bot (Jenkins): Verified Angel Pons: Looks good to me, approved
diff --git a/tests/helpers.c b/tests/helpers.c new file mode 100644 index 0000000..ab0863f --- /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 1e7ef4a..b1f9fda 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -2,6 +2,7 @@
srcs = [ 'tests.c', + 'helpers.c', 'flashrom.c', 'spi25.c', ] diff --git a/tests/tests.c b/tests/tests.c index 247c811..02f0438 100644 --- a/tests/tests.c +++ b/tests/tests.c @@ -21,6 +21,17 @@ { 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 3b91f65..83cfdea 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);