Add --disable-xfa flag to test_runner.py
test_runner.py then passes a flag of the same name on each run of
pdfium_test.
Bug: pdfium:1412
Change-Id: I5b192cd390025752fee37b614dea46cc7062fbaa
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/63250
Commit-Queue: Daniel Hosseinian <dhoss@chromium.org>
Reviewed-by: Lei Zhang <thestig@chromium.org>
diff --git a/testing/tools/suppressor.py b/testing/tools/suppressor.py
index a2e39a1..70eef99 100755
--- a/testing/tools/suppressor.py
+++ b/testing/tools/suppressor.py
@@ -11,10 +11,11 @@
class Suppressor:
- def __init__(self, finder, feature_string, js_disabled):
+ def __init__(self, finder, feature_string, js_disabled, xfa_disabled):
feature_vector = feature_string.strip().split(",")
self.has_v8 = not js_disabled and "V8" in feature_vector
- self.has_xfa = not js_disabled and "XFA" in feature_vector
+ self.has_xfa = (not js_disabled and not xfa_disabled and
+ "XFA" in feature_vector)
self.suppression_set = self._LoadSuppressedSet('SUPPRESSIONS', finder)
self.image_suppression_set = self._LoadSuppressedSet(
'SUPPRESSIONS_IMAGE_DIFF', finder)
diff --git a/testing/tools/test_runner.py b/testing/tools/test_runner.py
index 3a055ba..d3640d6 100644
--- a/testing/tools/test_runner.py
+++ b/testing/tools/test_runner.py
@@ -161,6 +161,9 @@
if self.options.disable_javascript:
cmd_to_run.append('--disable-javascript')
+ if self.options.disable_xfa:
+ cmd_to_run.append('--disable-xfa')
+
cmd_to_run.append(pdf_path)
subprocess.check_call(cmd_to_run, stdout=outfile)
@@ -206,6 +209,9 @@
if self.options.disable_javascript:
cmd_to_run.append('--disable-javascript')
+ if self.options.disable_xfa:
+ cmd_to_run.append('--disable-xfa')
+
if self.options.reverse_byte_order:
cmd_to_run.append('--reverse-byte-order')
@@ -267,6 +273,12 @@
help='Prevents JavaScript from executing in PDF files.')
parser.add_option(
+ '--disable-xfa',
+ action="store_true",
+ dest="disable_xfa",
+ help='Prevents processing XFA forms.')
+
+ parser.add_option(
'--gold_properties',
default='',
dest="gold_properties",
@@ -346,7 +358,8 @@
self.feature_string = subprocess.check_output(
[self.pdfium_test_path, '--show-config'])
self.test_suppressor = suppressor.Suppressor(
- finder, self.feature_string, self.options.disable_javascript)
+ finder, self.feature_string, self.options.disable_javascript,
+ self.options.disable_xfa)
self.image_differ = pngdiffer.PNGDiffer(finder,
self.options.reverse_byte_order)
error_message = self.image_differ.CheckMissingTools(