1 /* _PDCLIB_assert( char const * )
3 This file is part of the Public Domain C Library (PDCLib).
4 Permission is granted to use, modify, and / or redistribute at will.
13 #include "_PDCLIB_aux.h"
15 void _PDCLIB_assert99( char const * const message1, char const * const function, char const * const message2 )
17 fputs( message1, stderr );
18 fputs( function, stderr );
19 fputs( message2, stderr );
23 void _PDCLIB_assert89( char const * const message )
25 fputs( message, stderr );
33 #include "_PDCLIB_test.h"
37 static int EXPECTED_ABORT = 0;
38 static int UNEXPECTED_ABORT = 1;
40 static void aborthandler( int sig )
42 TESTCASE( ! EXPECTED_ABORT );
43 exit( (signed int)TEST_RESULTS );
50 static int disabled_test( void )
53 assert( i == 0 ); /* NDEBUG set, condition met */
54 assert( i == 1 ); /* NDEBUG set, condition fails */
64 TESTCASE( signal( SIGABRT, &aborthandler ) != SIG_ERR );
65 TESTCASE( disabled_test() == 0 );
66 assert( UNEXPECTED_ABORT ); /* NDEBUG not set, condition met */
67 assert( EXPECTED_ABORT ); /* NDEBUG not set, condition fails - should abort */