diff options
Diffstat (limited to 'test/assert')
-rw-r--r-- | test/assert/Makefile | 40 | ||||
-rw-r--r-- | test/assert/assert.c | 29 |
2 files changed, 26 insertions, 43 deletions
diff --git a/test/assert/Makefile b/test/assert/Makefile index 54553ce00..6d71595b9 100644 --- a/test/assert/Makefile +++ b/test/assert/Makefile @@ -1,47 +1,19 @@ -TOPDIR=../../ -include $(TOPDIR)Rules.mak +TESTDIR=../ +include $(TESTDIR)/Rules.mak -# Check if 'ls -sh' works or not -LSFLAGS = $(shell if ls -sh >/dev/null 2>&1; \ - then echo "-sh"; else echo "-s" ; fi) - -XCFLAGS = -Wall -Os -fomit-frame-pointer -fno-builtin -nostdinc \ - -I$(TOPDIR)include -I/usr/include/linux -XLDFLAGS = -nostdlib -s -gc-sections -EXTRA_LIBS=$(TOPDIR)libc.a -lgcc - -YCFLAGS = -Wall -Os -fomit-frame-pointer -YLDFLAGS = -s --static - - -TARGETS=assert assert_glibc +TARGETS=assert all: $(TARGETS) -assert: assert.c Makefile $(TOPDIR)libc.a +assert: assert.c Makefile $(TESTDIR)/Config $(TESTDIR)/Rules.mak $(TESTCC) -@ echo "-------" -@ echo " " -@ echo "Compiling vs uClibc: " -@ echo " " - $(CC) $(XCFLAGS) -c $< -o $@.o - $(CC) $(XLDFLAGS) $@.o -o $@ $(EXTRA_LIBS) - $(STRIPTOOL) -x -R .note -R .comment $@ - -./$@ - -@ echo "This was supposed to core dump on test #3" - -@rm -f core - -@ echo " " - -assert_glibc: assert.c Makefile $(TOPDIR)libc.a - -@ echo "-------" - -@ echo " " - -@ echo "Compiling vs GNU libc: " - -@ echo " " - $(CC) $(YCFLAGS) -c $< -o $@.o - $(CC) $(YLDFLAGS) --static $@.o -o $@ + $(TESTCC) $(CFLAGS) -c $< -o $@.o + $(TESTCC) $(CFLAGS) $@.o -o $@ $(EXTRA_LIBS) $(STRIPTOOL) -x -R .note -R .comment $@ -./$@ - -@ echo "This was supposed to core dump on test #3" - -@rm -f core -@ echo " " clean: diff --git a/test/assert/assert.c b/test/assert/assert.c index 6d474ccc2..866c362f0 100644 --- a/test/assert/assert.c +++ b/test/assert/assert.c @@ -24,26 +24,37 @@ #include <stdio.h> #include <stdlib.h> #include <assert.h> +#include <signal.h> +#include "../testsuite.h" +int got_abort; -int main( int argc, char **argv) +void aborthandler(int junk) { + got_abort=1; +} - printf( "Testing functions defined in assert.h\n"); +int main( int argc, char **argv) +{ + signal(SIGABRT, aborthandler); + + init_testsuite("Testing functions defined in assert.h:\n\t"); - printf( "Testing \"assert(0==0)\"\n"); + got_abort=0; assert(0==0); + TEST_NUMERIC(got_abort, 0); - printf( "Testing \"assert(0==1)\" with NDEBUG disabled\n"); -#undef NDEBUG +#define NDEBUG + got_abort=0; + printf("Don't worry -- This next test is supposed to print an assert message:\n"); + fprintf(stderr, "\t"); assert(0==1); + TEST_NUMERIC(got_abort, 0); -#define NDEBUG - printf( "Testing \"assert(0==1)\" with NDEBUG enabled\n"); #undef NDEBUG + got_abort=0; assert(0==1); - - printf( "Finished testing assert.h\n"); + TEST_NUMERIC(got_abort, 1); exit(0); } |