diff options
author | Jay Berkenbilt <ejb@ql.org> | 2023-12-20 19:37:21 +0100 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2023-12-20 21:46:20 +0100 |
commit | 4ee393d1fa5424bc25952580b177f572e58920db (patch) | |
tree | 00ee9eb00ec6225dbbb1869f0a5ee41eb563f317 /qpdf | |
parent | 7e679ab8b68a38aae8374ef28f999afd94bf5124 (diff) | |
download | qpdf-4ee393d1fa5424bc25952580b177f572e58920db.tar.zst |
Remove compression from linearization tests where possible
By combining --linearize with --compress-streams=n, we ensure that no
new compressed data will appear in linearized output, which makes the
output independent of zlib's output. There are other tests to ensure
that linearization works correctly with compression. This commit
involves changing some test outputs and test code as well just
updating test suites.
Diffstat (limited to 'qpdf')
-rw-r--r-- | qpdf/qpdf-ctest.c | 1 | ||||
-rw-r--r-- | qpdf/qtest/encryption-parameters.test | 3 | ||||
-rw-r--r-- | qpdf/qtest/linearize-pass1.test | 1 | ||||
-rw-r--r-- | qpdf/qtest/pages-tree.test | 2 | ||||
-rw-r--r-- | qpdf/qtest/qpdf/c-linearized.pdf | bin | 10729 -> 11325 bytes | |||
-rw-r--r-- | qpdf/qtest/qpdf/extra-header-lin-newline.pdf | bin | 1334 -> 1312 bytes | |||
-rw-r--r-- | qpdf/qtest/qpdf/extra-header-lin-no-newline.pdf | bin | 1334 -> 1312 bytes | |||
-rw-r--r-- | qpdf/qtest/qpdf/linearize-duplicate-page.pdf | bin | 1899 -> 1843 bytes | |||
-rw-r--r-- | qpdf/qtest/qpdf/long-id-linearized.pdf | bin | 1338 -> 1316 bytes | |||
-rw-r--r-- | qpdf/qtest/qpdf/minimal-linearize-pass1.pdf | bin | 1274 -> 1249 bytes | |||
-rw-r--r-- | qpdf/qtest/qpdf/minimal-linearized.pdf | bin | 1310 -> 1288 bytes | |||
-rw-r--r-- | qpdf/qtest/qpdf/pages-is-page-out.pdf | bin | 1310 -> 1288 bytes | |||
-rw-r--r-- | qpdf/qtest/qpdf/short-id-linearized.pdf | bin | 1294 -> 1272 bytes | |||
-rw-r--r-- | qpdf/qtest/specific-file.test | 3 | ||||
-rw-r--r-- | qpdf/test_driver.cc | 3 |
15 files changed, 10 insertions, 3 deletions
diff --git a/qpdf/qpdf-ctest.c b/qpdf/qpdf-ctest.c index ba177444..d0c60558 100644 --- a/qpdf/qpdf-ctest.c +++ b/qpdf/qpdf-ctest.c @@ -200,6 +200,7 @@ test05(char const* infile, char const* password, char const* outfile, char const qpdf_register_progress_reporter(qpdf, count_progress, (void*)&count); qpdf_set_static_ID(qpdf, QPDF_TRUE); qpdf_set_linearization(qpdf, QPDF_TRUE); + qpdf_set_compress_streams(qpdf, QPDF_FALSE); // Don't depend on zlib qpdf_write(qpdf); /* make sure progress reporter was called */ assert(count > 0); diff --git a/qpdf/qtest/encryption-parameters.test b/qpdf/qtest/encryption-parameters.test index f6d852c0..eaf795f3 100644 --- a/qpdf/qtest/encryption-parameters.test +++ b/qpdf/qtest/encryption-parameters.test @@ -37,7 +37,8 @@ foreach my $file (qw(short-id long-id)) $td->runtest("linearize $file.pdf", {$td->COMMAND => - "qpdf --deterministic-id --linearize $file.pdf a.pdf"}, + "qpdf --deterministic-id --compress-streams=n" . + " --linearize $file.pdf a.pdf"}, {$td->STRING => "", $td->EXIT_STATUS => 0}, $td->NORMALIZE_NEWLINES); diff --git a/qpdf/qtest/linearize-pass1.test b/qpdf/qtest/linearize-pass1.test index dfdd2d9b..c59dd55f 100644 --- a/qpdf/qtest/linearize-pass1.test +++ b/qpdf/qtest/linearize-pass1.test @@ -18,6 +18,7 @@ my $n_tests = 3; $td->runtest("linearize pass 1 file", {$td->COMMAND => "qpdf --linearize --static-id" . + " --compress-streams=n" . " --linearize-pass1=b.pdf minimal.pdf a.pdf"}, {$td->STRING => "", $td->EXIT_STATUS => 0}); $td->runtest("check output", diff --git a/qpdf/qtest/pages-tree.test b/qpdf/qtest/pages-tree.test index 2ec00e29..eb416fba 100644 --- a/qpdf/qtest/pages-tree.test +++ b/qpdf/qtest/pages-tree.test @@ -18,7 +18,7 @@ my $n_tests = 17; $td->runtest("linearize duplicated pages", {$td->COMMAND => - "qpdf --static-id --linearize" . + "qpdf --static-id --linearize --compress-streams=n" . " page_api_2.pdf a.pdf"}, {$td->FILE => "duplicate-page-warning.out", $td->EXIT_STATUS => 3}, diff --git a/qpdf/qtest/qpdf/c-linearized.pdf b/qpdf/qtest/qpdf/c-linearized.pdf Binary files differindex dbe62ffe..23c11901 100644 --- a/qpdf/qtest/qpdf/c-linearized.pdf +++ b/qpdf/qtest/qpdf/c-linearized.pdf diff --git a/qpdf/qtest/qpdf/extra-header-lin-newline.pdf b/qpdf/qtest/qpdf/extra-header-lin-newline.pdf Binary files differindex 7a5ff3e6..b23c5152 100644 --- a/qpdf/qtest/qpdf/extra-header-lin-newline.pdf +++ b/qpdf/qtest/qpdf/extra-header-lin-newline.pdf diff --git a/qpdf/qtest/qpdf/extra-header-lin-no-newline.pdf b/qpdf/qtest/qpdf/extra-header-lin-no-newline.pdf Binary files differindex e115c462..da3e3e88 100644 --- a/qpdf/qtest/qpdf/extra-header-lin-no-newline.pdf +++ b/qpdf/qtest/qpdf/extra-header-lin-no-newline.pdf diff --git a/qpdf/qtest/qpdf/linearize-duplicate-page.pdf b/qpdf/qtest/qpdf/linearize-duplicate-page.pdf Binary files differindex 27a8898e..093149c1 100644 --- a/qpdf/qtest/qpdf/linearize-duplicate-page.pdf +++ b/qpdf/qtest/qpdf/linearize-duplicate-page.pdf diff --git a/qpdf/qtest/qpdf/long-id-linearized.pdf b/qpdf/qtest/qpdf/long-id-linearized.pdf Binary files differindex 2993fd30..e7bc709f 100644 --- a/qpdf/qtest/qpdf/long-id-linearized.pdf +++ b/qpdf/qtest/qpdf/long-id-linearized.pdf diff --git a/qpdf/qtest/qpdf/minimal-linearize-pass1.pdf b/qpdf/qtest/qpdf/minimal-linearize-pass1.pdf Binary files differindex e851063a..ac7d71ed 100644 --- a/qpdf/qtest/qpdf/minimal-linearize-pass1.pdf +++ b/qpdf/qtest/qpdf/minimal-linearize-pass1.pdf diff --git a/qpdf/qtest/qpdf/minimal-linearized.pdf b/qpdf/qtest/qpdf/minimal-linearized.pdf Binary files differindex 15f643d4..809f18d0 100644 --- a/qpdf/qtest/qpdf/minimal-linearized.pdf +++ b/qpdf/qtest/qpdf/minimal-linearized.pdf diff --git a/qpdf/qtest/qpdf/pages-is-page-out.pdf b/qpdf/qtest/qpdf/pages-is-page-out.pdf Binary files differindex 15f643d4..809f18d0 100644 --- a/qpdf/qtest/qpdf/pages-is-page-out.pdf +++ b/qpdf/qtest/qpdf/pages-is-page-out.pdf diff --git a/qpdf/qtest/qpdf/short-id-linearized.pdf b/qpdf/qtest/qpdf/short-id-linearized.pdf Binary files differindex ec8829d7..10ef195b 100644 --- a/qpdf/qtest/qpdf/short-id-linearized.pdf +++ b/qpdf/qtest/qpdf/short-id-linearized.pdf diff --git a/qpdf/qtest/specific-file.test b/qpdf/qtest/specific-file.test index fec7a803..5d77720a 100644 --- a/qpdf/qtest/specific-file.test +++ b/qpdf/qtest/specific-file.test @@ -47,7 +47,8 @@ $td->runtest("check fix-qdf idempotency", {$td->FILE => "a.pdf", $td->EXIT_STATUS => 0}); $td->runtest("pages points to page", {$td->COMMAND => - "qpdf --static-id --linearize pages-is-page.pdf a.pdf"}, + "qpdf --static-id --linearize --compress-streams=n" . + " pages-is-page.pdf a.pdf"}, {$td->FILE => "pages-is-page.out", $td->EXIT_STATUS => 3}, $td->NORMALIZE_NEWLINES); $td->runtest("check output", diff --git a/qpdf/test_driver.cc b/qpdf/test_driver.cc index 03631eb2..3c8ce755 100644 --- a/qpdf/test_driver.cc +++ b/qpdf/test_driver.cc @@ -1211,6 +1211,9 @@ test_32(QPDF& pdf, char const* arg2) << "linearized: " << (linearized ? "yes" : "no") << std::endl << "newline: " << (newline ? "yes" : "no") << std::endl; w.setLinearization(linearized); + if (linearized) { + w.setCompressStreams(false); // avoid dependency on zlib's output + } w.setExtraHeaderText(newline ? "%% Comment with newline\n" : "%% Comment\n% No newline"); w.write(); } |