mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 12:30:06 +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
|
* libio/__freading.c (__freading): Don't return true for
|
||||||
write-only streams. For read/write streams, check whether we
|
write-only streams. For read/write streams, check whether we
|
||||||
performed a read operation already.
|
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>
|
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.
|
# This file is part of the GNU C Library.
|
||||||
|
|
||||||
# The GNU C Library is free software; you can redistribute it and/or
|
# The GNU C Library is free software; you can redistribute it and/or
|
||||||
@ -48,7 +48,7 @@ routines := \
|
|||||||
libc_fatal fmemopen
|
libc_fatal fmemopen
|
||||||
|
|
||||||
tests = tst_swprintf tst_wprintf tst_swscanf tst_wscanf tst_getwc tst_putwc \
|
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-fgetws tst-ungetwc1 tst-ungetwc2 tst-swscanf tst-sscanf \
|
||||||
tst-mmap-setvbuf bug-ungetwc1 bug-ungetwc2 tst-atime tst-eof \
|
tst-mmap-setvbuf bug-ungetwc1 bug-ungetwc2 tst-atime tst-eof \
|
||||||
tst-freopen bug-rewind bug-rewind2 bug-ungetc bug-fseek \
|
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