summaryrefslogtreecommitdiff
path: root/libio/bug-mmap-fflush.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2002-08-27 12:10:11 +0000
committerUlrich Drepper <drepper@redhat.com>2002-08-27 12:10:11 +0000
commit934b77ac65ad586e705c8af618ec9c86a2255e90 (patch)
tree72e1f9713bb1d48d889fd823156f750000972612 /libio/bug-mmap-fflush.c
parent63e9560b5a802421ae916502f77f534c8d69dbcb (diff)
Update.
2002-08-27 Ulrich Drepper <drepper@redhat.com> * sysdeps/arm/Dist: Add bits/link.h. * sunrpc/Makefile: Distribute thrsvc. * stdio-common/Makefile: Remove more left-overs from old stdio. * include/linewrap.h: Removed. * libio/bug-mmap-fflush.c: Rewrite to not touch source directory. * intl/Makefile (distribute): Add plural-eval.c. * stdio-common/Makefile (headers): Remove bits/stdio_lim.h. This file isn't distributed. Add special rules to install bits/stdio_lim.h. * Make-dist: Remove traces of old stdio. * Makeconfig: Likewise. * locale/Makefile (localedef-aux): New variable. Only md5 assigned to it. These files are not ddistributed in this directory. * sysdeps/unix/sysv/linux/s390/Dist: Add sys/procfs.h. * sysdeps/unix/sysv/linux/s390/s390-64/Dist: Remove sys/procfs.h. * sysdeps/unix/sysv/linux/s390/s390-32/Dist: Likewise. * sysdeps/unix/sysv/linux/Dist: Remove sys/sendfile.h.
Diffstat (limited to 'libio/bug-mmap-fflush.c')
-rw-r--r--libio/bug-mmap-fflush.c40
1 files changed, 33 insertions, 7 deletions
diff --git a/libio/bug-mmap-fflush.c b/libio/bug-mmap-fflush.c
index 984acb496b..d8aa58985a 100644
--- a/libio/bug-mmap-fflush.c
+++ b/libio/bug-mmap-fflush.c
@@ -4,24 +4,50 @@
#include <stdlib.h>
#include <string.h>
-int main (void)
+
+static char *fname;
+
+static void prepare (void);
+#define PREPARE(argc, argv) prepare ()
+
+
+#define TEST_FUNCTION do_test ()
+static int do_test (void);
+#include "../test-skeleton.c"
+
+
+static void
+prepare (void)
+{
+ int fd = create_temp_file ("bug-mmap-fflush.", &fname);
+ if (fd == -1)
+ exit (3);
+ /* We don't need the descriptor. */
+ close (fd);
+}
+
+
+static int
+do_test (void)
{
FILE *f;
off_t o;
- char buffer [1024];
+ char buffer[1024];
- system ("echo 'From foo@bar.com' > test");
- f = fopen ("test", "r");
+ snprintf (buffer, sizeof (buffer), "echo 'From foo@bar.com' > %s", fname);
+ system (buffer);
+ f = fopen (fname, "r");
fseek (f, 0, SEEK_END);
o = ftello (f);
fseek (f, 0, SEEK_SET);
fflush (f);
- system ("echo 'From bar@baz.edu' >> test");
+ snprintf (buffer, sizeof (buffer), "echo 'From bar@baz.edu' >> %s", fname);
+ system (buffer);
fseek (f, o, SEEK_SET);
if (fgets (buffer, 1024, f) == NULL)
- abort ();
+ exit (1);
if (strncmp (buffer, "From ", 5) != 0)
- abort ();
+ exit (1);
fclose (f);
exit (0);
}