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,7 +2432,7 @@ $td->runtest("check output",
2432 show_ntests(); 2432 show_ntests();
2433 # ---------- 2433 # ----------
2434 $td->notify("--- Copy Foreign Objects ---"); 2434 $td->notify("--- Copy Foreign Objects ---");
2435 -$n_tests += 10; 2435 +$n_tests += 11;
2436 2436
2437 foreach my $d ([25, 1], [26, 2], [27, 3]) 2437 foreach my $d ([25, 1], [26, 2], [27, 3])
2438 { 2438 {
@@ -2454,6 +2454,14 @@ $td->runtest("copy objects error", @@ -2454,6 +2454,14 @@ $td->runtest("copy objects error",
2454 $td->EXIT_STATUS => 0}, 2454 $td->EXIT_STATUS => 0},
2455 $td->NORMALIZE_NEWLINES); 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 $td->runtest("indirect filters", 2465 $td->runtest("indirect filters",
2458 {$td->COMMAND => "test_driver 69 indirect-filter.pdf"}, 2466 {$td->COMMAND => "test_driver 69 indirect-filter.pdf"},
2459 {$td->STRING => "test 69 done\n", $td->EXIT_STATUS => 0}, 2467 {$td->STRING => "test 69 done\n", $td->EXIT_STATUS => 0},
@@ -2464,7 +2472,10 @@ foreach my $i (0, 1) @@ -2464,7 +2472,10 @@ foreach my $i (0, 1)
2464 {$td->FILE => "auto-$i.pdf"}, 2472 {$td->FILE => "auto-$i.pdf"},
2465 {$td->FILE => "indirect-filter-out-$i.pdf"}); 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 show_ntests(); 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