summaryrefslogtreecommitdiff
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-linux23
1 files changed, 23 insertions, 0 deletions
diff --git a/libc/ci/test-runner-linux b/libc/ci/test-runner-linux
new file mode 100755
index 0000000..5f1fb23
--- /dev/null
+++ b/libc/ci/test-runner-linux
@@ -0,0 +1,23 @@
+#!/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 '^\['
+
+grep PASSED output > /dev/null