| #!/bin/bash |
| # |
| # Copyright 2024 The PDFium Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| # |
| # This ia a script to help update reference images for pixel tests and |
| # corpus tests for non-liunx (or non-agg) platforms. It uses results stored |
| # in pdfium-gold so one need not generate these locally for the various |
| # platforms. |
| # |
| # Given a "red bot" result, the first step is to identify the failing |
| # "stdout" test log for the failing test step on that bot (be it pixel |
| # or corpus). |
| # |
| # The next step is to identify the suffix the platform appends to the |
| # expected test results, for example for the win_xfa_skia bot, this |
| # is skia_win. |
| # |
| # The script will then fetch the build log into a file in the current |
| # directory named, e.g. skia_win.log. It leaves this file present after |
| # execution, so that the results can be manually double-checked if desired. |
| # |
| # Lastly, the script fetches each of the image files into the current |
| # directory (A possible improvement is to try and parse out where they |
| # belong). Move them by hand into the target directories. |
| # |
| set -e |
| if [ $# -ne 2 ] ; then |
| echo "Usage: $0 <image_suffix> <log_url>, e.g." |
| echo -n "$0 skia_win " |
| echo -n "https://logs.chromium.org/logs/pdfium/buildbucket/cr-buildbucket/" |
| echo -n "8753735982839766497/+/u/corpus_tests__oneshot_rendering_enabled_/" |
| echo "stdout?format=raw" |
| exit 1 |
| fi |
| |
| # Fetch test results |
| curl -o ./$1.log $2 |
| |
| # Parse log to identify failing tests. |
| TESTS=`grep 'cache[/\\]builder[/\\]' ./$1.log | grep -v Failed | \ |
| grep -ho '[A-Za-z0-9_]*[.]pdf' | sed 's/\(.*\)[.]pdf/\1/'` |
| for TEST in $TESTS ; do |
| IDX=0 |
| while true ; do |
| REV=`grep "^Untriaged.*$TEST.pdf.$IDX" ./$1.log | \ |
| sed 's/^.*digest=\([0-9a-f]*\).*$/\1/'` |
| if [ -z "$REV" ] ; then |
| break |
| fi |
| curl -o ./${TEST}_expected_$1.pdf.$IDX.png \ |
| https://pdfium-gold.skia.org/img/images/$REV.png |
| optipng ./${TEST}_expected_$1.pdf.$IDX.png |
| IDX=$(($IDX + 1)) |
| done |
| done |