X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=tests%2Fexample.c;h=3d165e56c89b6955d4531b28f1b4f7e12bd4106f;hb=0d7f3068981f2b08e583cec21d9069e97c73addd;hp=545f3cb195a3765cca9ed7d8049dfff60149bc40;hpb=06f483dbeece72fa46fe43700b6e01279c92c916;p=coloredstderr%2Fcoloredstderr.git diff --git a/tests/example.c b/tests/example.c index 545f3cb..3d165e5 100644 --- a/tests/example.c +++ b/tests/example.c @@ -17,20 +17,22 @@ * along with this program. If not, see . */ +#include + #include #include #include #include +#include "../src/compiler.h" -int main(int argc, char **argv) { - (void)argv; +int main(int argc, char **argv unused) { fprintf(stderr, "write to stderr: %d\n", argc); printf("write to stdout\n"); fflush(stdout); - errno = 0; + errno = ENOMEM; perror("error!"); write(STDERR_FILENO, "write to stderr 2", 17); @@ -50,5 +52,18 @@ int main(int argc, char **argv) { write(42, "stderr ...\n", 11); write(471, "more on stdout\n", 15); + /* Glibc uses __overflow() for this ... */ + putc_unlocked('x', stderr); + putc_unlocked('\n', stdout); + + /* Test invalid stuff. */ + write(-3, "foo", 3); + close(-42); + close(-4711); + /* Can't test this, results in a segfault with the "normal" fclose(). */ + /*fclose(NULL);*/ + dup(-12); + dup2(12, -42); + return EXIT_SUCCESS; }