blob: ee89f9eda5230e6fabb32eb4043d5d42ebfb91a2 [file] [log] [blame]
#!/bin/bash
# Copyright (c) 2017 The OTS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
test "x$top_srcdir" = x && top_srcdir=.
test "x$top_builddir" = x && top_builddir=.
# Usage: ./test_fuzzed_fonts.sh [ttf_or_otf_file_name]
BASE_DIR=$top_srcdir/tests/fonts
CHECKER=$top_builddir/ots-testfuzz$EXEEXT
if [ ! -x "$CHECKER" ] ; then
echo "$CHECKER is not found."
exit 1
fi
if [ $# -eq 0 ] ; then
# No font file is specified. Apply this script to all TT/OT files under the
# BASE_DIR.
# Recursively call this script.
FAILS=0
FONTS=$(find $BASE_DIR -type f -name '*tf' -o -name '*tc' -o -name '*woff*')
IFS=$'\n'
for f in $FONTS; do
$0 "$f"
FAILS=$((FAILS+$?))
done
if [ $FAILS != 0 ]; then
echo "$FAILS fonts failed."
exit 1
else
echo "All fonts passed"
exit 0
fi
fi
if [ $# -gt 1 ] ; then
echo "Usage: $0 [ttf_or_otf_file_name]"
exit 1
fi
# Check the font file using ots-fuzzer.
$CHECKER "$1"
RET=$?
if [ $RET != 0 ]; then
echo "FAILED: $1"
else
echo "PASSED: $1"
fi
exit $RET