// 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 "_PDCLIB_test.h" #include #ifndef REGTEST #include "_PDCLIB/io.h" #endif int main( void ) { /* TODO: Extend testing once setvbuf() is finished. */ #ifndef REGTEST char buffer[ BUFSIZ + 1 ]; FILE * fh; /* full buffered */ TESTCASE( ( fh = tmpfile() ) != NULL ); setbuf( fh, buffer ); TESTCASE( fh->buffer == buffer ); TESTCASE( fh->bufsize == BUFSIZ ); TESTCASE( ( fh->status & ( _IOFBF | _IONBF | _IOLBF ) ) == _IOFBF ); TESTCASE( fclose( fh ) == 0 ); /* not buffered */ TESTCASE( ( fh = tmpfile() ) != NULL ); setbuf( fh, NULL ); TESTCASE( ( fh->status & ( _IOFBF | _IONBF | _IOLBF ) ) == _IONBF ); TESTCASE( fclose( fh ) == 0 ); #else puts( " NOTEST setbuf() test driver is PDCLib-specific." ); #endif return TEST_RESULTS; }