# Copyright 2017 The PDFium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
#
# List of tests to have image diff tests skipped, one per line.
# There are four space-separated columns per line
# Each column (except column 0) can contain a comma-separated list of values.
#
# Column 0: test file name
# Column 1: platform: *, win, mac, linux
# Column 2: v8 support: *, nov8, v8
# Column 3: xfa support: *, noxfa, xfa
#
# All columns on a line on a line must match, but filenames may be repeated
# on subsequent lines to suppress more cases.  Within each column, any one of
# the comma-separated values must match in order for the colum to "match".
# The filenames and keywords are case-sensitive.
#
# Try to keep the file alphabetized within each category of test.

#
# Corpus tests
#
FRC_3.5_CF_Strf_stmf_DefaultCryptFilter.pdf * * *
FRC_3.5_EncryptMetadata_T.pdf * * *
FRC_3.5_Encrypt_is_damage.pdf * * *
FRC_3.5_Filter_PubSec_SubFilter_s5.pdf * * *
FRC_3.5_Filter_PubSec_Sub_SubFilter_s4.pdf * * *
MouseEvents.pdf * * *
Oneof.pdf * * *
bug_651304.pdf * * *
outline.pdf * * *
