47 lines
1.5 KiB
Bash
Executable File
47 lines
1.5 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -ex
|
|
|
|
# This script can be called concurrently, pass arguments and env in a per-instance tmp dir
|
|
export DEQP_TEMP_DIR=`mktemp -d /tmp.XXXXXXXXXX`
|
|
|
|
# The dEQP binary needs to run from the directory it's in
|
|
if [ -z "${1##*"deqp"*}" ]; then
|
|
PWD=`dirname $1`
|
|
fi
|
|
|
|
export -p > $DEQP_TEMP_DIR/crosvm-env.sh
|
|
|
|
CROSVM_KERNEL_ARGS="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"
|
|
|
|
echo $@ > $DEQP_TEMP_DIR/crosvm-script.sh
|
|
|
|
unset DISPLAY
|
|
unset XDG_RUNTIME_DIR
|
|
|
|
/usr/sbin/iptables-legacy -w -t nat -A POSTROUTING -o eth0 -j MASQUERADE
|
|
echo 1 > /proc/sys/net/ipv4/ip_forward
|
|
|
|
# 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
|
|
trap "exit_code=\$?; kill $ERR_TAIL_PID $OUT_TAIL_PID" EXIT
|
|
|
|
# We aren't testing LLVMPipe here, so we don't need to validate NIR on the host
|
|
NIR_DEBUG="novalidate" LIBGL_ALWAYS_SOFTWARE="true" GALLIUM_DRIVER="$CROSVM_GALLIUM_DRIVER" stdbuf -oL crosvm run \
|
|
--gpu "$CROSVM_GPU_ARGS" \
|
|
-m 4096 \
|
|
-c 2 \
|
|
--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" \
|
|
/lava-files/bzImage >> $DEQP_TEMP_DIR/stderr > /dev/null
|
|
|
|
exit `cat $DEQP_TEMP_DIR/exit_code`
|