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();
 }

Reply via email to