xref: /rust-libc-0.2.174/ci/test-runner-linux (revision 9df115b6)
1#!/bin/sh
2
3set -e
4
5arch=$1
6prog=$2
7
8# Skip cmsg test on linux-s390x
9# https://github.com/rust-lang/libc/issues/1240
10if [ "$arch" = "s390x" ]; then
11	progbasename=`basename $prog`
12	if [ "${progbasename%%-*}" = "cmsg" ]; then
13		exit 0
14	fi
15fi
16
17cd /qemu/init
18echo "#!/bin/sh\n/prog --color=never" > run_prog.sh
19chmod +x run_prog.sh
20cp -f $2 prog
21find . | cpio --create --format='newc' --quiet | gzip > ../initrd.gz
22cd ..
23
24timeout 30s qemu-system-$arch \
25  -m 1024 \
26  -nographic \
27  -kernel kernel \
28  -initrd initrd.gz \
29  -append init=/run_prog.sh > output || true
30
31# remove kernel messages
32tr -d '\r' < output | egrep -v '^\['
33
34egrep "(PASSED)|(test result: ok)" output > /dev/null
35