Commit a5ae042e2bf3f47cc25c43ab92ff9d93564de062

Authored by Jay Berkenbilt
1 parent 31396f61

Add workaround for bug in ghostscript 9.56 (fixes #732)

Showing 1 changed file with 21 additions and 2 deletions
qpdf/qtest/qpdf_test_helpers.pm
... ... @@ -9,6 +9,23 @@ if ((exists $ENV{'QPDF_TEST_COMPARE_IMAGES'}) &&
9 9 $compare_images = 1;
10 10 }
11 11  
  12 +chomp(my $gs_version = `gs --version`);
  13 +my $x_gs_args = "";
  14 +if ($gs_version =~ m/^(\d+).(\d+)/)
  15 +{
  16 + my $major = $1;
  17 + my $minor = $2;
  18 + if (($major == 9) && ($minor >= 56))
  19 + {
  20 + # There are some PDF files in the test suite that ghostscript
  21 + # 9.56, the first version to have the "new" PDF interpreter,
  22 + # can't handle. The bug is fixed for 10.0.0. Fall back to the
  23 + # old interpreter in the meantime. See
  24 + # https://bugs.ghostscript.com/show_bug.cgi?id=705842
  25 + $x_gs_args = "-dNEWPDF=false";
  26 + }
  27 +}
  28 +
12 29 sub calc_ntests
13 30 {
14 31 my ($n_tests, $n_compare_pdfs) = @_;
... ... @@ -78,7 +95,8 @@ sub compare_pdfs
78 95 $td->runtest("convert original file to image",
79 96 {$td->COMMAND =>
80 97 "(cd tif1;" .
81   - " gs 2>$devNull -q -dNOPAUSE -sDEVICE=tiff24nc" .
  98 + " gs 2>$devNull $x_gs_args" .
  99 + " -q -dNOPAUSE -sDEVICE=tiff24nc" .
82 100 " -sOutputFile=a.tif - < ../$f1)"},
83 101 {$td->STRING => "",
84 102 $td->EXIT_STATUS => 0});
... ... @@ -97,7 +115,8 @@ sub compare_pdfs
97 115 $td->runtest("convert new file to image",
98 116 {$td->COMMAND =>
99 117 "(cd tif2;" .
100   - " gs 2>$devNull -q -dNOPAUSE -sDEVICE=tiff24nc" .
  118 + " gs 2>$devNull $x_gs_args" .
  119 + " -q -dNOPAUSE -sDEVICE=tiff24nc" .
101 120 " -sOutputFile=a.tif - < ../$f2)"},
102 121 {$td->STRING => "",
103 122 $td->EXIT_STATUS => 0});
... ...