1 /* _PDCLIB_assert( char * )
3 This file is part of the Public Domain C Library (PDCLib).
4 Permission is granted to use, modify, and / or redistribute at will.
11 #define _PDCLIB_AUX_H _PDCLIB_AUX_H
12 #include <_PDCLIB_aux.h>
15 #if _PDCLIB_C_VERSION == 99
16 void _PDCLIB_assert( char const * const message1, char const * const function, char const * const message2 )
18 fputs( message1, stderr );
19 fputs( function, stderr );
20 fputs( message2, stderr );
24 void _PDCLIB_assert( char const * const message )
26 fputs( message, stderr );
33 #include <_PDCLIB_test.h>
37 static int EXPECTED_ABORT = 0;
39 void aborthandler( int signal )
41 TESTCASE( ! EXPECTED_ABORT );
51 assert( i == 0 ); /* NDEBUG set, condition met */
52 assert( i == 1 ); /* NDEBUG set, condition fails */
63 TESTCASE( signal( SIGABRT, &aborthandler ) != SIG_ERR );
64 assert( i == 0 ); /* NDEBUG not set, condition met */
65 puts( "Expecting failed assert() message here:" );
66 assert( i == 1 ); /* NDEBUG not set, condition fails - should abort */