From: Nick Bowler Date: Sat, 1 Jul 2023 20:53:08 +0000 (-0400) Subject: test-tap: Use m4_require to pull in global definitions. X-Git-Url: https://git.draconx.ca/gitweb/dxcommon.git/commitdiff_plain/77f6e4eadbfbddd069ebc259921f4587856d488a test-tap: Use m4_require to pull in global definitions. We can use the m4_require machinery to pull in the PREPARE_TESTS bits, so they only get included if/when the TEST_TAP macro is actually used. --- diff --git a/snippet/test-tap.at b/snippet/test-tap.at index 7941cb7..cccea49 100644 --- a/snippet/test-tap.at +++ b/snippet/test-tap.at @@ -7,7 +7,7 @@ # 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. -m4_divert_push([PREPARE_TESTS])dnl +m4_defun([_TEST_TAP_PREPARE], [m4_divert_push([PREPARE_TESTS])dnl { echo "% prove --version" prove --version "$program.tap" status=$? @@ -28,14 +28,15 @@ test_run_tap () { prove "$program.pl" 2>&1 return $status } -m4_divert_pop([PREPARE_TESTS]) +m4_divert_pop([PREPARE_TESTS])]) dnl TEST_TAP([application]) dnl dnl Run the given TAP application. The exit status indicates the overall dnl success/failure of the test, while the application's TAP-formatted dnl output is logged with details of individual test results. -m4_define([TEST_TAP], [AT_CHECK([test_run_tap $1], [0], [ignore])]) +m4_defun([TEST_TAP], [m4_require([_TEST_TAP_PREPARE])dnl +AT_CHECK([test_run_tap $1], [0], [ignore])]) dnl TEST_TAP_SIMPLE([name], [application], [setup], [keywords]) dnl