summaryrefslogtreecommitdiffstats
path: root/third_party/rust/packed_simd/ci/test-runner-linux
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/rust/packed_simd/ci/test-runner-linux')
-rwxr-xr-xthird_party/rust/packed_simd/ci/test-runner-linux24
1 files changed, 24 insertions, 0 deletions
diff --git a/third_party/rust/packed_simd/ci/test-runner-linux b/third_party/rust/packed_simd/ci/test-runner-linux
new file mode 100755
index 0000000000..0654f63bfd
--- /dev/null
+++ b/third_party/rust/packed_simd/ci/test-runner-linux
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+set -e
+
+arch=$1
+prog=$2
+
+cd /qemu/init
+cp -f $2 prog
+find . | cpio --create --format='newc' --quiet | gzip > ../initrd.gz
+cd ..
+
+timeout 30s qemu-system-$arch \
+ -m 1024 \
+ -nographic \
+ -kernel kernel \
+ -initrd initrd.gz \
+ -append init=/prog > output || true
+
+# remove kernel messages
+tr -d '\r' < output | egrep -v '^\['
+
+# if the output contains a failure, return error
+! grep FAILED output > /dev/null