-/* $Id$ */
-
-/* Release $Name$ */
-
/* _PDCLIB_assert( char const * )
This file is part of the Public Domain C Library (PDCLib).
#include <stdio.h>
#include <stdlib.h>
+#include <assert.h>
-#ifndef _PDCLIB_AUX_H
-#define _PDCLIB_AUX_H _PDCLIB_AUX_H
-#include <_PDCLIB_aux.h>
-#endif
+#ifndef REGTEST
+
+#include "_PDCLIB_aux.h"
-#if _PDCLIB_C_VERSION == 99
-void _PDCLIB_assert( char const * const message1, char const * const function, char const * const message2 )
+void _PDCLIB_assert99( char const * const message1, char const * const function, char const * const message2 )
{
fputs( message1, stderr );
fputs( function, stderr );
fputs( message2, stderr );
abort();
}
-#else
-void _PDCLIB_assert( char const * const message )
+
+void _PDCLIB_assert89( char const * const message )
{
fputs( message, stderr );
abort();
}
-#endif
+#endif
#ifdef TEST
-#include <_PDCLIB_test.h>
+
+#include "_PDCLIB_test.h"
+
#include <signal.h>
-static int rc = 0;
static int EXPECTED_ABORT = 0;
static int UNEXPECTED_ABORT = 1;
-void aborthandler( int signal )
+static void aborthandler( int sig )
{
TESTCASE( ! EXPECTED_ABORT );
- exit( rc );
+ exit( (signed int)TEST_RESULTS );
}
#define NDEBUG
+
#include <assert.h>
-int disabled_test()
+static int disabled_test( void )
{
int i = 0;
assert( i == 0 ); /* NDEBUG set, condition met */
}
#undef NDEBUG
+
#include <assert.h>
-int main()
+int main( void )
{
- BEGIN_TESTS;
TESTCASE( signal( SIGABRT, &aborthandler ) != SIG_ERR );
+ TESTCASE( disabled_test() == 0 );
assert( UNEXPECTED_ABORT ); /* NDEBUG not set, condition met */
assert( EXPECTED_ABORT ); /* NDEBUG not set, condition fails - should abort */
return TEST_RESULTS;