mescc: Mes C Library: Move strncmp to own test.
authorJan Nieuwenhuizen <janneke@gnu.org>
Tue, 21 Aug 2018 18:33:54 +0000 (20:33 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Tue, 21 Aug 2018 18:33:54 +0000 (20:33 +0200)
* scaffold/tests/51-strcmp.c: Remove strncmp tests.
* scaffold/tests/51-strncmp.c: New file.
* build-aux/check-mescc.sh (tests): Add it.

build-aux/check-mescc.sh
scaffold/tests/51-strcmp.c
scaffold/tests/51-strncmp.c [new file with mode: 0644]

index 3b94b8b5de16de77b628557fc1c05a5892beab53..43142fafd7f5a810eff988cd36dad15cea7712dc 100755 (executable)
@@ -84,6 +84,7 @@ t
 4a-char-array
 50-assert
 51-strcmp
+51-strncmp
 52-itoa
 53-strcpy
 54-argv
index f0b1c02d386058bcfd54a6fa6710b7c70b8e3e2a..64cb1742dcbeeac47e6bc5fc3034a5d68b602398 100644 (file)
 #include <stdio.h>
 #include <string.h>
 
-#if __i386__
-#define strncmp xstrncmp
-int
-strncmp (char const* a, char const* b, size_t size)
-{
-  if (!size)
-    return 0;
-  while (*a && *b && *a == *b && --size)
-    {
-      a++;
-      b++;
-    }
-  return *a - *b;
-}
-#endif
-
 int
 main ()
 {
   char *p = "mes";
 
-  puts ("\n");
-  puts ("t: if (strcmp (p, \"foo\"))\n");
+  oputs ("\n");
+  oputs ("t: if (strcmp (p, \"foo\"))\n");
   if (!strcmp (p, "foo"))
     return 1;
 
-  puts ("t: if (strcmp (p, \"t.c\\n\"))\n");
+  oputs ("t: if (strcmp (p, \"t.c\\n\"))\n");
   if (strcmp (p, "mes"))
     return 2;
 
-  puts ("t: if (!strcmp (p, \"t.c\\n\"))\n");
+  oputs ("t: if (!strcmp (p, \"t.c\\n\"))\n");
   if (!strcmp (p, "mes")) goto ok1;
   return 3;
  ok1:
 
-  puts ("t: if (strcmp (p, \"foo\"))\n");
+  oputs ("t: if (strcmp (p, \"foo\"))\n");
   if (strcmp (p, "foo")) goto ok2;
   return 4;
  ok2:
 
-  puts ("t: itoa (33) == \"33\"\n");
+  oputs ("t: itoa (33) == \"33\"\n");
   if (strcmp (itoa (33), "33"))
     return 5;
 
-  puts ("strcmp (itoa (-1), \"-1\")\n");
+  oputs ("strcmp (itoa (-1), \"-1\")\n");
   if (strcmp (itoa (-1), "-1"))
     return 6;
 
-  puts ("strcmp (itoa (0), \"0\")\n");
+  oputs ("strcmp (itoa (0), \"0\")\n");
   if (strcmp (itoa (0), "0"))
     return 7;
 
-  puts ("strcmp (itoa (1), \"1\")\n");
+  oputs ("strcmp (itoa (1), \"1\")\n");
   if (strcmp (itoa (1), "1"))
     return 8;
 
-  if (strncmp ("abc", "a", 1))
-    return 9;
-
-  if (!strncmp ("abc", "x", 1))
-    return 10;
-
-  if (strncmp ("abc", "", 0))
-    return 11;
-
   return 0;
 }
diff --git a/scaffold/tests/51-strncmp.c b/scaffold/tests/51-strncmp.c
new file mode 100644 (file)
index 0000000..04d38d3
--- /dev/null
@@ -0,0 +1,39 @@
+/* -*-comment-start: "//";comment-end:""-*-
+ * GNU Mes --- Maxwell Equations of Software
+ * Copyright © 2017,2018 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+ *
+ * This file is part of GNU Mes.
+ *
+ * GNU Mes is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * GNU Mes is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GNU Mes.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <libmes.h>
+#include <assert.h>
+#include <stdio.h>
+#include <string.h>
+
+int
+main ()
+{
+  if (strncmp ("abc", "a", 1))
+    return 1;
+
+  if (!strncmp ("abc", "x", 1))
+    return 2;
+
+  if (strncmp ("abc", "", 0))
+    return 3;
+
+  return 0;
+}