summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEdward O'Callaghan <quasisec@google.com>2020-05-22 18:42:11 +1000
committerEdward O'Callaghan <quasisec@chromium.org>2020-06-17 11:08:06 +0000
commit3cc70c25f959afec4179971437c53b809cb3a9a3 (patch)
tree00f74a69dc96e5ebf4911cf4419329a3fb987ce1
parent629b8f06ec59d2112539efe161f121ab22d99ec8 (diff)
downloadflashrom-3cc70c25f959afec4179971437c53b809cb3a9a3.tar.gz
flashrom-3cc70c25f959afec4179971437c53b809cb3a9a3.tar.bz2
flashrom-3cc70c25f959afec4179971437c53b809cb3a9a3.zip
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>
-rw-r--r--tests/helpers.c64
-rw-r--r--tests/meson.build1
-rw-r--r--tests/tests.c11
-rw-r--r--tests/tests.h9
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);