From d58c76035b627dee37e3fc3733540bdd5def6a88 Mon Sep 17 00:00:00 2001 From: Daniel Stone Date: Mon, 31 May 2021 21:01:42 +0100 Subject: [PATCH] CI: Fix path confusion in OpenCL Piglit execution When we remove the contents of the results directory, we `cd` into it. The script expects that $PWD is /piglit, and $OLDPWD is the Mesa build directory, however the cd into the results directory will make $OLDPWD be $BUILDDIR/results. This means that Piglit emits into results/results/ which looks weird, but more importantly also fails OpenCL Piglit execution, because we can't find our baseline result expectations. Fix it by using an explicit variable rather than relying on history. Fixes: 683ddf19dc85 ("ci: remove results directory content only with piglit runners") Ref: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/10856 Signed-off-by: Daniel Stone Reviewed-by: Martin Peres Reviewed-by: Andres Gomez Part-of: --- .gitlab-ci/piglit/run_cl.sh | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci/piglit/run_cl.sh b/.gitlab-ci/piglit/run_cl.sh index b32e1e63607..c58c70a76b2 100755 --- a/.gitlab-ci/piglit/run_cl.sh +++ b/.gitlab-ci/piglit/run_cl.sh @@ -4,17 +4,18 @@ set -e set -o xtrace VERSION=`head -1 install/VERSION` +ROOTDIR=`pwd` if [ -d results ]; then cd results && rm -rf ..?* .[!.]* * fi cd /piglit -export OCL_ICD_VENDORS=$OLDPWD/install/etc/OpenCL/vendors/ +export OCL_ICD_VENDORS=$ROOTDIR/install/etc/OpenCL/vendors/ set +e unset DISPLAY -export LD_LIBRARY_PATH=$OLDPWD/install/lib +export LD_LIBRARY_PATH=$ROOTDIR/install/lib clinfo # If the job is parallel at the gitlab job level, will take the corresponding @@ -36,7 +37,7 @@ if [ -n "$USE_CASELIST" ]; then PIGLIT_TESTS="--test-list /tmp/case-list.txt" fi -./piglit run -c -j${FDO_CI_CONCURRENT:-4} $PIGLIT_OPTIONS $PIGLIT_TESTS $PIGLIT_PROFILES $OLDPWD/results +./piglit run -c -j${FDO_CI_CONCURRENT:-4} $PIGLIT_OPTIONS $PIGLIT_TESTS $PIGLIT_PROFILES $ROOTDIR/results retVal=$? if [ $retVal -ne 0 ]; then echo "Found $(cat /tmp/version.txt), expected $VERSION" @@ -45,7 +46,7 @@ set -e PIGLIT_RESULTS=${PIGLIT_RESULTS:-$PIGLIT_PROFILES} mkdir -p .gitlab-ci/piglit -./piglit summary console $OLDPWD/results \ +./piglit summary console $ROOTDIR/results \ | tee ".gitlab-ci/piglit/$PIGLIT_RESULTS.txt.orig" \ | head -n -1 \ | grep -v ": pass" \ @@ -57,17 +58,17 @@ if [ -n "$USE_CASELIST" ]; then # executed, and switch to the version with no summary cat .gitlab-ci/piglit/$PIGLIT_RESULTS.txt.orig | sed '/^summary:/Q' | rev \ | cut -f2- -d: | rev | sed "s/$/:/g" > /tmp/executed.txt - grep -F -f /tmp/executed.txt $OLDPWD/install/$PIGLIT_RESULTS.txt \ + grep -F -f /tmp/executed.txt $ROOTDIR/install/$PIGLIT_RESULTS.txt \ > .gitlab-ci/piglit/$PIGLIT_RESULTS.txt.baseline || true else - cp $OLDPWD/install/$PIGLIT_RESULTS.txt .gitlab-ci/piglit/$PIGLIT_RESULTS.txt.baseline + cp $ROOTDIR/install/$PIGLIT_RESULTS.txt .gitlab-ci/piglit/$PIGLIT_RESULTS.txt.baseline fi if diff -q .gitlab-ci/piglit/$PIGLIT_RESULTS.txt{.baseline,}; then exit 0 fi -./piglit summary html --exclude-details=pass $OLDPWD/results/summary $OLDPWD/results +./piglit summary html --exclude-details=pass $ROOTDIR/results/summary $ROOTDIR/results echo Unexpected change in results: diff -u .gitlab-ci/piglit/$PIGLIT_RESULTS.txt{.baseline,}