2021-02-04 14:14:26 +00:00
|
|
|
#!/bin/sh
|
|
|
|
|
2021-12-02 13:13:10 +00:00
|
|
|
set -ex
|
2021-02-04 14:14:26 +00:00
|
|
|
|
2021-09-08 06:52:58 +01:00
|
|
|
# This script can be called concurrently, pass arguments and env in a per-instance tmp dir
|
|
|
|
export DEQP_TEMP_DIR=`mktemp -d /tmp.XXXXXXXXXX`
|
2021-02-04 14:14:26 +00:00
|
|
|
|
2021-09-08 06:52:58 +01:00
|
|
|
# The dEQP binary needs to run from the directory it's in
|
|
|
|
if [ -z "${1##*"deqp"*}" ]; then
|
|
|
|
PWD=`dirname $1`
|
|
|
|
fi
|
2021-02-04 14:14:26 +00:00
|
|
|
|
2021-09-08 06:52:58 +01:00
|
|
|
export -p > $DEQP_TEMP_DIR/crosvm-env.sh
|
2021-02-04 14:14:26 +00:00
|
|
|
|
2022-01-04 16:56:46 +00:00
|
|
|
CROSVM_KERNEL_ARGS="quiet console=null root=my_root rw rootfstype=virtiofs init=$CI_PROJECT_DIR/install/crosvm-init.sh ip=192.168.30.2::192.168.30.1:255.255.255.0:crosvm:eth0 -- $DEQP_TEMP_DIR"
|
2021-02-04 14:14:26 +00:00
|
|
|
|
2021-09-08 06:52:58 +01:00
|
|
|
echo $@ > $DEQP_TEMP_DIR/crosvm-script.sh
|
2021-02-04 14:14:26 +00:00
|
|
|
|
|
|
|
unset DISPLAY
|
|
|
|
unset XDG_RUNTIME_DIR
|
|
|
|
|
2021-10-29 10:00:32 +01:00
|
|
|
/usr/sbin/iptables-legacy -w -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
2021-02-04 14:14:26 +00:00
|
|
|
echo 1 > /proc/sys/net/ipv4/ip_forward
|
|
|
|
|
2021-09-08 06:52:58 +01:00
|
|
|
# Send output from guest to host
|
|
|
|
touch $DEQP_TEMP_DIR/stderr $DEQP_TEMP_DIR/stdout
|
|
|
|
tail -f $DEQP_TEMP_DIR/stderr > /dev/stderr &
|
|
|
|
ERR_TAIL_PID=$!
|
|
|
|
tail -f $DEQP_TEMP_DIR/stdout > /dev/stdout &
|
|
|
|
OUT_TAIL_PID=$!
|
|
|
|
|
|
|
|
trap "exit \$exit_code" INT TERM
|
2022-01-04 16:56:46 +00:00
|
|
|
trap "exit_code=\$?; kill $ERR_TAIL_PID $OUT_TAIL_PID; rm -rf $DEQP_TEMP_DIR" EXIT
|
2021-08-06 11:05:45 +01:00
|
|
|
|
2021-09-08 06:52:58 +01:00
|
|
|
# We aren't testing LLVMPipe here, so we don't need to validate NIR on the host
|
2022-01-04 16:56:46 +00:00
|
|
|
NIR_DEBUG="novalidate" LIBGL_ALWAYS_SOFTWARE="true" GALLIUM_DRIVER="$CROSVM_GALLIUM_DRIVER" crosvm run \
|
2021-06-03 15:32:54 +01:00
|
|
|
--gpu "$CROSVM_GPU_ARGS" \
|
2021-02-04 14:14:26 +00:00
|
|
|
-m 4096 \
|
2021-09-08 06:52:58 +01:00
|
|
|
-c 2 \
|
2021-02-04 14:14:26 +00:00
|
|
|
--disable-sandbox \
|
|
|
|
--shared-dir /:my_root:type=fs:writeback=true:timeout=60:cache=always \
|
|
|
|
--host_ip=192.168.30.1 --netmask=255.255.255.0 --mac "AA:BB:CC:00:00:12" \
|
|
|
|
-p "$CROSVM_KERNEL_ARGS" \
|
2022-01-04 16:56:46 +00:00
|
|
|
/lava-files/bzImage > $DEQP_TEMP_DIR/crosvm 2>&1
|
|
|
|
|
|
|
|
RET=$(cat $DEQP_TEMP_DIR/exit_code || true)
|
|
|
|
|
|
|
|
# Got no exit code from the script, show crosvm output to help with debugging
|
|
|
|
[ -n "$RET" ] || cat $DEQP_TEMP_DIR/crosvm || true
|
2021-02-04 14:14:26 +00:00
|
|
|
|
2022-01-04 10:39:14 +00:00
|
|
|
exit ${RET:-1}
|