diff --git a/.gitlab-ci/lava.yml.jinja2 b/.gitlab-ci/lava.yml.jinja2 index 57e2ab94ba6..e112a847bc1 100644 --- a/.gitlab-ci/lava.yml.jinja2 +++ b/.gitlab-ci/lava.yml.jinja2 @@ -112,7 +112,23 @@ actions: - export PIGLIT_REPLAY_DEVICE_NAME=gl-{{ gpu_version }} - export PIGLIT_RESULTS={{ gpu_version }}-${PIGLIT_PROFILES} - - export LIBGL_DRIVERS_PATH=`pwd`/install/lib/dri + - export LIBGL_DRIVERS_PATH=/install/lib/dri + + # If we want Xorg to be running for the test, then we start it up before the + # LAVA_TEST_SCRIPT because we need to use xinit to start X (otherwise + # without using -displayfd you can race with Xorg's startup), but xinit will eat + # your client's return code + - "if [ -n $LAVA_START_XORG ]; then + echo 'touch /xorg-started; sleep 100000' > /xorg-script; + env LD_LIBRARY_PATH=/install/lib/ xinit /bin/sh /xorg-script -- /usr/bin/Xorg -noreset -dpms -logfile /Xorg.0.log & + for i in 1 2 3 4 5; do + if [ -e /xorg-started ]; then + break; + fi; + sleep 5; + done; + export DISPLAY=:0; + fi" - "if sh $LAVA_TEST_SCRIPT; then export RESULT=pass;