]> pd.if.org Git - pdclib/blobdiff - functions/string/strncmp.c
Added #ifdef to allow regression against system lib.
[pdclib] / functions / string / strncmp.c
index 7f398fa9b2b9be4bce4763afabf4bf737e4bf2d2..286d41ed6baedaf951428f918828eb9e548a9bdd 100644 (file)
@@ -10,6 +10,8 @@
 
 #include <string.h>
 
+#ifndef REGTEST
+
 int strncmp( const char * s1, const char * s2, size_t n )
 {
     while ( n && ( *s1 == *s2 ) )
@@ -28,11 +30,25 @@ int strncmp( const char * s1, const char * s2, size_t n )
     }
 }
 
-#warning Test driver missing.
+#endif
 
 #ifdef TEST
+#include <_PDCLIB_test.h>
+
 int main()
 {
-    return 0;
+    char cmpabcde[] = "abcde";
+    char empty[] = "";
+    char x[] = "x";
+    BEGIN_TESTS;
+    TESTCASE( strncmp( abcde, cmpabcde, 5 ) == 0 );
+    TESTCASE( strncmp( abcde, abcdx, 5 ) < 0 );
+    TESTCASE( strncmp( abcdx, abcde, 5 ) > 0 );
+    TESTCASE( strncmp( empty, abcde, 5 ) < 0 );
+    TESTCASE( strncmp( abcde, empty, 5 ) > 0 );
+    TESTCASE( strncmp( abcde, abcdx, 4 ) == 0 );
+    TESTCASE( strncmp( abcde, x, 0 ) == 0 );
+    TESTCASE( strncmp( abcde, x, 1 ) < 0 );
+    return TEST_RESULTS;
 }
 #endif