diff options
author | djm@openbsd.org <djm@openbsd.org> | 2021-05-21 03:59:01 +0000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2021-06-01 14:38:41 +1000 |
commit | 60455a5d98065a73ec9a1f303345856bbd49aecc (patch) | |
tree | 8c74a317c927ba4964a9dbab35a0623db97a54f2 | |
parent | 39f6cd207851d7b67ca46903bfce4a9f615b5b1c (diff) |
upstream: also check contents of remaining string
OpenBSD-Regress-ID: d526fa07253f4eebbc7d6205a0ab3d491ec71a28
-rw-r--r-- | regress/unittests/misc/test_strdelim.c | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/regress/unittests/misc/test_strdelim.c b/regress/unittests/misc/test_strdelim.c index 74ca1f4d..46f46264 100644 --- a/regress/unittests/misc/test_strdelim.c +++ b/regress/unittests/misc/test_strdelim.c @@ -1,4 +1,4 @@ -/* $OpenBSD: test_strdelim.c,v 1.1 2021/05/21 03:48:07 djm Exp $ */ +/* $OpenBSD: test_strdelim.c,v 1.2 2021/05/21 03:59:01 djm Exp $ */ /* * Regress test for misc strdelim() and co * @@ -33,7 +33,9 @@ test_strdelim(void) TEST_START("empty"); START_STRING(""); cp = strdelim(&str); - ASSERT_STRING_EQ(cp, ""); /* XXX better as NULL */ + ASSERT_STRING_EQ(cp, ""); /* XXX arguable */ + cp = strdelim(&str); + ASSERT_PTR_EQ(cp, NULL); DONE_STRING(); TEST_DONE(); @@ -41,6 +43,7 @@ test_strdelim(void) START_STRING(" "); cp = strdelim(&str); ASSERT_STRING_EQ(cp, ""); /* XXX better as NULL */ + ASSERT_STRING_EQ(str, ""); DONE_STRING(); TEST_DONE(); @@ -50,6 +53,7 @@ test_strdelim(void) ASSERT_STRING_EQ(cp, "blob"); cp = strdelim(&str); ASSERT_PTR_EQ(cp, NULL); + ASSERT_PTR_EQ(str, NULL); DONE_STRING(); TEST_DONE(); @@ -57,8 +61,10 @@ test_strdelim(void) START_STRING("blob "); cp = strdelim(&str); ASSERT_STRING_EQ(cp, "blob"); + ASSERT_STRING_EQ(str, ""); cp = strdelim(&str); ASSERT_STRING_EQ(cp, ""); /* XXX better as NULL */ + ASSERT_PTR_EQ(str, NULL); DONE_STRING(); TEST_DONE(); @@ -66,8 +72,10 @@ test_strdelim(void) START_STRING("blob1 blob2"); cp = strdelim(&str); ASSERT_STRING_EQ(cp, "blob1"); + ASSERT_STRING_EQ(str, "blob2"); cp = strdelim(&str); ASSERT_STRING_EQ(cp, "blob2"); + ASSERT_PTR_EQ(str, NULL); cp = strdelim(&str); ASSERT_PTR_EQ(cp, NULL); DONE_STRING(); @@ -77,10 +85,12 @@ test_strdelim(void) START_STRING("blob1 blob2 "); cp = strdelim(&str); ASSERT_STRING_EQ(cp, "blob1"); + ASSERT_STRING_EQ(str, "blob2 "); cp = strdelim(&str); ASSERT_STRING_EQ(cp, "blob2"); cp = strdelim(&str); ASSERT_STRING_EQ(cp, ""); /* XXX better as NULL */ + ASSERT_PTR_EQ(str, NULL); DONE_STRING(); TEST_DONE(); @@ -88,8 +98,10 @@ test_strdelim(void) START_STRING("blob1=blob2"); cp = strdelim(&str); ASSERT_STRING_EQ(cp, "blob1"); + ASSERT_STRING_EQ(str, "blob2"); cp = strdelim(&str); ASSERT_STRING_EQ(cp, "blob2"); + ASSERT_PTR_EQ(str, NULL); cp = strdelim(&str); ASSERT_PTR_EQ(cp, NULL); DONE_STRING(); @@ -99,8 +111,13 @@ test_strdelim(void) START_STRING("blob1==blob2"); cp = strdelim(&str); ASSERT_STRING_EQ(cp, "blob1"); /* XXX better returning NULL early */ + ASSERT_STRING_EQ(str, "=blob2"); cp = strdelim(&str); ASSERT_STRING_EQ(cp, ""); + ASSERT_STRING_EQ(str, "blob2"); + cp = strdelim(&str); + ASSERT_STRING_EQ(cp, "blob2"); /* XXX should (but can't) reject */ + ASSERT_PTR_EQ(str, NULL); DONE_STRING(); TEST_DONE(); @@ -108,6 +125,7 @@ test_strdelim(void) START_STRING("blob1=blob2"); cp = strdelimw(&str); ASSERT_STRING_EQ(cp, "blob1=blob2"); + ASSERT_PTR_EQ(str, NULL); cp = strdelimw(&str); ASSERT_PTR_EQ(cp, NULL); DONE_STRING(); @@ -119,6 +137,7 @@ test_strdelim(void) ASSERT_STRING_EQ(cp, "blob"); cp = strdelim(&str); ASSERT_STRING_EQ(cp, ""); /* XXX better as NULL */ + ASSERT_PTR_EQ(str, NULL); DONE_STRING(); TEST_DONE(); @@ -126,8 +145,10 @@ test_strdelim(void) START_STRING("\"blob1\" blob2"); cp = strdelim(&str); ASSERT_STRING_EQ(cp, "blob1"); + ASSERT_STRING_EQ(str, "blob2"); cp = strdelim(&str); ASSERT_STRING_EQ(cp, "blob2"); + ASSERT_PTR_EQ(str, NULL); cp = strdelim(&str); ASSERT_PTR_EQ(cp, NULL); DONE_STRING(); @@ -137,10 +158,13 @@ test_strdelim(void) START_STRING("blob1 \"blob2\""); cp = strdelim(&str); ASSERT_STRING_EQ(cp, "blob1"); + ASSERT_STRING_EQ(str, "\"blob2\""); cp = strdelim(&str); ASSERT_STRING_EQ(cp, "blob2"); + ASSERT_STRING_EQ(str, ""); cp = strdelim(&str); ASSERT_STRING_EQ(cp, ""); /* XXX better as NULL */ + ASSERT_PTR_EQ(str, NULL); DONE_STRING(); TEST_DONE(); |