]> git.draconx.ca Git - dxcommon.git/blobdiff - testsuite.at
Add helper to work around Solaris /bin/sh bug in Autotest.
[dxcommon.git] / testsuite.at
index f25bb337be6c62f18ab447c069ffa0fe47e41635..2076d70e637550118d19c5620f334cd70e87fe0c 100644 (file)
@@ -1,5 +1,5 @@
 AT_COPYRIGHT([dnl
-Copyright © 2015,2019-2021 Nick Bowler
+Copyright © 2015,2019-2023 Nick Bowler
 License WTFPL2: Do What The Fuck You Want To Public License, version 2.
 This is free software: you are free to do what the fuck you want to.
 There is NO WARRANTY, to the extent permitted by law.])
@@ -7,7 +7,7 @@ There is NO WARRANTY, to the extent permitted by law.])
 AT_INIT
 AT_COLOR_TESTS
 
-AT_TESTED([prove])
+m4_include([snippet/test-tap.at])
 
 m4_divert_push([PREPARE_TESTS])dnl
 # Reduce influence from the toplevel "make" invocation on test cases.
@@ -19,12 +19,23 @@ m4_divert_pop([PREPARE_TESTS])
 m4_define([TEST_CONFIGURE_AC], [AT_KEYWORDS([autoconf m4])dnl
 AT_DATA([configure.ac],
 [[AC_INIT([test], [0])
+
+# Install t/bork into the path, which contains a non-functional
+# dummy "awk" command to catch direct "awk" usage (as opposed to
+# using AC_PROG_AWK and $AWK).  Then work around direct awk usage
+# in LT_INIT to avoid the dummy.
+test_orig_PATH=$PATH
+PATH=$at_srcdir/t/bork:$PATH
+m4@&t@_ifdef([LT_INIT], [m4@&t@_define([LT_INIT],
+[m4@&t@_pushdef([awk], [$AWK])]m4@&t@_defn([LT_INIT])[m4@&t@_popdef([awk])])])
+
 ]$1[
 AC_OUTPUT
 ]])
 cp "$srcdir/install-sh" \
    "$srcdir/depcomp" \
    "$srcdir/missing" \
+   "$srcdir/compile" \
    "$srcdir/config.sub" \
    .
 # Simplified config.guess script avoids some spurious testcase failures
@@ -43,8 +54,9 @@ AT_CHECK([autoreconf -I "$srcdir/m4"], [0], [], [stderr])])
 
 m4_define([TEST_CONFIGURE], [AT_KEYWORDS([configure])dnl
 AT_CHECK([export CC
-CONFIG_SHELL=$TEST_SHELL $TEST_SHELL ./configure CONFIG_SHELL=$TEST_SHELL $1],
-[0], [ignore])])
+CONFIG_SHELL=$TEST_SHELL $TEST_SHELL m4_default([$2],
+[./configure]) --quiet CONFIG_SHELL="$TEST_SHELL" \
+  at_srcdir="$srcdir" AWK="$AWK" $1])])
 
 m4_include([tests/macros.at])
 m4_include([tests/snippets.at])