X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Funittest%2Fstring_test.c;h=5016a86ac824a2321ebedaca93d45d34c2598098;hb=2f0f96b9dbcb198dede1e5ebd4d880129d5d52c8;hp=65b7c62ece88f2583dd5bc8304f6b4babd2e115a;hpb=027d0dc75690e75c01673f3830c782d6a4eca998;p=vpp.git diff --git a/src/plugins/unittest/string_test.c b/src/plugins/unittest/string_test.c index 65b7c62ece8..5016a86ac82 100644 --- a/src/plugins/unittest/string_test.c +++ b/src/plugins/unittest/string_test.c @@ -349,10 +349,6 @@ test_clib_strcmp (vlib_main_t * vm, unformat_input_t * input) /* Null pointers comparison */ s = 0; indicator = clib_strcmp (s, s); - if (indicator != 0) - return -1; - /* verify it against strcmp */ - indicator = strcmp (s, s); if (indicator != 0) return -1; @@ -446,8 +442,6 @@ test_clib_strncmp (vlib_main_t * vm, unformat_input_t * input) v_indicator = strncmp (s1, "Every moment is a fresh beginning", s1len); if (v_indicator != 0) return -1; - if (v_indicator != indicator) - return -1; /* s1 > s2, 0 is expected since comparison is no more than n character */ indicator = clib_strncmp (s1, "Every moment is a fresh begin", @@ -459,8 +453,6 @@ test_clib_strncmp (vlib_main_t * vm, unformat_input_t * input) sizeof ("Every moment is a fresh begin") - 1); if (v_indicator != 0) return -1; - if (v_indicator != indicator) - return -1; /* s1 < s2, < 0 is expected */ indicator = clib_strncmp (s1, "Every moment is fresh beginning", @@ -504,8 +496,6 @@ test_clib_strncmp (vlib_main_t * vm, unformat_input_t * input) v_indicator = strncmp (s1, "Every moment is a fresh beginning", s1len + 1); if (v_indicator != 0) return -1; - if (v_indicator != indicator) - return -1; /* unterminated s1 */ s1[s1len] = 0x1; @@ -518,8 +508,6 @@ test_clib_strncmp (vlib_main_t * vm, unformat_input_t * input) sizeof ("Every moment is a fresh beginning") - 1); if (v_indicator != 0) return -1; - if (v_indicator != indicator) - return -1; /* OK, seems to work */ return 0; @@ -634,7 +622,7 @@ test_strncpy_s (vlib_main_t * vm, unformat_input_t * input) { char src[] = "Those who dare to fail miserably can achieve greatly."; char dst[100], old_dst[100]; - int indicator; + int indicator, i; size_t s1size = sizeof (dst); // including null errno_t err; @@ -664,6 +652,10 @@ test_strncpy_s (vlib_main_t * vm, unformat_input_t * input) return -1; /* n > string len of src */ + err = clib_memset (dst, 1, sizeof (dst)); + if (err != EOK) + return -1; + err = strncpy_s (dst, s1size, src, clib_strnlen (src, sizeof (src)) + 10); if (err != EOK) return -1; @@ -673,6 +665,11 @@ test_strncpy_s (vlib_main_t * vm, unformat_input_t * input) if (indicator != 0) return -1; + /* Make sure bytes after strlen(dst) is untouched */ + for (i = 1 + clib_strnlen (dst, sizeof (dst)); i < sizeof (dst); i++) + if (dst[i] != 1) + return -1; + /* truncation, n >= dmax */ err = strncpy_s (dst, clib_strnlen (src, sizeof (src)), src, clib_strnlen (src, sizeof (src))); @@ -747,6 +744,8 @@ test_clib_strncpy (vlib_main_t * vm, unformat_input_t * input) return -1; /* Verify it against strncpy */ +#if __GNUC__ < 8 + /* GCC 8 debian flunks this one at compile time */ strncpy (dst, src, strlen (src)); /* This better not fail but check anyhow */ @@ -755,6 +754,7 @@ test_clib_strncpy (vlib_main_t * vm, unformat_input_t * input) return -1; if (indicator != 0) return -1; +#endif /* limited copy -- strlen src > n, copy up to n */ err = clib_strncpy (dst, "The price of greatness is responsibility.", 10); @@ -788,12 +788,15 @@ test_clib_strncpy (vlib_main_t * vm, unformat_input_t * input) if (indicator != 0) return -1; /* Verify it against strncpy */ +#if __GNUC__ < 8 + /* GCC 8 debian flunks this one at compile time */ strncpy (dst, src, strlen (src)); if (strcmp_s (dst, clib_strnlen (dst, sizeof (dst)), src, &indicator) != EOK) return -1; if (indicator != 0) return -1; +#endif /* zero length copy */ clib_strncpy (old_dst, dst, clib_strnlen (dst, sizeof (dst))); @@ -1043,6 +1046,8 @@ test_strncat_s (vlib_main_t * vm, unformat_input_t * input) if (indicator != 0) return -1; /* verify it against strncat */ +#if __GNUC__ < 8 + /* GCC 8 debian flunks this one at compile time */ strcpy_s (dst, sizeof (dst), s1); strncat (dst, s2, 13); if (strcmp_s (dst, s1size - 1, "Two things are infinite: the universe ", @@ -1050,6 +1055,7 @@ test_strncat_s (vlib_main_t * vm, unformat_input_t * input) return -1; if (indicator != 0) return -1; +#endif /* negative stuff */ err = strncat_s (0, 0, 0, 1); @@ -1166,6 +1172,8 @@ test_clib_strncat (vlib_main_t * vm, unformat_input_t * input) if (indicator != 0) return -1; /* verify it against strncat */ +#if __GNUC__ < 8 + /* GCC 8 debian flunks this one at compile time */ strcpy_s (dst, sizeof (dst), s1); strncat (dst, s2, 13); if (strcmp_s (dst, s1size - 1, "Two things are infinite: the universe ", @@ -1173,6 +1181,7 @@ test_clib_strncat (vlib_main_t * vm, unformat_input_t * input) return -1; if (indicator != 0) return -1; +#endif /* negative stuff */ err = clib_strncat (0, 0, 1);