xref: /rust-libc-0.2.174/ci/test-runner-linux (revision 38cf5b15)
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