Module Name: src
Committed By: jruoho
Date: Thu Jul 7 09:31:27 UTC 2011
Modified Files:
src/tests/lib/libc/string: t_strcmp.c t_strlen.c
Log Message:
Few basic checks, including a case for strnlen(3).
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/tests/lib/libc/string/t_strcmp.c
cvs rdiff -u -r1.2 -r1.3 src/tests/lib/libc/string/t_strlen.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/tests/lib/libc/string/t_strcmp.c
diff -u src/tests/lib/libc/string/t_strcmp.c:1.1 src/tests/lib/libc/string/t_strcmp.c:1.2
--- src/tests/lib/libc/string/t_strcmp.c:1.1 Thu Jul 7 08:59:33 2011
+++ src/tests/lib/libc/string/t_strcmp.c Thu Jul 7 09:31:27 2011
@@ -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 <[email protected]>
@@ -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(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();
}
Index: src/tests/lib/libc/string/t_strlen.c
diff -u src/tests/lib/libc/string/t_strlen.c:1.2 src/tests/lib/libc/string/t_strlen.c:1.3
--- src/tests/lib/libc/string/t_strlen.c:1.2 Thu Jul 7 09:16:06 2011
+++ src/tests/lib/libc/string/t_strlen.c Thu Jul 7 09:31:27 2011
@@ -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 <[email protected]>
@@ -166,11 +166,34 @@
}
}
+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();
}