diff options
| author | jruoho <jruoho@NetBSD.org> | 2011-07-07 09:31:27 +0000 |
|---|---|---|
| committer | jruoho <jruoho@NetBSD.org> | 2011-07-07 09:31:27 +0000 |
| commit | 7fbac4e05faf9630ce822e57a68b50bf0ee0893f (patch) | |
| tree | 33e1d26fd6a5e64cb46dc1deb2cd942adb2d8274 /tests/lib/libc/string | |
| parent | a2fad5999db9c2cd2617999280763fc680fae3b8 (diff) | |
Few basic checks, including a case for strnlen(3).
Diffstat (limited to 'tests/lib/libc/string')
| -rw-r--r-- | tests/lib/libc/string/t_strcmp.c | 34 | ||||
| -rw-r--r-- | tests/lib/libc/string/t_strlen.c | 25 |
2 files changed, 56 insertions, 3 deletions
diff --git a/tests/lib/libc/string/t_strcmp.c b/tests/lib/libc/string/t_strcmp.c index 5fe9011c451..9c6bc244d74 100644 --- a/tests/lib/libc/string/t_strcmp.c +++ b/tests/lib/libc/string/t_strcmp.c @@ -1,4 +1,4 @@ -/* $NetBSD: t_strcmp.c,v 1.1 2011/07/07 08:59:33 jruoho Exp $ */ +/* $NetBSD: t_strcmp.c,v 1.2 2011/07/07 09:31:27 jruoho Exp $ */ /* * Written by J.T. Conklin <jtc@acorntoolworks.com> @@ -14,7 +14,7 @@ ATF_TC(strcmp_basic); ATF_TC_HEAD(strcmp_basic, tc) { - atf_tc_set_md_var(tc, "descr", "Test strcmp(3) results"); + atf_tc_set_md_var(tc, "descr", "Test strcmp(3) results, #1"); } ATF_TC_BODY(strcmp_basic, tc) @@ -97,10 +97,40 @@ ATF_TC_BODY(strcmp_basic, tc) } } +ATF_TC(strcmp_simple); +ATF_TC_HEAD(strcmp_simple, tc) +{ + atf_tc_set_md_var(tc, "descr", "Test strcmp(3) results, #2"); +} + +ATF_TC_BODY(strcmp_simple, tc) +{ + char buf1[10] = "xxx"; + char buf2[10] = "xxy"; + + ATF_REQUIRE(strcmp(buf1, buf1) == 0); + ATF_REQUIRE(strcmp(buf2, buf2) == 0); + + ATF_REQUIRE(strcmp("xöx", "xox") > 0); + ATF_REQUIRE(strcmp("xxx", "xxxyyy") < 0); + ATF_REQUIRE(strcmp("xxxyyy", "xxx") > 0); + + ATF_REQUIRE(strcmp(buf1 + 0, buf2 + 0) < 0); + ATF_REQUIRE(strcmp(buf1 + 1, buf2 + 1) < 0); + ATF_REQUIRE(strcmp(buf1 + 2, buf2 + 2) < 0); + ATF_REQUIRE(strcmp(buf1 + 3, buf2 + 3) == 0); + + ATF_REQUIRE(strcmp(buf2 + 0, buf1 + 0) > 0); + ATF_REQUIRE(strcmp(buf2 + 1, buf1 + 1) > 0); + ATF_REQUIRE(strcmp(buf2 + 2, buf1 + 2) > 0); + ATF_REQUIRE(strcmp(buf2 + 3, buf1 + 3) == 0); +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, strcmp_basic); + ATF_TP_ADD_TC(tp, strcmp_simple); return atf_no_error(); } diff --git a/tests/lib/libc/string/t_strlen.c b/tests/lib/libc/string/t_strlen.c index 2de7bdc20ce..bbf23285274 100644 --- a/tests/lib/libc/string/t_strlen.c +++ b/tests/lib/libc/string/t_strlen.c @@ -1,4 +1,4 @@ -/* $NetBSD: t_strlen.c,v 1.2 2011/07/07 09:16:06 jruoho Exp $ */ +/* $NetBSD: t_strlen.c,v 1.3 2011/07/07 09:31:27 jruoho Exp $ */ /* * Written by J.T. Conklin <jtc@acorntoolworks.com> @@ -166,11 +166,34 @@ ATF_TC_BODY(strlen_huge, tc) } } +ATF_TC(strnlen_basic); +ATF_TC_HEAD(strnlen_basic, tc) +{ + atf_tc_set_md_var(tc, "descr", "A naive test of strnlen(3)"); +} + +ATF_TC_BODY(strnlen_basic, tc) +{ + char buf[1]; + + buf[0] = '\0'; + + ATF_REQUIRE(strnlen(buf, 000) == 0); + ATF_REQUIRE(strnlen(buf, 111) == 0); + + ATF_REQUIRE(strnlen("xxx", 0) == 0); + ATF_REQUIRE(strnlen("xxx", 1) == 1); + ATF_REQUIRE(strnlen("xxx", 2) == 2); + ATF_REQUIRE(strnlen("xxx", 3) == 3); + ATF_REQUIRE(strnlen("xxx", 9) == 3); +} + ATF_TP_ADD_TCS(tp) { ATF_TP_ADD_TC(tp, strlen_basic); ATF_TP_ADD_TC(tp, strlen_huge); + ATF_TP_ADD_TC(tp, strnlen_basic); return atf_no_error(); } |
