When running TAP tests, filter out trailing \r from Windows .exe

If we're running Windows executables using Wine, then tap-driver.sh
won't accept "1..4\r\n" as TAP syntax.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92538
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
This commit is contained in:
Simon McVittie 2015-10-19 16:02:36 +01:00 committed by Ralf Habacker
parent 24b6eecc66
commit 24342d5912

View file

@ -10,4 +10,24 @@
set -e
t="$1"
shift
exec "$t" --tap "$@"
case "$t" in
(*.exe)
# We're running a Windows executable, possibly on a Unix
# platform. Avoid having invalid TAP syntax like "ok 3\r\n"
# where "ok 3\n" was intended.
echo 1 > "$t".exit-status.tmp
(
set +e
"$t" --tap "$@"
echo "$?" > "$t".exit-status.tmp
) | sed -e 's/\r$//'
e="$(cat "$t".exit-status.tmp)"
rm "$t".exit-status.tmp
exit "$e"
;;
(*)
exec "$t" --tap "$@"
;;
esac