]> pd.if.org Git - zpackage/blobdiff - t/tap.sh
have tap.sh require use tryrun
[zpackage] / t / tap.sh
index 0d03831bcf03cbb41d63ba198d8ab1f0a96f61a5..f881b1cdcc1a7d7865c0ad46c315dec8ba3b8cea 100755 (executable)
--- a/t/tap.sh
+++ b/t/tap.sh
@@ -4,37 +4,28 @@ tn=0
 planned=0
 
 tryrun() {
-       note="$@"
        program=$1
        shift
        $program "$@" > test.out 2>&1
-       rv=$?
-       if [ $rv -ne 0 ]; then
+       tap_return_value=$?
+       if [ $tap_return_value -ne 0 ]; then
                printf 'not ';
        fi
        tn=$((tn + 1))
        printf 'ok %d - %s %s\n' $tn $program "$*"
-       if [ $rv -ne 0 ]; then
+       if [ $tap_return_value -ne 0 ]; then
                cat test.out | diagstdin
+               rm test.out
        fi
-       return $rv
+       return $tap_return_value
 }
 
 require() {
-       note="$*"
-       program=$1
-       shift
-       $program "$@" > test.out 2>&1
+       tryrun "$@"
        rv=$?
-       tn=$((tn + 1))
        if [ $rv -ne 0 ]; then
-               printf 'not ok %d - %s %s\n' $tn $program "$*"
-               cat test.out | diagstdin
-               rm test.out
                bailout "exit status $rv";
        fi
-       printf 'ok %d - %s %s\n' $tn $program "$*"
-
 }
 
 bailout() {
@@ -88,6 +79,7 @@ exitwith() {
        tn=$((tn + 1))
        printf 'ok %d - %s\n' $tn "$*"
        shownote
+       return $rv
 }
 
 okstreq() {
@@ -120,6 +112,6 @@ skip() {
        while [ $tap_skipping -gt 0 ]; do
                tn=$((tn + 1))
                tap_skipping=$((tap_skipping - 1))
-               printf 'ok %d - skip %s\n' $tn "$*"
+               printf 'ok %d - skip %s\n' $tn "$*"
        done
 }