From 2b3638a211cca4790c5b3b4f607edc0b0b2b6c73 Mon Sep 17 00:00:00 2001 From: Daniel Shahaf Date: Sat, 22 Feb 2020 14:37:14 +0000 Subject: [PATCH] test harness: Tweak quiet-test output - Print the test name and data after the plan line - Split on the plan line rather than on comments + That makes tap-filter more suitable to filter TAP output generated by other TAP producers. + However, the filtered output deletes the plan line and adds a blank line in its stead. This suits our use-case of interactive test runs. --- tests/tap-filter | 4 +++- tests/test-highlighting.zsh | 9 +++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/tests/tap-filter b/tests/tap-filter index feb22d2..f9aa604 100755 --- a/tests/tap-filter +++ b/tests/tap-filter @@ -41,5 +41,7 @@ use strict; undef $/; # slurp mode print for grep { /^ok.*# TODO/m or /^not ok(?!.*# TODO)/m or /^Bail out!/m } - split /^(?=#)/m, + # Split on plan lines and remove them from the output. (To keep them, + # use the lookahead syntax, «(?=…)», to make the match zero-length.) + split /^\d+\.\.\d+$/m, ; diff --git a/tests/test-highlighting.zsh b/tests/test-highlighting.zsh index 6583d2d..ab5f2d5 100755 --- a/tests/test-highlighting.zsh +++ b/tests/test-highlighting.zsh @@ -122,10 +122,6 @@ run_test_internal() { local expected_mismatch local -a expected_region_highlight region_highlight - echo "# ${1:t:r}" - [[ -n $PREBUFFER ]] && printf '# %s\n' "$(typeset_p PREBUFFER)" - [[ -n $BUFFER ]] && printf '# %s\n' "$(typeset_p BUFFER)" - . "$srcdir"/"$1" (( $#skip_test )) && { print -r -- "1..0 # SKIP $skip_test"; return; } @@ -146,7 +142,12 @@ run_test_internal() { expected_region_highlight=("${(@n)expected_region_highlight}") fi + # Print the plan line, and some comments for human readers echo "1..$(( $#expected_region_highlight + 1))" + echo "## ${1:t:r}" + [[ -n $PREBUFFER ]] && printf '# %s\n' "$(typeset_p PREBUFFER)" + [[ -n $BUFFER ]] && printf '# %s\n' "$(typeset_p BUFFER)" + local i for ((i=1; i<=$#expected_region_highlight; i++)); do local -a expected_highlight_zone; expected_highlight_zone=( ${(z)expected_region_highlight[i]} )