Commit f1ae55a430b194aafc0afa37d5752b7d04c0f461

Authored by Jay Berkenbilt
1 parent c5602e93

Better indirect filter test case

The test suite now contains test cases that fail with both 10.0.1 and
10.0.2 and reproduce the internal error from #449.
qpdf/qtest/qpdf.test
... ... @@ -2432,7 +2432,7 @@ $td->runtest("check output",
2432 2432 show_ntests();
2433 2433 # ----------
2434 2434 $td->notify("--- Copy Foreign Objects ---");
2435   -$n_tests += 10;
  2435 +$n_tests += 11;
2436 2436  
2437 2437 foreach my $d ([25, 1], [26, 2], [27, 3])
2438 2438 {
... ... @@ -2454,6 +2454,14 @@ $td->runtest("copy objects error",
2454 2454 $td->EXIT_STATUS => 0},
2455 2455 $td->NORMALIZE_NEWLINES);
2456 2456  
  2457 +# Issue 449 involved indirect /Filter or /DecodeParms in streams that
  2458 +# had their stream data replaced. The hand-generated
  2459 +# indirect-filter.pdf file more or less reproduces the situation but
  2460 +# doesn't result in the same internal error that 449 did with 10.0.1.
  2461 +# The file issue-449.pdf was minimized by hand from a test case and
  2462 +# does produce an internal error, though the exact reason is unclear.
  2463 +# It seems to just have to do with the order in which things are
  2464 +# copied.
2457 2465 $td->runtest("indirect filters",
2458 2466 {$td->COMMAND => "test_driver 69 indirect-filter.pdf"},
2459 2467 {$td->STRING => "test 69 done\n", $td->EXIT_STATUS => 0},
... ... @@ -2464,7 +2472,10 @@ foreach my $i (0, 1)
2464 2472 {$td->FILE => "auto-$i.pdf"},
2465 2473 {$td->FILE => "indirect-filter-out-$i.pdf"});
2466 2474 }
2467   -
  2475 +$td->runtest("issue 449",
  2476 + {$td->COMMAND => "test_driver 69 issue-449.pdf"},
  2477 + {$td->STRING => "test 69 done\n", $td->EXIT_STATUS => 0},
  2478 + $td->NORMALIZE_NEWLINES);
2468 2479  
2469 2480 show_ntests();
2470 2481 # ----------
... ...
qpdf/qtest/qpdf/indirect-filter.pdf
No preview for this file type
qpdf/qtest/qpdf/issue-449.pdf 0 → 100644
No preview for this file type