1 dnl Copyright © 2020-2021 Nick Bowler
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.
7 AT_BANNER([Program tests])
9 m4_define([TEST_SIMPLE_PROGRAM_PROBES],
10 [TEST_SIMPLE_PROGRAM_PROBES_([$1], m4_toupper($1))])
11 m4_define([TEST_SIMPLE_PROGRAM_PROBES_],
12 [AT_SETUP([$1 probes])
13 AT_KEYWORDS([DX_PROG_$2 program])dnl
14 AT_CAPTURE_FILE([config.log])dnl
17 cp -P "$srcdir/t/$1.sh" bin/$1
25 TEST_CONFIGURE_AC([[DX_PROG_$2([], [HAVE_$2=yes], [HAVE_$2=no])
29 set x conftest*; shift
31 AC_MSG_ERROR([$[]1 left behind by [D@@&t@&t@X_PROG_$2]])
34 AC_CONFIG_FILES([test])
38 # Check the search via path lookup
40 PATH=$PWD/bin${PATH:+":$PATH"}
42 # Sanity test on PATH lookup
43 AT_CHECK([test x"`command -v $1`" = x"$PWD/bin/$1" || exit 99 #''])
46 AT_CHECK_UNQUOTED([cat test], [0], [yes
51 # Check the search via user override
52 TEST_CONFIGURE([$2="$srcdir/t/$1.sh"])
53 AT_CHECK_UNQUOTED([cat test], [0], [yes
57 # Check that a bogus program doesn't come back as valid.
58 TEST_CONFIGURE([$2=true])
59 AT_CHECK_UNQUOTED([cat test], [0], [no
64 mv configure.ac configure.old
65 sed ['s/\(DX_PROG_$2(\)\[\]/\1[2.1.3]/'] configure.old >configure.ac
68 TEST_CONFIGURE([FAKE_$2_VERSION=2.0.0 $2="$srcdir/t/$1.sh"])
69 AT_CHECK_UNQUOTED([cat test], [0], [no
73 TEST_CONFIGURE([FAKE_$2_VERSION=3.0.0 $2="$srcdir/t/$1.sh"])
74 AT_CHECK_UNQUOTED([cat test], [0], [yes
78 TEST_CONFIGURE([FAKE_$2_VERSION=2.5.0 $2="$srcdir/t/$1.sh"])
79 AT_CHECK_UNQUOTED([cat test], [0], [yes
83 TEST_CONFIGURE([FAKE_$2_VERSION=2.1.2 $2="$srcdir/t/$1.sh"])
84 AT_CHECK_UNQUOTED([cat test], [0], [no
88 TEST_CONFIGURE([FAKE_$2_VERSION=2.1.3 $2="$srcdir/t/$1.sh"])
89 AT_CHECK_UNQUOTED([cat test], [0], [yes
96 TEST_SIMPLE_PROGRAM_PROBES([gob2])
97 TEST_SIMPLE_PROGRAM_PROBES([flex])
98 TEST_SIMPLE_PROGRAM_PROBES([bison])