mescc: Add another fopen test.
authorJan Nieuwenhuizen <janneke@gnu.org>
Sat, 16 Jun 2018 14:12:51 +0000 (16:12 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Sat, 16 Jun 2018 14:12:51 +0000 (16:12 +0200)
* scaffold/tests/98-fopen.c: New file.
* build-aux/check-mescc.sh (tests): Add it.
* AUTHORS: Mention it.

AUTHORS
build-aux/check-mescc.sh
scaffold/tests/98-fopen.c [new file with mode: 0644]

diff --git a/AUTHORS b/AUTHORS
index 3686cbb507e40532ec1c739e863ca3eb3ad8013c..3224703a207b105e4eea7e44655ec876d893f30f 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -4,6 +4,7 @@ All files except the imported files listed below
 
 Jeremiah Orians <jeremiah@pdp10.guru>
 lib/libc.c (fopen)
+scaffold/tests/98-fopen.c
 
 Han-Wen Nienhuys <hanwen@xs4all.nl>
 lib/libc+tcc.c (_memmem, memmem)
index d4754fc8c1fe4089bd07dc6d9e38f89b8055dd39..eec5b9a3cc73ac02e808039617ae1448ea8bcb2e 100755 (executable)
@@ -142,6 +142,7 @@ t
 95-signal
 96-strto
 97-fopen
+98-fopen
 "
 
 # 90: needs GNU, fails for mescc, passes for tcc
diff --git a/scaffold/tests/98-fopen.c b/scaffold/tests/98-fopen.c
new file mode 100644 (file)
index 0000000..99b6d4c
--- /dev/null
@@ -0,0 +1,50 @@
+/* -*-comment-start: "//";comment-end:""-*-
+ * Mes --- Maxwell Equations of Software
+ * Copyright © 2018 Jeremiah Orians <jeremiah@pdp10.guru>
+ *
+ * This file is part of Mes.
+ *
+ * Mes is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or (at
+ * your option) any later version.
+ *
+ * Mes is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Mes.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <libmes.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <string.h>
+#include <stdlib.h>
+
+int main()
+{
+       FILE* test = fopen("tmp", "a+");
+       FILE* hold = fopen("tmp", "r");
+       int a;
+       int b;
+       int i = 1000;
+       do
+       {
+               a = fgetc(test);
+               b = fgetc(hold);
+               fprintf(stdout, "%c == %c\n", a, b);
+               if(i < 1000)
+               {
+                       fflush(test);
+                       fputc('a', test);
+               }
+               if(b == EOF) exit(EXIT_SUCCESS);
+               i = i + 1;
+       }while (a == b);
+       fprintf(stderr, "OOOPS you were not supposed to get here\n");
+       exit(EXIT_FAILURE);
+}