From cd81b1cb33d940e748ba52877267291a8ab27d18 Mon Sep 17 00:00:00 2001 From: Nathan Wagner Date: Sun, 21 Oct 2018 08:10:56 +0000 Subject: [PATCH] improve shell tap functions --- t/tap.sh | 45 +++++++++++++++++++++++++++++++++++++++------ 1 file changed, 39 insertions(+), 6 deletions(-) diff --git a/t/tap.sh b/t/tap.sh index f881b1c..c9fe878 100755 --- a/t/tap.sh +++ b/t/tap.sh @@ -4,20 +4,33 @@ tn=0 planned=0 tryrun() { + if [ "$1" = "-v" ]; then + allout=1 + shift + else + allout=0 + fi + program=$1 shift + $program "$@" > test.out 2>&1 - tap_return_value=$? - if [ $tap_return_value -ne 0 ]; then + tap_rv=$? + tn=$((tn + 1)) + + if [ $tap_rv -ne 0 ]; then printf 'not '; fi - tn=$((tn + 1)) printf 'ok %d - %s %s\n' $tn $program "$*" - if [ $tap_return_value -ne 0 ]; then - cat test.out | diagstdin + + if [ $allout -eq 1 ] || [ $tap_rv -ne 0 ]; then + if test -s test.out; then + cat test.out | diagstdin + fi rm test.out fi - return $tap_return_value + + return $tap_rv } require() { @@ -113,5 +126,25 @@ skip() { tn=$((tn + 1)) tap_skipping=$((tap_skipping - 1)) printf 'ok %d - # skip %s\n' $tn "$*" + #ok '# skip ' "$*" done } + +ok() { + rv=$1 + shift + if [ $rv = 1 ]; then + printf 'not ' + fi + tn=$((tn + 1)) + printf 'ok %d - %s\n' $tn "$*" + return $rv +} + +pass() { + ok 0 "$@" +} + +fail() { + ok 1 "$@" +} -- 2.40.0