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