197a81d79SSébastien Santoro#!/bin/sh 2cd2e87d5SMarco A L Barbosa 3cd2e87d5SMarco A L Barbosaset -e 4cd2e87d5SMarco A L Barbosa 5cd2e87d5SMarco A L Barbosaarch=$1 6cd2e87d5SMarco A L Barbosaprog=$2 7cd2e87d5SMarco A L Barbosa 8*38cf5b15SAlan Somers# Skip cmsg test on linux-s390x 9*38cf5b15SAlan Somers# https://github.com/rust-lang/libc/issues/1240 10*38cf5b15SAlan Somersif [ "$arch" = "s390x" ]; then 11*38cf5b15SAlan Somers progbasename=`basename $prog` 12*38cf5b15SAlan Somers if [ "${progbasename%%-*}" = "cmsg" ]; then 13*38cf5b15SAlan Somers exit 0 14*38cf5b15SAlan Somers fi 15*38cf5b15SAlan Somersfi 16*38cf5b15SAlan Somers 17cd2e87d5SMarco A L Barbosacd /qemu/init 18*38cf5b15SAlan Somersecho "#!/bin/sh\n/prog --color=never" > run_prog.sh 19*38cf5b15SAlan Somerschmod +x run_prog.sh 20cd2e87d5SMarco A L Barbosacp -f $2 prog 21cd2e87d5SMarco A L Barbosafind . | cpio --create --format='newc' --quiet | gzip > ../initrd.gz 22cd2e87d5SMarco A L Barbosacd .. 23cd2e87d5SMarco A L Barbosa 24cd2e87d5SMarco A L Barbosatimeout 30s qemu-system-$arch \ 25cd2e87d5SMarco A L Barbosa -m 1024 \ 26cd2e87d5SMarco A L Barbosa -nographic \ 27cd2e87d5SMarco A L Barbosa -kernel kernel \ 28cd2e87d5SMarco A L Barbosa -initrd initrd.gz \ 29*38cf5b15SAlan Somers -append init=/run_prog.sh > output || true 30cd2e87d5SMarco A L Barbosa 31cd2e87d5SMarco A L Barbosa# remove kernel messages 32cd2e87d5SMarco A L Barbosatr -d '\r' < output | egrep -v '^\[' 33cd2e87d5SMarco A L Barbosa 34*38cf5b15SAlan Somersegrep "(PASSED)|(test result: ok)" output > /dev/null 35