# Copyright 2016 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 be 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.

#
# Pixel tests
#
font_size.in mac * *

#
# Corpus tests
#
050_extra_m.pdf * * xfa
050_extra_m.pdf mac,win * noxfa
12.pdf mac * *
1_10_watermark.pdf * * *
1_1_textbox.pdf * * *
1_2_typewriter.pdf * * *
1_3_callout.pdf * * *
1_matrix.pdf mac * *
1m_diff_lsjdf.pdf mac * *
1m_same_xxxx.pdf mac * *
2_11_stamp3.pdf mac * *
2_6_textbox.pdf * * *
2_color_calrgb.pdf mac * *
2_color_indexed.pdf mac * *
3_4_textbox.pdf * * *
3_interpolate_image.pdf mac * *
3bigpreview.pdf * * xfa
3bigpreview.pdf mac,win * noxfa
4_35.pdf mac * *
4_39.pdf mac * *
5.1.pdf mac * *
5.2.pdf * * *
5.5_simple_font.pdf mac,win * *
8.2_name_dest_f_dest.pdf mac * *
8.2_outline.pdf mac * *
8.3_presentation.pdf mac * *
FRC_10_8.2.2_Prev_remove_all.pdf mac * *
FRC_10_8.2.2__T8.3_original_file.pdf * * *
FRC_10_8.2.4_View_C.pdf mac * *
FRC_10_8.2.4__remove_ModDate_value.pdf mac * *
FRC_11_8.2.2_Prev_remove_obj.pdf mac * *
FRC_11_8.2.2__T8.3_first_last_exchange.pdf * * *
FRC_11_8.2.4_View_edit.pdf mac * *
FRC_11_8.2.4__remove_ModDate_all.pdf mac * *
FRC_12_8.2.2__Next_remove_value.pdf mac * *
FRC_12_8.2.2__T8.3_first_outline_obj_ID.pdf * * *
FRC_12_8.2.4_View_remove_all.pdf mac * *
FRC_12_8.2.4__remove_ModDate_obj_.pdf mac * *
FRC_13_8.2.2__Next_remove_all.pdf mac * *
FRC_13_8.2.2__T8.3_Count_edit300.pdf * * *
FRC_13_8.2.4_View_remove_value.pdf mac * *
FRC_13_8.2.4_remove_Size_value.pdf mac * *
FRC_14_8.2.2__Next_remove_obj.pdf mac * *
FRC_14_8.2.2__T8.3_Count_edit0.pdf * * *
FRC_14_8.2.4_Sort_remove_all.pdf mac * *
FRC_14_8.2.4_remove_Size_all.pdf mac * *
FRC_15_8.2.2__Next_exchange.pdf mac * *
FRC_15_8.2.2__T8.3_Count_edit1.pdf * * *
FRC_15_8.2.4_Sort_remove_value.pdf mac * *
FRC_15_8.2.4_remove_Size_obj.pdf mac * *
FRC_16_8.2.2__Next_add.pdf mac * *
FRC_16_8.2.2__T8.3_Count_edit_1.pdf * * *
FRC_16_8.2.4__remove_CompressedSize__value.pdf mac * *
FRC_17_8.2.2__T8.4_First_remove_value.pdf mac * *
FRC_17_8.2.4__remove_CompressedSize__all.pdf mac * *
FRC_18_8.2.2__T8.4_First_remove_all.pdf mac * *
FRC_18_8.2.4__remove_CompressedSize__obj.pdf mac * *
FRC_19_8.2.2__T8.4_First_remove_obj.pdf mac * *
FRC_19_8.2.4__remove_CreationDate_value.pdf mac * *
FRC_1_8.2.2__T8.3_First_empty.pdf * * *
FRC_1_8.2.2__Title_edit.pdf mac * *
FRC_1_8.2.4_Type_8.6_.pdf mac * *
FRC_1_8.2.4__original.pdf mac * *
FRC_20_8.2.2__T8.4_First_remove_value2.pdf mac * *
FRC_20_8.2.4__remove_CreationDate_all.pdf mac * *
FRC_21_8.2.2__T8.4_First_remove_all2.pdf mac * *
FRC_21_8.2.4__remove_CreationDate_obj.pdf mac * *
FRC_22_8.2.2__T8.4_First_remove_obj2.pdf mac * *
FRC_22_8.2.4__remove_Order_value.pdf mac * *
FRC_23_8.2.2__T8.4_Last_remove_value.pdf mac * *
FRC_23_8.2.4__remove_Order_all.pdf mac * *
FRC_24_8.2.2__T8.4_Last_remove_all.pdf mac * *
FRC_24_8.2.4__remove_Order_obj.pdf mac * *
FRC_25_8.2.2__T8.4_Last_remove_obj.pdf mac * *
FRC_26_8.2.2__T8.4_Last_remove_value2.pdf mac * *
FRC_27_8.2.2__T8.4_Last_remove_all2.pdf mac * *
FRC_28_8.2.2__T8.4_Last_remove_obj2.pdf mac * *
FRC_29_8.2.2__T8.4_First_Last_exchange.pdf mac * *
FRC_2_8.2.2__T8.3_Last_empty.pdf * * *
FRC_2_8.2.2__Title_remove_value.pdf mac * *
FRC_2_8.2.4_Type_8.6__remove_value.pdf mac * *
FRC_2_8.2.4__add_type_.pdf mac * *
FRC_3.5_AuthEvent_EFOpen.pdf mac * *
FRC_3.5_CFM_AESV2__EncryptMetadata_F.pdf mac * *
FRC_3.5_CF_EFF_StdCF_Strf_Stmf_Identity.pdf mac * *
FRC_3.5_CF_Strf_stmf_StdCF.pdf mac * *
FRC_3.5_EncryptMetadata_None.pdf mac * *
FRC_3.5_P_4_Password_1.pdf mac * *
FRC_3.5_P__1852_Password_1.pdf mac * *
FRC_3.5_P__2584_Password_1.pdf mac * *
FRC_3.5_P__2616_Password_1.pdf mac * *
FRC_3.5_P__2880_Password_1.pdf mac * *
FRC_3.5_P__3376_Password_1.pdf mac * *
FRC_3.5_P__3392_Password_1.pdf mac * *
FRC_3.5_P__3608_Password_1.pdf mac * *
FRC_3.5_P__3616_Password_1.pdf mac,win * *
FRC_3.5_P__3648_Password_1.pdf mac * *
FRC_3.5_P__3900_Password_1.pdf mac * *
FRC_3.5_V_4_CFM_V2_.pdf mac * *
FRC_3.5_V_5_CFM_AESV3.pdf mac * *
FRC_3.5_v_1_length_40_Filter_standard.pdf mac * *
FRC_3.5_v_2_length_128_AuthEvent_DocOpen_.pdf mac * *
FRC_31_8.2.2_add_dest_entry.pdf mac * *
FRC_32_8.2.2_A_Support_action.pdf mac * *
FRC_33_8.2.2_A_empty.pdf mac * *
FRC_34_8.2.2_A_remove.pdf mac * *
FRC_35_8.2.2_A_remove_A_item.pdf mac * *
FRC_36_8.2.2_Dest.pdf mac * *
FRC_37_8.2.2_Dest_empty.pdf mac * *
FRC_38_8.2.2_Dest_remove.pdf mac * *
FRC_39_8.2.2_C_edit.pdf mac * *
FRC_3_8.2.2_Type_empty.pdf * * *
FRC_3_8.2.2__Title_remove_all.pdf mac * *
FRC_3_8.2.4_Type_8.6__edit_.pdf mac * *
FRC_3_8.2.4__add_type_value.pdf mac * *
FRC_4.5.3_DeviceCMYK_k.pdf mac * *
FRC_4.5.3_DeviceGray_g.pdf mac * *
FRC_4.5.3_DeviceRGB_rg.pdf mac * *
FRC_4.5.4_CalGray_gamma.pdf mac * *
FRC_4.5.4_CalGray_whitepoint.pdf mac * *
FRC_4.5.4_CalRGB_gamma.pdf mac * *
FRC_4.5.4_CalRGB_matrix.pdf mac * *
FRC_4.5.4_CalRGB_whitepoint.pdf mac * *
FRC_4.5.4_ICCBased.pdf mac * *
FRC_4.5.4_Lab.pdf mac * *
FRC_4.5.4_RI_Absolute.pdf mac * *
FRC_4.5.4_RI_Perceptual.pdf mac * *
FRC_4.5.4_RI_Relative.pdf mac * *
FRC_4.5.4_RI_Saturation.pdf mac * *
FRC_4.5.4_Separation.pdf mac * *
FRC_4.5.5_DeviceN.pdf mac * *
FRC_4.5.5_Indexed.pdf mac * *
FRC_4.5.5_Pattern_tiling.pdf mac * *
FRC_40_8.2.2_C_empty1.pdf mac * *
FRC_41_8.2.2_C_empty2.pdf mac * *
FRC_42_8.2.2_C_empty3.pdf mac * *
FRC_43_8.2.2_C_empty.pdf mac * *
FRC_44_8.2.2_C_remove.pdf mac * *
FRC_45_8.2.2_F_edit_F_1_2_3.pdf mac * *
FRC_46_8.2.2_F_edit_F__1__2__3.pdf mac * *
FRC_47_8.2.2_F_edit_F_32__32.pdf mac * *
FRC_48_8.2.2_F_edit_F_100__100.pdf mac * *
FRC_49_8.2.2_F_empty.pdf mac * *
FRC_4_8.2.2_Parent_edit2.pdf mac * *
FRC_4_8.2.2__T8.3_Count_empty.pdf * * *
FRC_4_8.2.4_Schema_8.6__remove_all.pdf mac * *
FRC_4_8.2.4__remove_FileName_value.pdf mac * *
FRC_50_8.2.2_F_remove.pdf mac * *
FRC_51_8.2.2_T_8.4__Count_edit_count_100.pdf mac * *
FRC_52_8.2.2_T_8.4__Count_edit_count_0.pdf mac * *
FRC_53_8.2.2_T_8.4__Count_empty.pdf mac * *
FRC_54_8.2.2_T_8.4__Count_empty1.pdf mac * *
FRC_55_8.2.2_T_8.4__Count_remove.pdf mac * *
FRC_56_8.2.2_C_edit_C__1.pdf mac * *
FRC_57_8.2.2_C_edit_C_2.pdf mac * *
FRC_58_8.2.2_Count_edit_count__2.pdf mac * *
FRC_5_8.2.2_Parent_remove_value.pdf mac * *
FRC_5_8.2.2__T8.3_First_remove.pdf * * *
FRC_5_8.2.4_Schema_8.6__remove_value.pdf mac * *
FRC_5_8.2.4__remove_FileName_all.pdf mac * *
FRC_6_8.2.2_Parent_remove_all.pdf mac * *
FRC_6_8.2.2__T8.3_Last_remove.pdf * * *
FRC_6_8.2.4_Schema_8.6__remove_obj.pdf mac * *
FRC_6_8.2.4__remove_FileName_obj.pdf mac * *
FRC_7_8.2.2_Parent_remove_obj.pdf mac * *
FRC_7_8.2.2_Type_remove.pdf * * *
FRC_7_8.2.4_View_H.pdf mac * *
FRC_7_8.2.4__remove_Description_value.pdf mac * *
FRC_8.4.1_Annotations_AP_N_.pdf mac * *
FRC_8.4.1_Annotations_AP_N_R.D_.pdf mac * *
FRC_8.4.1_Annotations_AP_N_R_.pdf mac * *
FRC_8.4.1_Annotations_AS_Off_.pdf mac * *
FRC_8.4.1_Annotations_AS_Yes_.pdf mac * *
FRC_8.4.1_Annotations_Border.pdf mac * *
FRC_8.4.1_Annotations_C.pdf mac * *
FRC_8.4.1_Annotations_M.pdf * * *
FRC_8.4.1_Annotations_M_text_string_.pdf mac * *
FRC_8.4.1_Annotations_NM.pdf * * *
FRC_8.4.1_Annotations_P.pdf mac * *
FRC_8.4.1_Annotations_Rect.pdf mac * *
FRC_8.4.1_Annotations_Type.pdf mac * *
FRC_8.4.2_Annotation_Flags_F_Hidden.pdf mac * *
FRC_8.4.2_Annotation_Flags_F_Invisible.pdf mac * *
FRC_8.4.2_Annotation_Flags_F_Locked.pdf mac * *
FRC_8.4.2_Annotation_Flags_F_LockedContents.pdf mac * *
FRC_8.4.2_Annotation_Flags_F_NoRotate.pdf mac * *
FRC_8.4.2_Annotation_Flags_F_NoView.pdf mac * *
FRC_8.4.2_Annotation_Flags_F_NoZoom.pdf mac * *
FRC_8.4.2_Annotation_Flags_F_Print.pdf mac * *
FRC_8.4.2_Annotation_Flags_F_ReadOnly.pdf mac * *
FRC_8.4.2_Annotation_Flags_F_ToggleNoView.pdf mac * *
FRC_8.4.3_Border_Stypes_D_different_values.pdf mac * *
FRC_8.4.3_Border_Stypes_D_remove.pdf mac * *
FRC_8.4.3_Border_Stypes_I_different_values.pdf mac * *
FRC_8.4.3_Border_Stypes_I_remove.pdf mac * *
FRC_8.4.3_Border_Stypes_S_different_values_BE_.pdf mac * *
FRC_8.4.3_Border_Stypes_S_different_values_BS_.pdf mac * *
FRC_8.4.3_Border_Stypes_S_not_exist_BS_.pdf mac * *
FRC_8.4.3_Border_Stypes_S_remove_BE_.pdf mac * *
FRC_8.4.3_Border_Stypes_S_remove_BS_.pdf mac * *
FRC_8.4.3_Border_Stypes_Type_add.pdf mac * *
FRC_8.4.3_Border_Stypes_Type_not_exist_default_.pdf mac * *
FRC_8.4.3_Border_Stypes_W_different_values.pdf mac * *
FRC_8.4.3_Border_Stypes_W_remove.pdf mac * *
FRC_8.5_Bl_Hide.pdf mac * *
FRC_8.5_Catalog_OpenAction.pdf mac * *
FRC_8.5_Catalog_WC.pdf mac * *
FRC_8.5_DP.pdf mac * *
FRC_8.5_DS.pdf mac * *
FRC_8.5_E_GoTo_D.pdf mac * *
FRC_8.5_Fo_URI_Base.pdf mac * *
FRC_8.5_Link_URL.pdf mac * *
FRC_8.5_Outline_A.pdf mac * *
FRC_8.5_Page_C_SubmitForm.pdf * * *
FRC_8.5_Page_O_URI.pdf mac * *
FRC_8.5_Page_PI_ResetForm_Phantom.pdf * * *
FRC_8.5_Page_PV_Named_Phantom.pdf mac * *
FRC_8.5_Screen_Fo_JavaScript.pdf mac * *
FRC_8.5_Screen_Img_D_Launch.pdf mac * *
FRC_8.5_Screen_Rendition.pdf mac * *
FRC_8.5_URI_IsMap.pdf mac * *
FRC_8.5_U_GoToR_NewWindow.pdf mac * *
FRC_8.5_U_GoToR_NewWindow_2.pdf mac * *
FRC_8.5_WP.pdf mac * *
FRC_8.5_WS.pdf mac * *
FRC_8.5_Widget_C.pdf mac * *
FRC_8.5_Widget_F.pdf mac * *
FRC_8.5_Widget_F.pdf * nov8 *
FRC_8.5_Widget_K.pdf mac * *
FRC_8.5_Widget_V.pdf mac * *
FRC_8.5_X_GoToR_D.pdf mac * *
FRC_8_8.2.2_Parent_edit.pdf mac * *
FRC_8_8.2.2__T8.3_Count_remove.pdf * * *
FRC_8_8.2.4_View_D.pdf mac * *
FRC_8_8.2.4__remove__Description_all.pdf mac * *
FRC_9_8.2.2_Prev_remove_value.pdf mac * *
FRC_9_8.2.2__T8.3_remove_first_item.pdf * * *
FRC_9_8.2.4_View_T.pdf mac * *
FRC_9_8.2.4__remove__Description_obj.pdf mac * *
action.pdf * * *
action_execute_a_menu_item.pdf mac * *
action_hide_show_form.pdf mac * *
action_on_focus.pdf mac * *
action_open_a_file.pdf mac * *
action_pdf_save_close.pdf mac * *
action_reset.pdf mac * *
action_run_javascript.pdf mac * *
action_submit_a_form.pdf mac * *
all_trigger_alert.pdf * * *
all_trigger_browsefordoc.pdf * * *
all_trigger_mailmsg.pdf * * *
all_trigger_newdoc.pdf * * *
all_trigger_print.pdf * * *
all_trigger_run_js_lunchurl.pdf mac * *
all_trigger_run_js_maildoc.pdf mac * *
annotation_highlight_author_content.pdf mac * *
annotation_highlight_long_content.pdf mac * *
annotation_highlight_no_author.pdf mac * *
app_launchurl.pdf mac * *
appstoredescription3.1_en_updated.pdf mac * *
bookmark.pdf * * *
bookmarkgetcolor.pdf mac * *
bug_0_length_line.pdf mac * *
bug_0_width_line.pdf mac * *
bug_434.pdf * * noxfa
bug_434.pdf win * xfa
bug_white_space.pdf mac * *
calcorderindex_test.pdf * * *
calculate_average.pdf mac * *
calculate_order.pdf * * *
calculate_sum_a_b_c.pdf mac * *
calculate_validate.pdf mac * *
calculate_validate.pdf * nov8 *
ch_1.pdf * * *
check_box.pdf * * *
color.pdf mac * *
colorspace.pdf mac * *
colorspace_test1.pdf mac * *
combo_box.pdf * * *
combo_box_format.pdf mac * *
date.pdf mac * *
edit_transform.pdf mac * *
en_contact.pdf mac * *
en_diy.pdf mac * *
en_foxit.pdf mac * *
en_fqa2.pdf mac * *
en_introduce.pdf mac * *
en_tem.pdf mac * *
en_uicase_.pdf mac * *
event.change.pdf mac * *
event.changeex.pdf mac * *
event.keydown.pdf mac * *
event.keydown_1_.pdf mac * *
event.type_name.pdf mac * *
event.value.pdf mac * *
event_change.pdf mac * *
example_001.pdf mac * *
example_002.pdf mac,win * *
example_003.pdf mac,win * *
example_004.pdf mac * *
example_005.pdf mac * *
example_006.pdf mac,win * *
example_007.pdf mac * *
example_008.pdf mac * *
example_009.pdf mac * *
example_010.pdf mac,win * *
example_011.pdf mac * *
example_012.pdf mac * *
example_013.pdf mac * *
example_014.pdf mac * *
example_015.pdf mac,win * *
example_016.pdf mac * *
example_017.pdf mac * *
example_018.pdf mac * *
example_019.pdf mac * *
example_020.pdf mac * *
example_021.pdf mac * *
example_022.pdf mac * *
example_023.pdf mac,win * *
example_024.pdf mac * *
example_025.pdf mac * *
example_026.pdf mac * *
example_027.pdf mac * *
example_028.pdf mac * *
example_029.pdf mac * *
example_030.pdf mac * *
example_031.pdf mac * *
example_032.pdf mac * *
example_033.pdf * * xfa
example_033.pdf mac,win * noxfa
example_034.pdf mac * *
example_035.pdf mac,win * *
example_036.pdf mac,win * *
example_037.pdf mac * *
example_038.pdf mac,win * *
example_039.pdf mac * *
example_040.pdf mac * *
example_041.pdf mac,win * *
example_042.pdf mac * *
example_043.pdf mac * *
example_044.pdf mac * *
example_045.pdf mac,win * *
example_046.pdf mac,win * *
example_047.pdf mac * *
example_048.pdf mac * *
example_049.pdf mac * *
example_050.pdf mac * *
example_051.pdf mac * *
example_052.pdf mac * *
example_053.pdf mac,win * *
example_054.pdf mac * *
example_055.pdf mac,win * *
example_056.pdf mac * *
example_057.pdf mac * *
example_058.pdf mac * *
example_059.pdf mac,win * *
example_060.pdf mac * *
example_061.pdf mac,win * *
example_062.pdf mac * *
example_063.pdf mac * *
example_064.pdf mac * *
example_065.pdf mac * *
fillform.pdf * * *
form_action_trigger.pdf * * *
form_button_sign_url.pdf * * *
form_combo_sign_url.pdf * * *
form_combobox0.pdf * * *
form_combobox_actioin_goto.pdf * * *
form_combobox_date.pdf mac * *
form_combobox_date.pdf * nov8 *
form_combobox_date1.pdf * * *
form_combobox_date2.pdf mac * *
form_combobox_date2.pdf * nov8 *
form_combobox_importform.pdf * * *
form_combobox_num.pdf mac * *
form_combobox_num.pdf * nov8 *
form_combobox_per.pdf mac * *
form_combobox_per.pdf * nov8 *
form_combobox_plus.pdf mac * *
form_combobox_plus.pdf * nov8 *
form_combobox_product.pdf mac * *
form_combobox_product.pdf * nov8 *
form_combobox_resetform.pdf * * *
form_combobox_time.pdf mac * *
form_combobox_time.pdf * nov8 *
form_list.pdf * * *
form_list1.pdf * * *
form_same.pdf mac * *
form_text_sign_url.pdf * * *
format_combo_box.pdf mac * *
format_combo_box.pdf * nov8 *
format_custom_format.pdf linux,mac * *
format_custom_format.pdf * nov8 *
format_custom_keystroke.pdf * * *
format_date.pdf * nov8 *
format_number.pdf mac * *
format_percentage.pdf mac * *
format_special.pdf * nov8 *
format_text_color.pdf mac * *
formfeild.pdf * * *
getarray.pdf mac * *
group_xobject.pdf mac * *
javascriptaction.pdf * * *
jetman_std.pdf mac * *
js_calculate.pdf * * *
list_box.pdf * * *
negative.pdf mac * *
new_certify1.pdf mac * *
new_signature1.pdf mac * *
new_signature2.pdf mac * *
new_stamp4.pdf mac * *
new_stamp5.pdf mac * *
new_textmarkup1.pdf mac * *
new_textmarkup1_hidden.pdf mac * *
new_textmarkup2.pdf mac * *
new_textmarkup2_hidden.pdf mac * *
new_textmarkup4.pdf mac * *
new_textmarkup4_hidden.pdf mac * *
new_textmarkup5.pdf mac * *
new_textmarkup5_hidden.pdf mac * *
new_textmarkup6.pdf mac * *
new_textmarkup7.pdf mac * *
new_textmarkup7_hidden.pdf mac * *
new_textmarkup8.pdf mac * *
new_textmarkup8_hidden.pdf mac * *
number.pdf * * *
octest.pdf mac * *
open_a_weblink.pdf mac * *
path_10_jd.pdf mac * *
path_5_pattern.pdf mac * *
path_6_graphics4.5.5.pdf mac * *
path_7.pdf mac * *
path_9.pdf mac * *
percentage.pdf mac * *
push_button.pdf * * *
quick_start_guide.pdf mac * *
radio_button.pdf * * *
run_custom_validate_script.pdf * * *
show_1.pdf mac * *
signature.pdf * * *
signature_4.pdf * * *
simplified_field_notation.pdf mac * *
special.pdf mac * *
submit_form.pdf mac * *
test_app_beep.pdf * * *
test_control.pdf * * *
test_m.pdf * * xfa
test_m.pdf mac,win * noxfa
text_field.pdf * * *
text_field_font_input_decimal_point.pdf mac * *
text_field_multiline_line_spacing.pdf mac * *
thread_action.pdf mac * *
time.pdf mac * *
transformation.pdf mac * *
transparent.pdf mac * *
whats_new_in_v3.0.pdf mac * *
widget_javascript.pdf mac * *
zh_file1.pdf mac * *
zh_function_list.pdf mac * *
zh_shared_document.pdf mac * *

#
# xfa_specific
#
Choose.pdf * * *
data_binding.pdf * * *
Date_FormCale.pdf * * *
Sum.pdf * * *
TimeField.pdf * * *
Test_CheckBox.pdf * * *
Test_DateField_locale_zh_HK.pdf * * *

