UT_OBJS = unittests/unittest.o
UT_OBJS += unittests/lib/memalign.o
UT_OBJS += unittests/lib/strntol.o
+UT_OBJS += unittests/oslib/strlcat.o
UT_TARGET_OBJS = lib/memalign.o
UT_TARGET_OBJS += lib/strntol.o
+UT_TARGET_OBJS += oslib/strlcat.o
UT_PROGS = unittests/unittest
else
UT_OBJS =
--- /dev/null
+#include "../unittest.h"
+
+#ifndef CONFIG_STRLCAT
+#include "../../oslib/strlcat.h"
+#else
+#include <string.h>
+#endif
+
+static void test_strlcat_1(void)
+{
+ char dst[32];
+ char src[] = "test";
+ size_t ret;
+
+ dst[0] = '\0';
+ ret = strlcat(dst, src, sizeof(dst));
+
+ CU_ASSERT_EQUAL(strcmp(dst, "test"), 0);
+ CU_ASSERT_EQUAL(ret, 4); /* total length it tried to create */
+}
+
+static void test_strlcat_2(void)
+{
+ char dst[32];
+ char src[] = "test";
+ size_t ret;
+
+ dst[0] = '\0';
+ ret = strlcat(dst, src, strlen(dst));
+
+ CU_ASSERT_EQUAL(strcmp(dst, ""), 0);
+ CU_ASSERT_EQUAL(ret, 4); /* total length it tried to create */
+}
+
+static struct fio_unittest_entry tests[] = {
+ {
+ .name = "strlcat/1",
+ .fn = test_strlcat_1,
+ },
+ {
+ .name = "strlcat/2",
+ .fn = test_strlcat_2,
+ },
+ {
+ .name = NULL,
+ },
+};
+
+CU_ErrorCode fio_unittest_oslib_strlcat(void)
+{
+ return fio_unittest_add_suite("oslib/strlcat.c", NULL, NULL, tests);
+}
fio_unittest_register(fio_unittest_lib_memalign);
fio_unittest_register(fio_unittest_lib_strntol);
+ fio_unittest_register(fio_unittest_oslib_strlcat);
CU_basic_set_mode(CU_BRM_VERBOSE);
CU_basic_run_tests();