diff options
author | Mathieu Lirzin <mthl@gnu.org> | 2017-09-20 00:08:59 +0200 |
---|---|---|
committer | Mathieu Lirzin <mthl@gnu.org> | 2017-09-20 00:08:59 +0200 |
commit | 7508174f4a6c19eeda89a7e18b8d1398fe85ccf0 (patch) | |
tree | 2938ba28267cfc6d6cba0b763f80e4b32ce49b03 /t/tap-deps.sh | |
parent | c2757b974cb4c182333859edb45a01194550bc0e (diff) | |
parent | ced195a8556b68eab3dd0887e07a97c6ae4917bf (diff) | |
download | automake-7508174f4a6c19eeda89a7e18b8d1398fe85ccf0.tar.gz |
Merge branch 'minor'
Diffstat (limited to 't/tap-deps.sh')
-rw-r--r-- | t/tap-deps.sh | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/t/tap-deps.sh b/t/tap-deps.sh new file mode 100644 index 000000000..173c93433 --- /dev/null +++ b/t/tap-deps.sh @@ -0,0 +1,84 @@ +#! /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 <https://www.gnu.org/licenses/>. + +# Basic TAP test protocol support: +# - dependencies between test scripts + +. test-init.sh + +cat > Makefile.am << 'END' +# The tests are *deliberately* listed in inversed order here. +TESTS = c.test b.test a.test +b.log: a.log +c.log: b.log +END + +. tap-setup.sh + +cat > a.test << 'END' +#!/bin/sh +echo 1..2 +echo ok 1 +# Creative quoting below to please maintainer-check. +sleep '3' +echo ok 2 +: > a.run +END + +cat > b.test << 'END' +#!/bin/sh +echo 1..2 +if test -f a.run; then + echo ok 1 +else + echo not ok 1 +fi +# Creative quoting below to please maintainer-check. +sleep '3' +echo ok 2 +: > b.run +END + +cat > c.test << 'END' +#!/bin/sh +echo 1..1 +test -f b.run || { echo 'Bail out!'; exit 1; } +echo ok 1 +rm -f a.run b.run +END + +chmod a+x *.test + +run_make -O check +count_test_results total=5 pass=5 fail=0 xpass=0 xfail=0 skip=0 error=0 + +cat > exp << 'END' +PASS: a.test 1 +PASS: a.test 2 +PASS: b.test 1 +PASS: b.test 2 +PASS: c.test 1 +END + +grep ': [abc]\.test' stdout > got + +cat exp +cat got +diff exp got + +# TODO: it would be nice to also redo the checks forcing parallel make... + +: |