aboutsummaryrefslogtreecommitdiff
path: root/tests/testsuite.at
blob: 511f5866fa807a9ebb44ff0f315a3b623151e52f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# This file is part of cfpeek
# Copyright (C) 2011, 2012, 2015 Sergey Poznyakoff
#
# Cfpeek 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 3, or (at your option)
# any later version.
#
# Cfpeek 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 cfpeek.  If not, see <http://www.gnu.org/licenses/>.

m4_version_prereq([2.52g])

dnl # Standard exit codes (from sysexits.h)
m4_define([EX_OK],          0)       dnl successful termination
m4_define([EX_NOTFOUND],    1)       dnl some keys not found
m4_define([EX_PARSE],       2)       dnl error parsing input file
m4_define([EX_SCRIPTFAIL],  3)       dnl extension script failed

m4_define([EX__BASE],       64)      dnl base value for error messages 
m4_define([EX_USAGE],       64)      dnl command line usage error 
m4_define([EX_DATAERR],     65)      dnl data format error 
m4_define([EX_NOINPUT],     66)      dnl cannot open input 
m4_define([EX_NOUSER],      67)      dnl addressee unknown 
m4_define([EX_NOHOST],      68)      dnl host name unknown 
m4_define([EX_UNAVAILABLE], 69)      dnl service unavailable 
m4_define([EX_SOFTWARE],    70)      dnl internal software error 
m4_define([EX_OSERR],       71)      dnl system error (e.g., can't fork) 
m4_define([EX_OSFILE],      72)      dnl critical OS file missing 
m4_define([EX_CANTCREAT],   73)      dnl can't create (user) output file 
m4_define([EX_IOERR],       74)      dnl input/output error 
m4_define([EX_TEMPFAIL],    75)      dnl temp failure; user is invited to retry 
m4_define([EX_PROTOCOL],    76)      dnl remote error in protocol 
m4_define([EX_NOPERM],      77)      dnl permission denied 
m4_define([EX_CONFIG],      78)      dnl configuration error 

m4_define([AT_SKIP_TEST],[exit 77])

m4_define([PREREQ_GUILE],
[cfpeek --version|grep Guile >/dev/null || AT_SKIP_TEST])

dnl CFPEEK_TEST([config],[cmd],[status],[stdout],[stderr])
m4_define([CFPEEK_TEST],[
AT_DATA([test.cf],[$1])
m4_pushdef([__cfpeek_command],[m4_if(m4_index([$2],[@]),-1,[$2 ./test.cf],dnl
[m4_bpatsubst([$2],@,[./test.cf])])])
AT_CHECK([__cfpeek_command],[$3],[$4],[$5])
m4_popdef([__cfpeek_command])])

dnl CFPEEK_TEST_GUILE([config],[script],[cmd],[status],[stdout],[stderr])
m4_define([CFPEEK_TEST_GUILE],[
AT_DATA([test.cf],[$1
])
m4_pushdef([__cfpeek_script])
m4_if([$2],,,[
AT_DATA([test.scm],[$2
])
m4_define([__cfpeek_script],[-f test.scm])])
m4_pushdef([__cfpeek_command],[m4_if(m4_index([$3],[@]),-1,[$3 __cfpeek_script ./test.cf],dnl
[m4_bpatsubst([$3],@,[__cfpeek_script ./test.cf])])])
AT_CHECK([PREREQ_GUILE
__cfpeek_command],[$4],[$5],[$6])
m4_popdef([__cfpeek_command])
m4_popdef([__cfpeek_script])])

dnl # Begin tests

AT_INIT
m4_include([version.at])
m4_include([list.at])
m4_include([locus.at])
m4_include([path.at])
m4_include([value.at])
m4_include([literal.at])
m4_include([smatch.at])
m4_include([gmatch.at])
m4_include([lookupfail.at])
m4_include([up.at])
m4_include([parent.at])

m4_include([guile-list.at])
m4_include([guile-list2.at])
m4_include([guile-itr.at])

# End of testsuite.at

Return to:

Send suggestions and report system problems to the System administrator.