mescc: Add another fopen test.

* scaffold/tests/98-fopen.c: New file.
* build-aux/check-mescc.sh (tests): Add it.
* AUTHORS: Mention it.
This commit is contained in:
Jan Nieuwenhuizen 2018-06-16 16:12:51 +02:00
parent 584482fb79
commit 7a42e5e6b0
No known key found for this signature in database
GPG Key ID: F3C1A0D9C1D65273
3 changed files with 52 additions and 0 deletions

View File

@ -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)

View File

@ -142,6 +142,7 @@ t
95-signal
96-strto
97-fopen
98-fopen
"
# 90: needs GNU, fails for mescc, passes for tcc

50
scaffold/tests/98-fopen.c Normal file
View File

@ -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);
}