]> ruderich.org/simon Gitweb - coloredstderr/coloredstderr.git/blobdiff - tests/run.sh
tests: Fix tests when running under coloredstderr.
[coloredstderr/coloredstderr.git] / tests / run.sh
index 1adadd5ec4815a2a2b3db9f50adf53284b26b634..ee26896c7bc12465d749b13cf330749cefe34b7a 100755 (executable)
 set -e
 
 
+# The tests fail if running under coloredstderr because the tests redirect
+# stderr to stdout which is detected by coloredstderr :D (and not colored as a
+# result). Therefore remove LD_PRELOAD and re-exec the test.
+if test -n "$LD_PRELOAD"; then
+    unset LD_PRELOAD
+    exec "$0"
+fi
+
 test "x$srcdir" = x && srcdir=.
 . "$srcdir/lib.sh"
 
 
+# Use valgrind to run the tests if it's available.
+valgrind_cmd=
+if type valgrind >/dev/null 2>&1; then
+    valgrind_cmd='valgrind --quiet --error-exitcode=1'
+fi
+
+
 # Make sure we don't write to non-ttys by default.
 force_write=
 test_script example-noforce.sh
@@ -33,3 +48,16 @@ force_write=1
 test_script example-simple.sh
 test_script example-redirects.sh
 test_program example
+test_program example_exec
+test -x "$builddir/example_vfork" && test_program example_vfork
+test -x "$builddir/example_error" && test_program example_error
+
+test_script_subshell example-simple.sh
+test_script_subshell example-redirects.sh
+test_program_subshell example
+test_program_subshell example_exec
+test -x "$builddir/example_vfork" && test_program_subshell example_vfork
+test -x "$builddir/example_error" && test_program_subshell example_error
+
+# Necessary in case the test -x evaluates to false.
+true