From 129136b51e9ec234d2d16ae480d7e9bd9284cbe1 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Wed, 13 Apr 2022 02:58:02 -0400 Subject: [PATCH] Integrate multifile test into TAP sequence. --- tests/Makefile | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/tests/Makefile b/tests/Makefile index 498dbb8..4bf20e5 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -101,7 +101,7 @@ regress: @(echo "inven" | advent isofoo.log /dev/stdin | diff --text -u multifile.chk -) || exit 1 rm -f scratch.tmp /tmp/regress$$$$ -# Steps towards TAP. savecheck and the isofoo test are not yet integrated. +# Steps towards TAP. savecheck is not yet integrated. # The TAP filter. Only affects presentation of the test suite messages TAPCONSUMER=tapview @@ -111,17 +111,19 @@ TAPCONSUMER=tapview # the logfiles to carry the raw TAP messages. TAPFILTER=$(shell command -v $(TAPCONSUMER) || echo cat) -# Parallel make doesn't return a fail status when a single subprocess fails, -# so we need to log the failures and check the log for nonemptiness in order -# to hand a real status back. This is important for CI/CD. FAILLOG=/tmp/advent-test.log -TEST_TARGETS=$(TESTLOADS:%=run-regress-%) -$(TEST_TARGETS): run-regress-%: %.log +RUN_TARGETS=$(TESTLOADS:%=run-regress-%) +$(RUN_TARGETS): run-regress-%: %.log @(test=$(<:.log=); legend=$$(sed -n '/^## /s///p' <"$<" 2>/dev/null || echo "(no description)"); \ OPTS=`sed -n /#options:/s///p $<`; \ $(advent) $$OPTS <$< | tapdiffer "$<: $${legend}" "$${test}.chk") >>$(FAILLOG) +multifile-regress: + @(echo "inven" | advent isofoo.log /dev/stdin) | tapdiffer "multifile: multiple-file test" multifile.chk >>$(FAILLOG) + +TEST_TARGETS = $(RUN_TARGETS) multifile-regress + tap: count $(TEST_TARGETS) count: @echo 1..$(words $(TEST_TARGETS)) >$(FAILLOG) -- 2.31.1