mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-08 14:20:07 +00:00
* libio/Makefile (tests): Add tst-ext2.
* libio/tst-ext2.c: New file.
This commit is contained in:
parent
ed36f224c3
commit
7e39d8025d
@ -4,6 +4,8 @@
|
||||
* libio/__freading.c (__freading): Don't return true for
|
||||
write-only streams. For read/write streams, check whether we
|
||||
performed a read operation already.
|
||||
* libio/Makefile (tests): Add tst-ext2.
|
||||
* libio/tst-ext2.c: New file.
|
||||
|
||||
2007-10-12 Ulrich Drepper <drepper@redhat.com>
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
# Copyright (C) 1995-2002,2003,2004,2006 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1995-2002,2003,2004,2006,2007 Free Software Foundation, Inc.
|
||||
# This file is part of the GNU C Library.
|
||||
|
||||
# The GNU C Library is free software; you can redistribute it and/or
|
||||
@ -48,7 +48,7 @@ routines := \
|
||||
libc_fatal fmemopen
|
||||
|
||||
tests = tst_swprintf tst_wprintf tst_swscanf tst_wscanf tst_getwc tst_putwc \
|
||||
tst_wprintf2 tst-widetext test-fmemopen tst-ext tst-fopenloc \
|
||||
tst_wprintf2 tst-widetext test-fmemopen tst-ext tst-ext2 tst-fopenloc \
|
||||
tst-fgetws tst-ungetwc1 tst-ungetwc2 tst-swscanf tst-sscanf \
|
||||
tst-mmap-setvbuf bug-ungetwc1 bug-ungetwc2 tst-atime tst-eof \
|
||||
tst-freopen bug-rewind bug-rewind2 bug-ungetc bug-fseek \
|
||||
|
58
libio/tst-ext2.c
Normal file
58
libio/tst-ext2.c
Normal file
@ -0,0 +1,58 @@
|
||||
#include <stdio.h>
|
||||
#include <stdio_ext.h>
|
||||
|
||||
|
||||
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"
|
Loading…
Reference in New Issue
Block a user