From 49dec86a5da0b71ac1b12edfafeb91e3d7eed7a9 Mon Sep 17 00:00:00 2001 From: oddcoder <ahmedsoliman@oddcoder.com> Date: Fri, 22 May 2020 23:28:28 +0200 Subject: [PATCH] Unit test arbitrarily long ungetc() --- tests/Makefile | 1 + tests/expected/stdio/ungetc_multiple.stderr | 0 tests/expected/stdio/ungetc_multiple.stdout | 1 + tests/stdio/ungetc_multiple.c | 27 +++++++++++++++++++++ 4 files changed, 29 insertions(+) create mode 100644 tests/expected/stdio/ungetc_multiple.stderr create mode 100644 tests/expected/stdio/ungetc_multiple.stdout create mode 100644 tests/stdio/ungetc_multiple.c diff --git a/tests/Makefile b/tests/Makefile index a6f967a87..00facce3b 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -42,6 +42,7 @@ EXPECT_NAMES=\ stdio/setvbuf \ stdio/sprintf \ stdio/printf_space_pad \ + stdio/ungetc_multiple \ stdlib/a64l \ stdlib/alloc \ stdlib/atof \ diff --git a/tests/expected/stdio/ungetc_multiple.stderr b/tests/expected/stdio/ungetc_multiple.stderr new file mode 100644 index 000000000..e69de29bb diff --git a/tests/expected/stdio/ungetc_multiple.stdout b/tests/expected/stdio/ungetc_multiple.stdout new file mode 100644 index 000000000..3b18e512d --- /dev/null +++ b/tests/expected/stdio/ungetc_multiple.stdout @@ -0,0 +1 @@ +hello world diff --git a/tests/stdio/ungetc_multiple.c b/tests/stdio/ungetc_multiple.c new file mode 100644 index 000000000..611430489 --- /dev/null +++ b/tests/stdio/ungetc_multiple.c @@ -0,0 +1,27 @@ +#include <stdio.h> +int main() { + ungetc('\n', stdin); + ungetc('d', stdin); + ungetc('l', stdin); + ungetc('r', stdin); + ungetc('o', stdin); + ungetc('w', stdin); + ungetc(' ', stdin); + ungetc('o', stdin); + ungetc('l', stdin); + ungetc('l', stdin); + ungetc('e', stdin); + ungetc('h', stdin); + putchar(getchar()); + putchar(getchar()); + putchar(getchar()); + putchar(getchar()); + putchar(getchar()); + putchar(getchar()); + putchar(getchar()); + putchar(getchar()); + putchar(getchar()); + putchar(getchar()); + putchar(getchar()); + putchar(getchar()); +} -- GitLab