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; configure will substitute absolute path if
43 # "command" does not work (e.g., heirloom-sh).
45 val=`$TEST_SHELL -c 'command -v $1'`
46 test x"$val" = x"`pwd`/bin/$1" || expected=`pwd`/bin/$1
49 AT_CHECK_UNQUOTED([cat test], [0], [yes
54 # Check the search via user override
55 TEST_CONFIGURE([$2="$srcdir/t/$1.sh"])
56 AT_CHECK_UNQUOTED([cat test], [0], [yes
60 # Check that a bogus program doesn't come back as valid.
61 TEST_CONFIGURE([$2=true])
62 AT_CHECK_UNQUOTED([cat test], [0], [no
67 mv configure.ac configure.old
68 sed ['s/\(DX_PROG_$2(\)\[\]/\1[2.1.3]/'] configure.old >configure.ac
71 TEST_CONFIGURE([FAKE_$2_VERSION=2.0.0 $2="$srcdir/t/$1.sh"])
72 AT_CHECK_UNQUOTED([cat test], [0], [no
76 TEST_CONFIGURE([FAKE_$2_VERSION=3.0.0 $2="$srcdir/t/$1.sh"])
77 AT_CHECK_UNQUOTED([cat test], [0], [yes
81 TEST_CONFIGURE([FAKE_$2_VERSION=2.5.0 $2="$srcdir/t/$1.sh"])
82 AT_CHECK_UNQUOTED([cat test], [0], [yes
86 TEST_CONFIGURE([FAKE_$2_VERSION=2.1.2 $2="$srcdir/t/$1.sh"])
87 AT_CHECK_UNQUOTED([cat test], [0], [no
91 TEST_CONFIGURE([FAKE_$2_VERSION=2.1.3 $2="$srcdir/t/$1.sh"])
92 AT_CHECK_UNQUOTED([cat test], [0], [yes
99 TEST_SIMPLE_PROGRAM_PROBES([gob2])
100 TEST_SIMPLE_PROGRAM_PROBES([flex])
101 TEST_SIMPLE_PROGRAM_PROBES([bison])