summaryrefslogtreecommitdiff
path: root/t/tap-deps.sh
diff options
context:
space:
mode:
authorMathieu Lirzin <mthl@gnu.org>2017-09-20 00:08:59 +0200
committerMathieu Lirzin <mthl@gnu.org>2017-09-20 00:08:59 +0200
commit7508174f4a6c19eeda89a7e18b8d1398fe85ccf0 (patch)
tree2938ba28267cfc6d6cba0b763f80e4b32ce49b03 /t/tap-deps.sh
parentc2757b974cb4c182333859edb45a01194550bc0e (diff)
parentced195a8556b68eab3dd0887e07a97c6ae4917bf (diff)
downloadautomake-7508174f4a6c19eeda89a7e18b8d1398fe85ccf0.tar.gz
Merge branch 'minor'
Diffstat (limited to 't/tap-deps.sh')
-rw-r--r--t/tap-deps.sh84
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...
+
+: