#include #include static char *fname; #define PREPARE(argc, argv) \ do { \ int fd = create_temp_file ("tst-ext2", &fname); \ if (fd == -1) \ { \ puts ("cannot create temporary file"); \ exit (1); \ } \ close (fd); \ } while (0) static int do_test (void) { int res = 0; FILE *fp; fp = fopen (fname, "w"); printf ("Initial state for write-only stream: %d %d\n", __freading (fp) != 0, __fwriting (fp) != 0); res |= ((__freading (fp) != 0) != 0 || (__fwriting (fp) != 0) != 1); fclose (fp); fp = fopen (fname, "r"); printf ("Initial state for read-only stream: %d %d\n", __freading (fp) != 0, __fwriting (fp) != 0); res |= ((__freading (fp) != 0) != 1 || (__fwriting (fp) != 0) != 0); fclose (fp); fp = fopen (fname, "r+"); printf ("Initial state for read-write stream: %d %d\n", __freading (fp) != 0, __fwriting (fp) != 0); res |= ((__freading (fp) != 0) != 0 || (__fwriting (fp) != 0) != 0); fclose (fp); fp = fopen (fname, "w+"); printf ("Initial state for read-write stream: %d %d\n", __freading (fp) != 0, __fwriting (fp) != 0); res |= ((__freading (fp) != 0) != 0 || (__fwriting (fp) != 0) != 0); fclose (fp); return res; } #define TEST_FUNCTION do_test () #include "../test-skeleton.c"