test harness: improve catching of usage errors in script 'test-driver'
[platform/upstream/automake.git] / t / tap-plan.sh
1 #! /bin/sh
2 # Copyright (C) 2011-2013 Free Software Foundation, Inc.
3 #
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 2, or (at your option)
7 # any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
16
17 # TAP support:
18 #  - test scripts with the test plan at the beginning
19 #  - test scripts with the test plan at the end
20
21 . test-init.sh
22
23 . tap-setup.sh
24
25 cat > top.test <<END
26 1..3
27 ok 1
28 ok 2 # SKIP
29 ok 3
30 # a trailing comment
31 END
32
33 cat > bot.test <<END
34 ok 1
35 # a comment
36 ok 2
37 not ok 3 # TODO
38 # another comment
39 ok
40 1..4
41 END
42
43 for tap_flags in "" "--comments"; do
44   run_make -O check \
45     TESTS='top.test bot.test' \
46     TEST_LOG_DRIVER_FLAGS="$tap_flags"
47   count_test_results total=7 pass=5 xfail=1 skip=1 fail=0 xpass=0 error=0
48 done
49
50
51 :