]> git.draconx.ca Git - rrace.git/blob - testsuite.at
c00be4810a0150ce8fdaaa500e8ff8c50f6fa99c
[rrace.git] / testsuite.at
1 AT_COPYRIGHT([Copyright © 2022-2023 Nick Bowler])
2 #
3 # This program is free software: you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation, either version 3 of the License, or
6 # (at your option) any later version.
7 #
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11 # GNU General Public License for more details.
12 #
13 # You should have received a copy of the GNU General Public License
14 # along with this program.  If not, see <https://www.gnu.org/licenses/>.
15
16 AT_INIT
17 AT_COLOR_TESTS
18
19 m4_divert_push([PREPARE_TESTS])dnl
20 test_run_tap () {
21   program=$1; shift
22
23   "$builddir/t/$program" "$@" > "$program.tap"
24   status=$?
25   cat "$program.tap"
26   :; { echo 'print <<EOF'; cat "$program.tap"; echo 'EOF'; } >"$program.pl"
27   prove "$program.pl" 2>&1
28   return $status
29 }
30 m4_divert_pop([PREPARE_TESTS])
31
32 m4_define([TEST_TAP], [AT_CHECK([test_run_tap $1], [0], [ignore])])
33 m4_define([TEST_TAP_SIMPLE], [dnl
34 AT_SETUP([$1])
35 AT_KEYWORDS([$4])dnl
36 m4_n([$3])dnl
37 TEST_TAP([$2])
38 AT_CLEANUP])
39
40 m4_include([tests/game.at])
41 m4_include([tests/gui.at])