diff options
Diffstat (limited to 'test/assert/assert.c')
-rw-r--r-- | test/assert/assert.c | 29 |
1 files changed, 20 insertions, 9 deletions
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); } |