Moving the test_run_tap() function definition into a macro failed to
properly quote $@ so it isn't eaten by m4. So instead of calling
the test program with "$@" as the argument, it is changed to "".
Fix that up, and add a very simple test case to check this behaviour.
-# Copyright © 2015, 2022-2023 Nick Bowler
+# Copyright © 2015, 2022-2024 Nick Bowler
#
# Helper macros for executing the TAP-like applications in an autotest
# test suite.
test_run_tap () {
program=$[1]; shift
- "$builddir/t/$program" "$@" >"$program.tap"
+ "$builddir/t/$program" "$[@]" >"$program.tap"
status=$?
cat "$program.tap"
# Older versions of prove do not support the -e option so the
--- /dev/null
+#!/bin/sh
+#
+# Copyright © 2024 Nick Bowler
+#
+# Fake TAP test program for testing the autotest snippets.
+#
+# 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.
+
+total=$1; shift
+pass=0
+seq=0
+
+echo "1..$total"
+for arg
+do
+ seq=`expr 1 + $seq`
+ if eval "$arg" >/dev/null 2>&1; then
+ echo "ok $seq"
+ pass=`expr 1 + $pass`
+ else
+ echo "not ok $seq"
+ fi
+done
+
+test $pass -eq $total
-dnl Copyright © 2021-2023 Nick Bowler
+dnl Copyright © 2021-2024 Nick Bowler
dnl
dnl License WTFPL2: Do What The Fuck You Want To Public License, version 2.
dnl This is free software: you are free to do what the fuck you want to.
]])
AT_CLEANUP
+
+TEST_TAP_SIMPLE([test-tap.at sanity], [tapcheck.sh 4 : : : :], [], [autotest])