From: solar Date: Wed, 14 Jun 2006 05:11:00 +0000 (+0000) Subject: Added testdriver. X-Git-Tag: v0.5~158 X-Git-Url: https://pd.if.org/git/?p=pdclib;a=commitdiff_plain;h=97e30a162595b6a709600f1f1d7d9ebf21f469d1 Added testdriver. --- diff --git a/functions/stdio/setbuf.c b/functions/stdio/setbuf.c index d51582f..e77d2d4 100644 --- a/functions/stdio/setbuf.c +++ b/functions/stdio/setbuf.c @@ -10,7 +10,7 @@ #ifndef REGTEST -void setbuf( FILE * _PDCLIB_restrict stream, char * _PDCLIB_restrict buf ) +void setbuf( struct _PDCLIB_file_t * _PDCLIB_restrict stream, char * _PDCLIB_restrict buf ) { /* TODO: Only allowed on a "virgin" stream; add check. */ if ( buf == NULL ) @@ -30,7 +30,34 @@ void setbuf( FILE * _PDCLIB_restrict stream, char * _PDCLIB_restrict buf ) int main( void ) { - TESTCASE( NO_TESTDRIVER ); + /* TODO: Extend testing once setvbuf() is finished. */ +#ifndef REGTEST + char const * const filename = "testfile"; + char buffer[ 100 ]; + struct _PDCLIB_file_t * fh; + /* full buffered */ + TESTCASE( ( fh = fopen( filename, "w" ) ) != NULL ); + TESTCASE( fh->status & _PDCLIB_LIBBUFFER ); + TESTCASE( fh->bufsize == BUFSIZ ); + setbuf( fh, buffer ); +#if 0 + TESTCASE( fh->buffer == buffer ); + TESTCASE( fh->bufsize == BUFFERSIZE ); +#endif + TESTCASE( ( fh->status & ( _IOFBF | _IONBF | _IOLBF ) ) == _IOFBF ); + TESTCASE( fclose( fh ) == 0 ); + /* not buffered */ + TESTCASE( ( fh = fopen( filename, "w" ) ) != NULL ); + setbuf( fh, NULL ); +#if 0 + TESTCASE( fh->buffer == NULL ); + TESTCASE( fh->bufsize == 0 ); +#endif + TESTCASE( ( fh->status & ( _IOFBF | _IONBF | _IOLBF ) ) == _IONBF ); + TESTCASE( fclose( fh ) == 0 ); +#else + puts( " NOTEST setbuf() test driver is PDCLib-specific." ); +#endif return TEST_RESULTS; }