summaryrefslogtreecommitdiff
path: root/test/assert
diff options
context:
space:
mode:
Diffstat (limited to 'test/assert')
-rw-r--r--test/assert/Makefile40
-rw-r--r--test/assert/assert.c29
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);
}