summaryrefslogtreecommitdiff
path: root/tests/commonlib
diff options
context:
space:
mode:
authorKapil Porwal <kapilporwal@google.com>2024-06-05 15:52:30 +0000
committerJulius Werner <jwerner@chromium.org>2024-06-11 21:06:59 +0000
commit829b94dc988861179f09f56b6693c84fda02acd1 (patch)
tree9cea156f42cd66f3ea602d8e80ea05c30d65aa98 /tests/commonlib
parent3da78299588f34332b1e7d4291437b182c711258 (diff)
treewide: Move skip_atoi function to commonlib
BUG=none TEST=Build and verify on Screebo TEST=make unit-tests ``` $ make tests/commonlib/bsd/string-test [==========] tests_commonlib_bsd_string-test(tests): Running 1 test(s). [ RUN ] test_skip_atoi [ OK ] test_skip_atoi [==========] tests_commonlib_bsd_string-test(tests): 1 test(s) run. [ PASSED ] 1 test(s). ``` Change-Id: Ifaaa80d0c696a625592ce301f9e3eefb2b4dcd98 Signed-off-by: Maximilian Brune <maximilian.brune@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/82910 Reviewed-by: Jakub Czapiga <czapiga@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Subrata Banik <subratabanik@google.com>
Diffstat (limited to 'tests/commonlib')
-rw-r--r--tests/commonlib/bsd/Makefile.mk4
-rw-r--r--tests/commonlib/bsd/string-test.c38
2 files changed, 42 insertions, 0 deletions
diff --git a/tests/commonlib/bsd/Makefile.mk b/tests/commonlib/bsd/Makefile.mk
index 3de223e707..ee710bcdb9 100644
--- a/tests/commonlib/bsd/Makefile.mk
+++ b/tests/commonlib/bsd/Makefile.mk
@@ -3,6 +3,7 @@
tests-y += helpers-test
tests-y += gcd-test
tests-y += ipchksum-test
+tests-y += string-test
helpers-test-srcs += tests/commonlib/bsd/helpers-test.c
@@ -11,3 +12,6 @@ gcd-test-srcs += src/commonlib/bsd/gcd.c
ipchksum-test-srcs += tests/commonlib/bsd/ipchksum-test.c
ipchksum-test-srcs += src/commonlib/bsd/ipchksum.c
+
+string-test-srcs += tests/commonlib/bsd/string-test.c
+string-test-srcs += src/commonlib/bsd/string.c
diff --git a/tests/commonlib/bsd/string-test.c b/tests/commonlib/bsd/string-test.c
new file mode 100644
index 0000000000..d94b82e18c
--- /dev/null
+++ b/tests/commonlib/bsd/string-test.c
@@ -0,0 +1,38 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+#include <commonlib/bsd/string.h>
+#include <tests/test.h>
+
+/* Used to test skip_atoi */
+struct str_with_u_val_t {
+ char *str;
+ uint32_t value;
+ uint32_t offset;
+} str_with_u_val[] = {
+ {"42aa", 42, 2},
+ {"a", 0, 0},
+ {"0", 0, 1},
+ {"4a2", 4, 1},
+};
+
+static void test_skip_atoi(void **state)
+{
+ int i;
+ char *ptr, *copy;
+
+ for (i = 0; i < ARRAY_SIZE(str_with_u_val); i++) {
+ ptr = str_with_u_val[i].str;
+ copy = ptr;
+ assert_true(str_with_u_val[i].value == skip_atoi(&ptr));
+ assert_int_equal(str_with_u_val[i].offset, ptr - copy);
+ }
+}
+
+int main(void)
+{
+ const struct CMUnitTest tests[] = {
+ cmocka_unit_test(test_skip_atoi),
+ };
+
+ return cb_run_group_tests(tests, NULL, NULL);
+}