X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=.gitlab-ci%2Ftracie-runner-gl.sh;h=6eb5baadb26683e0be6adf0ab8fe883d00ca32c0;hb=686cf8eaada1a6a73a7e9ea6ebde1e573cf91966;hp=28331e83cd3479b907c63862f7295494e76a6184;hpb=43873afda4f8faa2b31a2f130fab52fbc24d490f;p=mesa.git diff --git a/.gitlab-ci/tracie-runner-gl.sh b/.gitlab-ci/tracie-runner-gl.sh index 28331e83cd3..6eb5baadb26 100755 --- a/.gitlab-ci/tracie-runner-gl.sh +++ b/.gitlab-ci/tracie-runner-gl.sh @@ -2,10 +2,10 @@ set -ex -ARTIFACTS="$(pwd)/artifacts" +INSTALL="$(pwd)/install" # Set up the driver environment. -export LD_LIBRARY_PATH="$(pwd)/install/lib/" +export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:$(pwd)/install/lib/" # Set environment for renderdoc libraries. export PYTHONPATH="$PYTHONPATH:/renderdoc/build/lib" @@ -15,20 +15,43 @@ export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/renderdoc/build/lib" export LD_LIBRARY_PATH="/waffle/build/lib:$LD_LIBRARY_PATH" # Set environment for apitrace executable. -export PATH=/apitrace/build:$PATH +export PATH="/apitrace/build:$PATH" + +# Set environment for wflinfo executable. +export PATH="/waffle/build/bin:$PATH" # Use the surfaceless EGL platform. -export EGL_PLATFORM=surfaceless +export EGL_PLATFORM="surfaceless" export DISPLAY= -export WAFFLE_PLATFORM=surfaceless_egl +export WAFFLE_PLATFORM="surfaceless_egl" + +# Our rootfs may not have "less", which apitrace uses during apitrace dump +export PAGER=cat + +RESULTS=`pwd`/results +mkdir -p $RESULTS # Perform a self-test to ensure tracie is working properly. -"$ARTIFACTS/tracie/tests/test.sh" +if [ -z "$TRACIE_NO_UNIT_TESTS" ]; then + python3 -m pytest -v --pyargs $INSTALL/tracie/tests/test.py +fi + +if [ "$GALLIUM_DRIVER" = "virpipe" ]; then + # tracie is to use virpipe, and virgl_test_server llvmpipe + export GALLIUM_DRIVER="$GALLIUM_DRIVER" -ret=0 + GALLIUM_DRIVER=llvmpipe \ + GALLIVM_PERF="nopt,no_filter_hacks" \ + VTEST_USE_EGL_SURFACELESS=1 \ + VTEST_USE_GLES=1 \ + virgl_test_server >$RESULTS/vtest-log.txt 2>&1 & -"$ARTIFACTS/tracie/tracie.sh" "$ARTIFACTS/traces.yml" renderdoc || ret=1 + sleep 1 +fi -"$ARTIFACTS/tracie/tracie.sh" "$ARTIFACTS/traces.yml" apitrace || ret=1 +# Sanity check to ensure that our environment is sufficient to make our tests +# run against the Mesa built by CI, rather than any installed distro version. +MESA_VERSION=$(cat "$INSTALL/VERSION" | sed 's/\./\\./g') +wflinfo --platform surfaceless_egl --api gles2 | grep "Mesa $MESA_VERSION\(\s\|$\)" -exit $ret +python3 "$INSTALL/tracie/tracie.py" --file "$INSTALL/traces.yml" --device-name "$DEVICE_NAME"