83 lines
1.7 KiB
Bash
83 lines
1.7 KiB
Bash
#! /bin/sh
|
|
# Copyright (C) 2011-2017 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 <http://www.gnu.org/licenses/>.
|
|
|
|
# Check that we can use indirections when overriding TESTS and
|
|
# TEST_LOGS from the command line.
|
|
|
|
. test-init.sh
|
|
|
|
cat >> configure.ac << 'END'
|
|
AC_OUTPUT
|
|
END
|
|
|
|
cat > Makefile.am << 'END'
|
|
TEST_EXTENSIONS = .test .t
|
|
TEST_LOG_COMPILER = cat
|
|
T_LOG_COMPILER = cat
|
|
TESTS = bad.test
|
|
var1 = b.test $(var2)
|
|
var2 = c.test
|
|
var3 = d.d
|
|
var4 = e
|
|
END
|
|
|
|
$ACLOCAL
|
|
$AUTOCONF
|
|
$AUTOMAKE -a
|
|
|
|
./configure
|
|
rm -f config.log # Do not create false positives below.
|
|
|
|
cat > exp-log <<'END'
|
|
a.log
|
|
b.log
|
|
c.log
|
|
d.log
|
|
e.log
|
|
test-suite.log
|
|
END
|
|
|
|
cat > exp-out <<'END'
|
|
PASS: a.t
|
|
PASS: b.test
|
|
PASS: c.test
|
|
PASS: d.t
|
|
PASS: e.test
|
|
END
|
|
|
|
do_check ()
|
|
{
|
|
run_make -O -- "$@" check
|
|
grep '^PASS:' stdout | LC_ALL=C sort > got-out
|
|
cat got-out
|
|
ls . | grep '\.log$' | LC_ALL=C sort > got-log
|
|
cat got-log
|
|
st=0
|
|
diff exp-out got-out || st=1
|
|
diff exp-log got-log || st=1
|
|
return $st
|
|
}
|
|
|
|
tests='a.t $(var1) $(var3:.d=.t) $(var4:=.test)'
|
|
test_logs='a.log $(var1:.test=.log) $(var3:.d=.log) $(var4:=.log)'
|
|
|
|
touch a.t b.test c.test d.t e.test
|
|
|
|
do_check TESTS="$tests"
|
|
do_check TEST_LOGS="$test_logs"
|
|
|
|
:
|