]> pd.if.org Git - pdclib/commitdiff
Added test driver.
authorsolar <unknown>
Sun, 20 Nov 2005 16:30:23 +0000 (16:30 +0000)
committersolar <unknown>
Sun, 20 Nov 2005 16:30:23 +0000 (16:30 +0000)
Makefile
functions/string/memchr.c

index 71f2c1e761ad9855c7c26e70daf41ea56d8304b3..95006046f816053209d22bd0c22936baaeaf5398 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -8,13 +8,10 @@ TSTFILES := $(patsubst %.c,%.t,$(SRCFILES))
 DEPFILES := $(patsubst %.c,%.d,$(SRCFILES))
 ALLFILES := $(SRCFILES) $(HDRFILES) $(AUXFILES)
 
-CPPFLAGS  := -MMD -MP
-CFLAGS    := -g -std=c99 -I./internals/
-
 .PHONY: all clean dist
 
 all: $(OBJFILES)
-       ar r pdclib.a $(OBJFILES)
+       ar r pdclib.a $?
 
 test: $(TSTFILES)
        -@rc=0; for file in $(TSTFILES); do ./$$file; rc=`expr $$rc + $$?`; done; echo; echo "Tests failed: $$rc"
@@ -22,14 +19,13 @@ test: $(TSTFILES)
 -include $(DEPFILES)
 
 clean:
-       -@for file in $(OBJFILES) $(DEPFILES) pdclib.a; do if [ -f $$file ]; then rm $$file; fi; done
+       -@for file in $(OBJFILES) $(DEPFILES) $(TSTFILES) pdclib.a; do if [ -f $$file ]; then rm $$file; fi; done
 
 dist:
        @tar czf pdclib.tgz $(ALLFILES)
 
 %.o: %.c Makefile
-       $(CC) -DNDEBUG -c $(CPPFLAGS) $(CFLAGS) $< -o $@
+       $(CC) -DNDEBUG -MMD -MP -MT "$*.d $*.t" -g -std=c99 -I./internals -c $< -o $@
 
 %.t: %.c Makefile
-       $(CC) -DTEST $(CFLAGS) $< -o $@
-
+       $(CC) -DTEST -std=c99 -I./internals/ $< -o $@
index 1e8ff7073c46c911dc408257a402a2190644e7b6..75809e079d62a7b35a789ca863cd113d059287a4 100644 (file)
@@ -24,11 +24,17 @@ void * memchr( const void * s, int c, size_t n )
     return NULL;
 }
 
-#warning Test driver missing.
-
 #ifdef TEST
+#include <_PDCLIB_test.h>
+
 int main()
 {
-    return 0;
+    BEGIN_TESTS;
+    TESTCASE( memchr( abcde, 'c', 5 ) == &abcde[2] );
+    TESTCASE( memchr( abcde, 'a', 1 ) == &abcde[0] );
+    TESTCASE( memchr( abcde, 'a', 0 ) == NULL );
+    TESTCASE( memchr( abcde, '\0', 5 ) == NULL );
+    TESTCASE( memchr( abcde, '\0', 6 ) == &abcde[5] );
+    return TEST_RESULTS;
 }
 #endif