MCPcopy Create free account
hub / github.com/coreboot/coreboot / test_strncat

Function test_strncat

tests/commonlib/bsd/string-test.c:83–114  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

81}
82
83static void test_strncat(void **state)
84{
85 static const char str[] = "Hello ";
86 size_t len = __builtin_strlen(str);
87 static const char src[] = "World";
88 size_t src_len = __builtin_strlen(src);
89 static const char expected[] = "Hello World";
90 size_t expected_len = __builtin_strlen(expected);
91 char dst[100];
92 char *ret;
93
94 /* n larger than src len */
95 memcpy(dst, str, len + 1);
96 memset(dst + len + 1, 0xee, sizeof(dst) - len - 1);
97 ret = strncat(dst, src, src_len + 5);
98 assert_ptr_equal(dst, ret);
99 assert_memory_equal(expected, dst, expected_len + 1);
100
101 /* n smaller than src len */
102 memcpy(dst, str, len + 1);
103 memset(dst + len + 1, 0xee, sizeof(dst) - len - 1);
104 ret = strncat(dst, src, src_len - 2);
105 assert_ptr_equal(dst, ret);
106 assert_memory_equal("Hello Wor", dst, expected_len - 2 + 1);
107
108 /* n is 0 */
109 memcpy(dst, str, len + 1);
110 memset(dst + len + 1, 0xee, sizeof(dst) - len - 1);
111 ret = strncat(dst, src, 0);
112 assert_ptr_equal(dst, ret);
113 assert_memory_equal(str, dst, len + 1);
114}
115
116static void test_skip_atoi(void **state)
117{

Callers

nothing calls this directly

Calls 3

strncatFunction · 0.85
memcpyFunction · 0.50
memsetFunction · 0.50

Tested by

no test coverage detected