X-Git-Url: https://ruderich.org/simon/gitweb/?p=coloredstderr%2Fcoloredstderr.git;a=blobdiff_plain;f=tests%2Fexample_exec.c;h=2d22ce029fbcd56a267ca1a9d976d23dbfe5ae7e;hp=bd5670079c9e270fb491028d8bbd086588c21402;hb=0d7f3068981f2b08e583cec21d9069e97c73addd;hpb=045ca46e7929c27c3c408324aaae02499b1eae81 diff --git a/tests/example_exec.c b/tests/example_exec.c index bd56700..2d22ce0 100644 --- a/tests/example_exec.c +++ b/tests/example_exec.c @@ -169,9 +169,38 @@ int main(int argc unused, char **argv) { execvp(argv[0], args); return EXIT_FAILURE; - } else { + + /* Test handling of COLORED_STDERR_FDS. */ + + } else if (!skip--) { + /* And the rest. */ close(3); close(8); + + dup2(2, 5); + + char *args[] = { argv0, NULL }; + char *envp[] = { ldpreload, "COLORED_STDERR_FDS=5,", NULL }; + + execve(argv[0], args, envp); + return EXIT_FAILURE; + } else if (!skip--) { + char *args[] = { argv0, NULL }; + char *envp[] = { ldpreload, NULL }; + + dup2(5, 6); + close(5); + + execve(argv[0], args, envp); + return EXIT_FAILURE; + } else if (!skip--) { + close(6); + + char *args[] = { argv0, NULL }; + setenv("COLORED_STDERR_FDS", "2,", 1); + + execv(argv[0], args); + return EXIT_FAILURE; } @@ -292,13 +321,13 @@ int main(int argc unused, char **argv) { } else if (!skip--) { puts("argv[0] = |./example_exec|"); puts("environ[0] = |TEST=54|"); - puts("environ[2] = |COLORED_STDERR_FDS=2,|"); + puts("environ[2] = |COLORED_STDERR_PRIVATE_FDS=2,|"); puts(""); puts("argv[0] = |./example_exec|"); puts("argv[1] = |foo|"); puts("argv[2] = |bar|"); puts("environ[0] = |TEST=55|"); - puts("environ[2] = |COLORED_STDERR_FDS=2,|"); + puts("environ[2] = |COLORED_STDERR_PRIVATE_FDS=2,|"); puts(""); #endif }