aboutsummaryrefslogtreecommitdiff
path: root/REORG.TODO/stdio-common/test-fwrite.c
diff options
context:
space:
mode:
Diffstat (limited to 'REORG.TODO/stdio-common/test-fwrite.c')
-rw-r--r--REORG.TODO/stdio-common/test-fwrite.c71
1 files changed, 71 insertions, 0 deletions
diff --git a/REORG.TODO/stdio-common/test-fwrite.c b/REORG.TODO/stdio-common/test-fwrite.c
new file mode 100644
index 0000000000..5677c6da80
--- /dev/null
+++ b/REORG.TODO/stdio-common/test-fwrite.c
@@ -0,0 +1,71 @@
+#include <stdio.h>
+#include <string.h>
+
+static int
+do_test (void)
+{
+ FILE *f = tmpfile ();
+ char obuf[99999], ibuf[sizeof obuf];
+ char *line;
+ size_t linesz;
+
+ if (! f)
+ {
+ perror ("tmpfile");
+ return 1;
+ }
+
+ if (fputs ("line\n", f) == EOF)
+ {
+ perror ("fputs");
+ return 1;
+ }
+
+ memset (obuf, 'z', sizeof obuf);
+ memset (ibuf, 'y', sizeof ibuf);
+
+ if (fwrite (obuf, sizeof obuf, 1, f) != 1)
+ {
+ perror ("fwrite");
+ return 1;
+ }
+
+ rewind (f);
+
+ line = NULL;
+ linesz = 0;
+ if (getline (&line, &linesz, f) != 5)
+ {
+ perror ("getline");
+ return 1;
+ }
+ if (strcmp (line, "line\n"))
+ {
+ puts ("Lines differ. Test FAILED!");
+ return 1;
+ }
+
+ if (fread (ibuf, sizeof ibuf, 1, f) != 1)
+ {
+ perror ("fread");
+ return 1;
+ }
+
+ if (memcmp (ibuf, obuf, sizeof ibuf))
+ {
+ puts ("Buffers differ. Test FAILED!");
+ return 1;
+ }
+
+ asprintf (&line, "\
+GDB is free software and you are welcome to distribute copies of it\n\
+ under certain conditions; type \"show copying\" to see the conditions.\n\
+There is absolutely no warranty for GDB; type \"show warranty\" for details.\n\
+");
+
+ puts ("Test succeeded.");
+ return 0;
+}
+
+#define TEST_FUNCTION do_test ()
+#include "../test-skeleton.c"