]> ruderich.org/simon Gitweb - coloredstderr/coloredstderr.git/blob - tests/run.sh
ee26896c7bc12465d749b13cf330749cefe34b7a
[coloredstderr/coloredstderr.git] / tests / run.sh
1 #!/bin/sh
2
3 # Test suite for coloredstderr.
4
5 # Copyright (C) 2013  Simon Ruderich
6 #
7 # This program is free software: you can redistribute it and/or modify
8 # it under the terms of the GNU General Public License as published by
9 # the Free Software Foundation, either version 3 of the License, or
10 # (at your option) any later version.
11 #
12 # This program is distributed in the hope that it will be useful,
13 # but WITHOUT ANY WARRANTY; without even the implied warranty of
14 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 # GNU General Public License for more details.
16 #
17 # You should have received a copy of the GNU General Public License
18 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
19
20
21 set -e
22
23
24 # The tests fail if running under coloredstderr because the tests redirect
25 # stderr to stdout which is detected by coloredstderr :D (and not colored as a
26 # result). Therefore remove LD_PRELOAD and re-exec the test.
27 if test -n "$LD_PRELOAD"; then
28     unset LD_PRELOAD
29     exec "$0"
30 fi
31
32 test "x$srcdir" = x && srcdir=.
33 . "$srcdir/lib.sh"
34
35
36 # Use valgrind to run the tests if it's available.
37 valgrind_cmd=
38 if type valgrind >/dev/null 2>&1; then
39     valgrind_cmd='valgrind --quiet --error-exitcode=1'
40 fi
41
42
43 # Make sure we don't write to non-ttys by default.
44 force_write=
45 test_script example-noforce.sh
46 force_write=1
47
48 test_script example-simple.sh
49 test_script example-redirects.sh
50 test_program example
51 test_program example_exec
52 test -x "$builddir/example_vfork" && test_program example_vfork
53 test -x "$builddir/example_error" && test_program example_error
54
55 test_script_subshell example-simple.sh
56 test_script_subshell example-redirects.sh
57 test_program_subshell example
58 test_program_subshell example_exec
59 test -x "$builddir/example_vfork" && test_program_subshell example_vfork
60 test -x "$builddir/example_error" && test_program_subshell example_error
61
62 # Necessary in case the test -x evaluates to false.
63 true