diff --git a/tests/Makefile b/tests/Makefile index a6f967a872..00facce3bf 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 0000000000..e69de29bb2 diff --git a/tests/expected/stdio/ungetc_multiple.stdout b/tests/expected/stdio/ungetc_multiple.stdout new file mode 100644 index 0000000000..3b18e512db --- /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 0000000000..611430489a --- /dev/null +++ b/tests/stdio/ungetc_multiple.c @@ -0,0 +1,27 @@ +#include +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()); +}