1 dnl Copyright © 2020 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
16 cp -P "$srcdir/t/$1.sh" bin/$1
24 TEST_CONFIGURE_AC([[DX_PROG_$2([], [HAVE_$2=yes], [HAVE_$2=no])
28 set x conftest*; shift
30 AC_MSG_ERROR([$[]1 left behind by [DX_PROG_$2]])
33 AC_CONFIG_FILES([test])
37 # Check the search via path lookup
39 PATH=$PWD/bin${PATH:+":$PATH"}
41 # Sanity test on PATH lookup
42 AT_CHECK([test x"`command -v $1`" = x"$PWD/bin/$1" || exit 99 #''])
45 AT_CHECK_UNQUOTED([cat test], [0], [yes
50 # Check the search via user override
51 TEST_CONFIGURE([$2="$srcdir/t/$1.sh"])
52 AT_CHECK_UNQUOTED([cat test], [0], [yes
56 # Check that a bogus program doesn't come back as valid.
57 TEST_CONFIGURE([$2=true])
58 AT_CHECK_UNQUOTED([cat test], [0], [no
63 mv configure.ac configure.old
64 sed ['s/\(DX_PROG_$2(\)\[\]/\1[2.1.3]/'] configure.old >configure.ac
67 TEST_CONFIGURE([FAKE_$2_VERSION=2.0.0 $2="$srcdir/t/$1.sh"])
68 AT_CHECK_UNQUOTED([cat test], [0], [no
72 TEST_CONFIGURE([FAKE_$2_VERSION=3.0.0 $2="$srcdir/t/$1.sh"])
73 AT_CHECK_UNQUOTED([cat test], [0], [yes
77 TEST_CONFIGURE([FAKE_$2_VERSION=2.5.0 $2="$srcdir/t/$1.sh"])
78 AT_CHECK_UNQUOTED([cat test], [0], [yes
82 TEST_CONFIGURE([FAKE_$2_VERSION=2.1.2 $2="$srcdir/t/$1.sh"])
83 AT_CHECK_UNQUOTED([cat test], [0], [no
87 TEST_CONFIGURE([FAKE_$2_VERSION=2.1.3 $2="$srcdir/t/$1.sh"])
88 AT_CHECK_UNQUOTED([cat test], [0], [yes
95 TEST_SIMPLE_PROGRAM_PROBES([gob2])
96 TEST_SIMPLE_PROGRAM_PROBES([flex])