summaryrefslogtreecommitdiff
path: root/t/parallel-tests-log-compiler-example.sh
blob: 8b2c4f305058816f29e9702e58cc9d52407acaf5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#! /bin/sh
# Copyright (C) 2011-2018 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <https://www.gnu.org/licenses/>.

# Test the example of usage of generic and extension-specific
# LOG_COMPILER and LOG_FLAGS given in the manual.

required=python
. test-init.sh

cat >> configure.ac <<END
AC_SUBST([PERL], ['$PERL'])
AM_PATH_PYTHON
AC_OUTPUT
END

cat > Makefile.am << 'END'
TESTS = foo.pl bar.py baz
TEST_EXTENSIONS = .pl .py
PL_LOG_COMPILER = $(PERL)
AM_PL_LOG_FLAGS = -w
PY_LOG_COMPILER = $(PYTHON)
AM_PY_LOG_FLAGS = -v
LOG_COMPILER = ./wrapper-script
AM_LOG_FLAGS = -d
END

echo 'my $a =+ 2; exit (0);' > foo.pl
echo 'import sys; sys.exit(0);' > bar.py
: > baz

cat > wrapper-script <<'END'
#!/bin/sh
echo "wrapper args: $*"
END
chmod a+x wrapper-script

$ACLOCAL
$AUTOCONF
$AUTOMAKE -a

./configure

st=0
$MAKE check || st=$?
cat foo.log
cat bar.log
cat baz.log
test $st -eq 0 || exit $st

# Check that the wrappers have been run with the expected flags.
grep '[rR]eversed.*+=.*operator.*foo\.pl' foo.log
grep '^# *[cC]lear.*sys\.argv' bar.log
grep '^wrapper args:.* -d .*baz' baz.log

: