xref: /aosp_15_r20/external/pdfium/testing/tools/make_expected.sh (revision 3ac0a46f773bac49fa9476ec2b1cf3f8da5ec3a4)
1*3ac0a46fSAndroid Build Coastguard Worker#!/bin/bash
2*3ac0a46fSAndroid Build Coastguard Worker#
3*3ac0a46fSAndroid Build Coastguard Worker# Copyright 2015 The PDFium Authors
4*3ac0a46fSAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
5*3ac0a46fSAndroid Build Coastguard Worker# found in the LICENSE file.
6*3ac0a46fSAndroid Build Coastguard Worker#
7*3ac0a46fSAndroid Build Coastguard Worker# Script to generate expected result files.
8*3ac0a46fSAndroid Build Coastguard Worker
9*3ac0a46fSAndroid Build Coastguard Worker# Arbitrary timestamp, expressed in seconds since the epoch, used to make sure
10*3ac0a46fSAndroid Build Coastguard Worker# that tests that depend on the current time are stable. Happens to be the
11*3ac0a46fSAndroid Build Coastguard Worker# timestamp of the first commit to repo, 2014/5/9 17:48:50.
12*3ac0a46fSAndroid Build Coastguard WorkerTEST_SEED_TIME=1399672130
13*3ac0a46fSAndroid Build Coastguard Worker
14*3ac0a46fSAndroid Build Coastguard Worker# Do this before "set -e" so "which" failing is not fatal.
15*3ac0a46fSAndroid Build Coastguard WorkerPNGOPTIMIZER="$(which optipng)"
16*3ac0a46fSAndroid Build Coastguard Worker
17*3ac0a46fSAndroid Build Coastguard Workerset -e
18*3ac0a46fSAndroid Build Coastguard Workerwhile (( "$#" )); do
19*3ac0a46fSAndroid Build Coastguard Worker  INFILE="$1"
20*3ac0a46fSAndroid Build Coastguard Worker  echo $INFILE | grep -qs ' ' && echo space in filename detected && exit 1
21*3ac0a46fSAndroid Build Coastguard Worker  EVTFILE="${INFILE%.*}.evt"
22*3ac0a46fSAndroid Build Coastguard Worker  SEND_EVENTS=
23*3ac0a46fSAndroid Build Coastguard Worker  if [ -f "$EVTFILE" ]; then
24*3ac0a46fSAndroid Build Coastguard Worker    SEND_EVENTS="--send-events"
25*3ac0a46fSAndroid Build Coastguard Worker  fi
26*3ac0a46fSAndroid Build Coastguard Worker  FONT_DIR=`readlink -f third_party/test_fonts`
27*3ac0a46fSAndroid Build Coastguard Worker  out/Debug/pdfium_test $SEND_EVENTS --time=$TEST_SEED_TIME --png \
28*3ac0a46fSAndroid Build Coastguard Worker      --croscore-font-names --font-dir=$FONT_DIR $INFILE
29*3ac0a46fSAndroid Build Coastguard Worker  RESULTS="$INFILE.*.png"
30*3ac0a46fSAndroid Build Coastguard Worker  for RESULT in $RESULTS ; do
31*3ac0a46fSAndroid Build Coastguard Worker    EXPECTED=`echo -n $RESULT | sed 's/[.]pdf[.]/_expected.pdf./'`
32*3ac0a46fSAndroid Build Coastguard Worker    mv $RESULT $EXPECTED
33*3ac0a46fSAndroid Build Coastguard Worker    if [ -n "$PNGOPTIMIZER" ]; then
34*3ac0a46fSAndroid Build Coastguard Worker      "$PNGOPTIMIZER" $EXPECTED
35*3ac0a46fSAndroid Build Coastguard Worker    fi
36*3ac0a46fSAndroid Build Coastguard Worker  done
37*3ac0a46fSAndroid Build Coastguard Worker  shift
38*3ac0a46fSAndroid Build Coastguard Workerdone
39