diff options
author | Alejandro Colomar <alx@kernel.org> | 2024-01-30 00:22:33 +0100 |
---|---|---|
committer | Serge Hallyn <serge@hallyn.com> | 2024-03-10 19:55:39 -0500 |
commit | b76fc2947f145133e584aec6a823ef976b4e7a8c (patch) | |
tree | c6f4b88a04bed8e7589c8bcd505ac9b7823b18cf | |
parent | ffb3992467a76575da3000e3e72c929fe7ad1038 (diff) |
tests/unit/test_zustr2stp.c: Test ZUSTR2STP()
Signed-off-by: Alejandro Colomar <alx@kernel.org>
-rw-r--r-- | tests/unit/Makefile.am | 15 | ||||
-rw-r--r-- | tests/unit/test_zustr2stp.c | 53 |
2 files changed, 67 insertions, 1 deletions
diff --git a/tests/unit/Makefile.am b/tests/unit/Makefile.am index ff882b8d..228d8796 100644 --- a/tests/unit/Makefile.am +++ b/tests/unit/Makefile.am @@ -11,7 +11,8 @@ check_PROGRAMS = \ test_sprintf \ test_strncpy \ test_strtcpy \ - test_xasprintf + test_xasprintf \ + test_zustr2stp if ENABLE_LOGIND check_PROGRAMS += \ @@ -143,4 +144,16 @@ test_xasprintf_LDADD = \ $(CMOCKA_LIBS) \ $(NULL) +test_zustr2stp_SOURCES = \ + test_zustr2stp.c \ + $(NULL) +test_zustr2stp_CFLAGS = \ + $(AM_CFLAGS) \ + $(NULL) +test_zustr2stp_LDFLAGS = \ + $(NULL) +test_zustr2stp_LDADD = \ + $(CMOCKA_LIBS) \ + $(NULL) + endif # HAVE_CMOCKA diff --git a/tests/unit/test_zustr2stp.c b/tests/unit/test_zustr2stp.c new file mode 100644 index 00000000..198d2eb6 --- /dev/null +++ b/tests/unit/test_zustr2stp.c @@ -0,0 +1,53 @@ +// SPDX-FileCopyrightText: 2024, Alejandro Colomar <alx@kernel.org> +// SPDX-License-Identifier: BSD-3-Clause + + +#include <config.h> + +#include <stddef.h> +#include <string.h> + +#include <stdarg.h> // Required by <cmocka.h> +#include <stddef.h> // Required by <cmocka.h> +#include <setjmp.h> // Required by <cmocka.h> +#include <stdint.h> // Required by <cmocka.h> +#include <cmocka.h> + +#include "string/zustr2stp.h" + + +static void test_ZUSTR2STP(void **state); + + +int +main(void) +{ + const struct CMUnitTest tests[] = { + cmocka_unit_test(test_ZUSTR2STP), + }; + + return cmocka_run_group_tests(tests, NULL, NULL); +} + + +static void +test_ZUSTR2STP(void **state) +{ + char src[3] = {'1', '2', '3'}; + char dst[4]; + + assert_true(ZUSTR2STP(&dst, src) == dst + strlen("123")); + assert_true(strcmp("123", dst) == 0); + + src[2] = '\0'; + assert_true(ZUSTR2STP(&dst, src) == dst + strlen("12")); + assert_true(strcmp("12", dst) == 0); + + src[1] = '\0'; + assert_true(ZUSTR2STP(&dst, src) == dst + strlen("1")); + assert_true(strcmp("1", dst) == 0); + + src[0] = '\0'; + assert_true(ZUSTR2STP(&dst, src) == dst + strlen("")); + assert_true(strcmp("", dst) == 0); +} |