]> git.draconx.ca Git - dxcommon.git/blob - tests/programs.at
0228ac3706f2460ead53263b5a438b5c53bdbd5c
[dxcommon.git] / tests / programs.at
1 dnl Copyright © 2020 Nick Bowler
2 dnl
3 dnl License WTFPL2: Do What The Fuck You Want To Public License, version 2.
4 dnl This is free software: you are free to do what the fuck you want to.
5 dnl There is NO WARRANTY, to the extent permitted by law.
6
7 AT_BANNER([Program tests])
8
9 AT_SETUP([gob2 probes])
10
11 mkdir bin
12 cp -P "$srcdir/t/gob2.sh" bin
13
14 AT_DATA([test.in],
15 [[@HAVE_GOB2@
16 @GOB2@
17 ]])
18
19 # Unversioned tests
20 TEST_CONFIGURE_AC([[DX_PROG_GOB2([], [HAVE_GOB2=yes], [HAVE_GOB2=no])
21 AC_SUBST([GOB2])
22 AC_SUBST([HAVE_GOB2])
23
24 set x conftest*; shift
25 if test -f $[]1; then
26   AC_MSG_ERROR([conftest* left behind by [DX_PROG_GOB2]])
27 fi
28
29 AC_CONFIG_FILES([test])
30 ]])
31 TEST_AUTORECONF
32
33 # Check the search via path lookup
34 save_PATH=$PATH
35 PATH=$PWD/bin${PATH:+":$PATH"}
36 TEST_CONFIGURE
37 AT_CHECK_UNQUOTED([cat test], [0], [yes
38 gob2
39 ])
40 PATH=$save_PATH
41
42 # Check the search via user override
43 TEST_CONFIGURE([GOB2="$srcdir/t/gob2.sh"])
44 AT_CHECK_UNQUOTED([cat test], [0], [yes
45 $srcdir/t/gob2.sh
46 ])
47
48 # Check that a bogus program doesn't come back as valid.
49 TEST_CONFIGURE([GOB2=true])
50 AT_CHECK_UNQUOTED([cat test], [0], [no
51 true
52 ])
53
54 # min-version tests
55 mv configure.ac configure.old
56 [sed 's/DX_PROG_GOB2(\[\]/DX_PROG_GOB2([2.1.3]/' configure.old >configure.ac]
57 TEST_AUTORECONF
58
59 FAKE_GOB2_VERSION=2.0.0
60 export FAKE_GOB2_VERSION
61 TEST_CONFIGURE([GOB2="$srcdir/t/gob2.sh"])
62 AT_CHECK_UNQUOTED([cat test], [0], [no
63 $srcdir/t/gob2.sh
64 ])
65
66 FAKE_GOB2_VERSION=3.0.0
67 TEST_CONFIGURE([GOB2="$srcdir/t/gob2.sh"])
68 AT_CHECK_UNQUOTED([cat test], [0], [yes
69 $srcdir/t/gob2.sh
70 ])
71
72 FAKE_GOB2_VERSION=2.5.0
73 TEST_CONFIGURE([GOB2="$srcdir/t/gob2.sh"])
74 AT_CHECK_UNQUOTED([cat test], [0], [yes
75 $srcdir/t/gob2.sh
76 ])
77
78 FAKE_GOB2_VERSION=2.1.2
79 TEST_CONFIGURE([GOB2="$srcdir/t/gob2.sh"])
80 AT_CHECK_UNQUOTED([cat test], [0], [no
81 $srcdir/t/gob2.sh
82 ])
83
84 FAKE_GOB2_VERSION=2.1.3
85 TEST_CONFIGURE([GOB2="$srcdir/t/gob2.sh"])
86 AT_CHECK_UNQUOTED([cat test], [0], [yes
87 $srcdir/t/gob2.sh
88 ])
89
90 AT_CLEANUP