// S : tags stdio libc c // S : expect --result valid // S : cc -o test.bc -D_PDCLIB_BUILD -DTEST $file // S : verify -o nofail:malloc test.bc #include #include #include "_PDCLIB_test.h" int main( void ) { /* Some of the tests are not executed for regression tests, as the libc on my system is at once less forgiving (segfaults on mode NULL) and more forgiving (accepts undefined modes). */ FILE * fh; remove( testfile ); TESTCASE_NOREG( fopen( NULL, NULL ) == NULL ); TESTCASE( fopen( NULL, "w" ) == NULL ); TESTCASE_NOREG( fopen( "", NULL ) == NULL ); TESTCASE( fopen( "", "w" ) == NULL ); TESTCASE( fopen( "foo", "" ) == NULL ); TESTCASE_NOREG( fopen( testfile, "wq" ) == NULL ); /* Undefined mode */ TESTCASE_NOREG( fopen( testfile, "wr" ) == NULL ); /* Undefined mode */ TESTCASE( ( fh = fopen( testfile, "w" ) ) != NULL ); TESTCASE( fclose( fh ) == 0 ); TESTCASE( remove( testfile ) == 0 ); return TEST_RESULTS; }