]> 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 abd0e282377059509ecaf377ae6345cdc929917e..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
@@ -34,14 +49,14 @@ test_script example-simple.sh
 test_script example-redirects.sh
 test_program example
 test_program example_exec
-test_program example_vfork
+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_program_subshell example_vfork
+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.