commit: 4450c9b322c7b5a3857ed0f7e2ff5027edecca5d
parent 1ead2b566dabc6a1708358b4f4605d9cc017a517
Author: Haelwenn (lanodan) Monnier <contact@hacktivis.me>
Date: Mon, 8 Jul 2024 01:38:59 +0200
test-cmd/tap.sh: Add --input option
Diffstat:
1 file changed, 18 insertions(+), 5 deletions(-)
diff --git a/test-cmd/tap.sh b/test-cmd/tap.sh
@@ -18,6 +18,10 @@ t ()
exp_ret="${i#*=}"
shift
;;
+ --input=*)
+ input="${i#*=}"
+ shift
+ ;;
--)
shift
break
@@ -33,14 +37,23 @@ t ()
esac
done
- count=$((count+1))
- # Append a final slash so sh(1) doesn't trims final newlines
- out="$("${target?}" $2 2>&1;r=$?;echo -n /;exit $r)"
- ret="$?"
+ if [ "${input+set}" = "set" ]; then
+ # Append a final slash so sh(1) doesn't trims final newlines
+ out="$(printf "${input?}" | "${target?}" $2 2>&1;r=$?;echo -n /;exit $r)"
+ ret="$?"
+ else
+ # Append a final slash so sh(1) doesn't trims final newlines
+ out="$("${target?}" $2 2>&1;r=$?;echo -n /;exit $r)"
+ ret="$?"
+ fi
+
out="${out%/}"
+ count=$((count+1))
+
if [ "$ret" != "$exp_ret" ]; then
printf 'not ok %d - %s\n' "$count" "$1"
- echo "$out" | sed -e 's;^;# ;'
+ printf '# Expected exit code %d, got %d\n' "$exp_ret" "$ret"
+ printf "$out" | sed -e 's;^;# ;'
err=1
elif [ "$out" != "$3" ]; then
printf 'not ok %d - %s\n' "$count" "$1"