diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 3374b1cc4..7ee5f5681 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -246,6 +246,8 @@ fedora meson build: - (cd doc/public && bash "check-doc-syntax.sh") # FIXME: The following line really needs gtk-doc to run first - (cd doc/public && DOC_MODULE=cairo bash "check-doc-coverage.sh") + # Check for duplicate reference images + - ./test/check-refs.sh "$(pwd)/builddir/test/pdiff/perceptualdiff" - ninja -C builddir install artifacts: diff --git a/test/check-refs.sh b/test/check-refs.sh index 81ef81b35..e2e8a1a2a 100755 --- a/test/check-refs.sh +++ b/test/check-refs.sh @@ -9,6 +9,8 @@ if [ ! -e "${pdiff}" ]; then exit 128 fi +exit_code=0 + for file in *.ref.png; do test=$(echo $file | cut -d'.' -f1) target=$(echo $file | cut -d'.' -f2) @@ -48,6 +50,7 @@ for file in *.ref.png; do if [ -e $ref ]; then if cmp --silent "$ref" "$file" ; then printf "redundant: %s and %s are byte-by-byte identical files\n" $file $ref + exit_code=1 else # Run perceptualdiff with minimum threshold pdiff_output=$($pdiff $ref $file -threshold 1) @@ -55,9 +58,12 @@ for file in *.ref.png; do notes=$(echo "${pdiff_output#*: }" | tail -n 1) if [ "$result" = "PASS" ] && [ "$notes" = "Images are binary identical" ]; then printf "redundant: %s and %s are pixel equivalent images\n" $file $ref + exit_code=1 notes="" fi fi fi done + +exit $exit_code