aboutsummaryrefslogtreecommitdiff
path: root/libc/ci/test-runner-linux
diff options
context:
space:
mode:
Diffstat (limited to 'libc/ci/test-runner-linux')
-rwxr-xr-xlibc/ci/test-runner-linux15
1 files changed, 13 insertions, 2 deletions
diff --git a/libc/ci/test-runner-linux b/libc/ci/test-runner-linux
index 5f1fb23..569fa00 100755
--- a/libc/ci/test-runner-linux
+++ b/libc/ci/test-runner-linux
@@ -5,7 +5,18 @@ set -e
arch=$1
prog=$2
+# Skip cmsg test on linux-s390x
+# https://github.com/rust-lang/libc/issues/1240
+if [ "$arch" = "s390x" ]; then
+ progbasename=`basename $prog`
+ if [ "${progbasename%%-*}" = "cmsg" ]; then
+ exit 0
+ fi
+fi
+
cd /qemu/init
+echo "#!/bin/sh\n/prog --color=never" > run_prog.sh
+chmod +x run_prog.sh
cp -f $2 prog
find . | cpio --create --format='newc' --quiet | gzip > ../initrd.gz
cd ..
@@ -15,9 +26,9 @@ timeout 30s qemu-system-$arch \
-nographic \
-kernel kernel \
-initrd initrd.gz \
- -append init=/prog > output || true
+ -append init=/run_prog.sh > output || true
# remove kernel messages
tr -d '\r' < output | egrep -v '^\['
-grep PASSED output > /dev/null
+egrep "(PASSED)|(test result: ok)" output > /dev/null