From 4ee393d1fa5424bc25952580b177f572e58920db Mon Sep 17 00:00:00 2001 From: Jay Berkenbilt Date: Wed, 20 Dec 2023 13:37:21 -0500 Subject: [PATCH] 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. --- examples/qpdf-job.cc | 3 +++ examples/qpdfjob-c.c | 5 +++-- examples/qtest/qpdf-job/out.pdf | Bin 1300 -> 1278 bytes qpdf/qpdf-ctest.c | 1 + qpdf/qtest/encryption-parameters.test | 3 ++- qpdf/qtest/linearize-pass1.test | 1 + qpdf/qtest/pages-tree.test | 2 +- qpdf/qtest/qpdf/c-linearized.pdf | Bin 10729 -> 11325 bytes qpdf/qtest/qpdf/extra-header-lin-newline.pdf | Bin 1334 -> 1312 bytes .../qpdf/extra-header-lin-no-newline.pdf | Bin 1334 -> 1312 bytes qpdf/qtest/qpdf/linearize-duplicate-page.pdf | Bin 1899 -> 1843 bytes qpdf/qtest/qpdf/long-id-linearized.pdf | Bin 1338 -> 1316 bytes qpdf/qtest/qpdf/minimal-linearize-pass1.pdf | Bin 1274 -> 1249 bytes qpdf/qtest/qpdf/minimal-linearized.pdf | Bin 1310 -> 1288 bytes qpdf/qtest/qpdf/pages-is-page-out.pdf | Bin 1310 -> 1288 bytes qpdf/qtest/qpdf/short-id-linearized.pdf | Bin 1294 -> 1272 bytes qpdf/qtest/specific-file.test | 3 ++- qpdf/test_driver.cc | 3 +++ 18 files changed, 16 insertions(+), 5 deletions(-) diff --git a/examples/qpdf-job.cc b/examples/qpdf-job.cc index be868a17..99b853ea 100644 --- a/examples/qpdf-job.cc +++ b/examples/qpdf-job.cc @@ -44,6 +44,7 @@ main(int argc, char* argv[]) ->endPages() ->linearize() ->staticId() // for testing only + ->compressStreams("n") // avoid dependency on zlib output ->checkConfiguration(); j.run(); std::cout << "out1 status: " << j.getExitCode() << std::endl; @@ -63,6 +64,7 @@ main(int argc, char* argv[]) "1", "--", "--static-id", + "--compress-streams=n", // avoid dependency on zlib output nullptr}; QPDFJob j; j.initializeFromArgv(new_argv); @@ -81,6 +83,7 @@ main(int argc, char* argv[]) "outputFile": "out3.pdf", "staticId": "", "linearize": "", + "compressStreams": "n", "pages": [ { "file": ".", diff --git a/examples/qpdfjob-c.c b/examples/qpdfjob-c.c index 62528392..6dd68283 100644 --- a/examples/qpdfjob-c.c +++ b/examples/qpdfjob-c.c @@ -19,7 +19,7 @@ main(int argc, char* argv[]) { char* infile = NULL; char* outfile = NULL; - char const* new_argv[6]; + char const* new_argv[7]; int r = 0; char* p = 0; @@ -43,7 +43,8 @@ main(int argc, char* argv[]) new_argv[2] = outfile; new_argv[3] = "--linearize"; new_argv[4] = "--static-id"; /* for testing only */ - new_argv[5] = NULL; + new_argv[5] = "--compress-streams=n"; /* avoid dependency on zlib output */ + new_argv[6] = NULL; /* See qpdf-job.cc for a C++ example of using the json interface. To use that from C just like * the argv one, call qpdfjob_run_from_json instead and pass the json string as a single char diff --git a/examples/qtest/qpdf-job/out.pdf b/examples/qtest/qpdf-job/out.pdf index c432ac590544dd795d319ebd50f12da862615e4d..d8ac1509006eaac27c6458399a8dd511ad484ad1 100644 GIT binary patch delta 292 zcmbQj^^bFcj*gMJg@V3^LbQUZnWciEk)cAYg1*0kse-<%f}w$_v4Xyzf}w(bh=QS^ zk-@}>vv!sS3I-sckf*=}W*8V)7#m}VSsIyPikX^CPG&S@GBlbzjd6W+u!6Cfg1%2` zUV2G}f|;p;ogG(kNl|KIE*Ap>0}BHKlO>R5V9W-Q5CCN}19?DsH~_IBd^ra8M}Jrh z7$(nU+G=5fWTI0Dmx6-6o1ub{i9$#kkZo=RLPLNxr5+NEVlC2-oDr O%paIcjVDiKsRsaz_d2Nn delta 318 zcmeyzIfZM2j*hW`fr7q=LbQUZnWciEp@l-Mg1*0kse-<%f}w#qkoHqBRL~CrN|_i< zj5up&VXj~R0t$HwTwsQQfrYUFhM1*^1*Vv}#pHSxvB{N;(oDuClczDRk8sP(DM>9- z(09v8EJ<}qP0mkARnQMsFg8=r_esr5FUe3aF;uX#<0>vGN=?k=s+g0UkdTm=kgzF* zf$5kSn?=K>nUV)S6&zrCe%f$@y 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 index dbe62ffe6b2788b8442ffe836f9a1cf01c17c906..23c1190115539755a2d895750212afbe6af2fdeb 100644 GIT binary patch literal 11325 zcmc&)OKc=Z8LskrNir-6kMKx%Y!TwHyVCA-RrPCDD=WKeTf53W%yKFLV{bw_t#?{cDI9P3~l+J>8`H+ z-~ZSDbk)-O%GyPFDXJ~~>fdj@SBs?xL~rXs?aCEVzt!pHS-VkAMPT71|kWp57)E%`K@d#-yMjQq64?m(CuCu!TItaAKhSv2O?_NNj7@dvthQ| zyFZaqafs_)+J=xgM>5JrG77Sidcu{A!AlH2#3%a)JA+UAN5>276iyc3c0+Hvg9R3x zqW|X?kNCgv6Z7}O+u`pI|KBl}H*U-`BG~W{$kx%m=;w{x;%AP_PC* z_CSg_F|3xCsTz9Q8#&4(9SzxNQD7%SMbdq!Tm^>lL~O3LfDrXH)LtlBJ2+0DmkLCy zjpK9cy zB&m=pXdsy28>S)+gbZ;9ZjiCWH()M_q`~#;y?sP8_R=BC6yvQ7sz9VUahm%YhWV5R z_D9<|1P16>x4{>mWNu-k{=y1FWxIO ze2>-zN#<2?QgO=-U+y+KNRzQX$Q5&PKn3d}7e=ekm7RQNCkP@P1hE9=pfCuMMi8hV z2zHV{XFAYZ64VBTAY8+^xvp`K!aW+3X})UX80U0M*EIO*%w2<=Fb03zpFl>Kx_RKG zF{Tx8XewKMBDjc5xWU-~H@t|d2`0i~AC|sd!janX*ntGozGsR?#Fim>E zC%}1$icSEfJ|+ii+M$e7g^&&j{Bp047XOmd#evH~mhY1vrtJW-9UT-8a@0k8?3vcZ z6qB+s362$#JNtVB)7H>aU|pO$4@f%mu1x$Ov1fJGaIZ*4JJ_a>_-uH08@>@B;0E> zv%$L5;K|m0WUzbERAVp+pWEQD)L?qHd-fxPrEAoxvDirWI?Wv8sMKWOZIR8D0vE7) ztkcXk$K^H`LKhz4rlF`P&L;w1Nx991=p`$KFC%^K+)m4FE(9=HDS{d4bKBe~x496* z&<$0X+eZ39o6Rd~*FybQ@1SJ)ODI(cVrcfNG`a}Hj&F2%|Am%yjFO|L72e`iX><{a z9pC8k9t^7>MMhT&W2&ePJHFB7eV8i5F;yv!8R_%aba^jk-XeMdqx8lSSB2?qq{j5Xf|;KxU-RZ*+M(rVD{gR|;fC`us+h_haUzo)<7q?@ED8pA3+dH)OgH z$aJMZW~BQ-%wE&w9hold$ihm2%t)WxXjR^kVbQGMIUQCCWJdb@MwfSF=9RP;FskXW zQXn(Zy-qWyw<_<*!orRWOUxBMr;YUajV|xV!a^X!;%}8kll1wGF7L>~LLkGN@(PVM z(&sn2yd#SWfh?*N$c*&)jV|xVqQZ_0s~=TH`b2(Os`8F3Dg-iYUZ~RO6Y0oQc}Er% z0vR^IRB80d09koQX12Ha`muWzXzSz)oi?pvy5&@=`zAK7&?jX^6N{JhNg&vyWlHm9 zuS+{Y+8NSLF)yW>w6aJu&5H|s*(q*|jQP0-A$E#e=Qm9<1}zuUNHv99?KTfvoLMdg zkfEK`#S|^htS%<7OderrfD`}VvpwkWV0ph zuHzs24dahzptl)+q6zvb;~%~bdW-RogrM&+{?X?^-)8({PlH}#{K>~bUB*AY0NMim zi}6pq2>L7IpL_xIXU0GEJm?RMKNW%AW&G(2pkFfn>9e4pG5(n+K|f~vvyXv(0D6z{ z&wUs4PsY!F2lN-l#kW9zV*K;p0AVBOGuR0F%sY&KVH5NV#-CjWLEoiS(2p2@?lS26 zjDN8XdXw>U&w}1y{QOfO=zZaJc6c-0p^dFHfc>ahfB3MU@6?oxYfDS3ch_qF0T07Z A1^@s6 literal 10729 zcmd^_e^3P-}k$FPn1EcTZ%7JU{R-r_dmguIFJE{r3j0U2h!(lcFOFuRZ>=f z!zF;r;s`a6t^_$CPNf963I};Wss~C1kR}5{rh*&O04W2~Oc;wR6d*AXqwH4tc;J8g zgDDBtg=B8tNCBzINUevLLD>u48-N_1tIk&JrkwDz*zBgXRDr_^qnJ;F*;(QOG=wBa zaaoDo1>`_#a8g!Vf!pB(H~}vWNV6dc91!pqa!9dTsZDSNL`V?y3Zui}21*j1hY?6K zAV#1f(Lu@)9VLf|G(`(?;z?YNE7XKiK`K=0I5kO-D!GzS%1Kg15^-up;*Uq<(coQf zCuJ_dHoaY7u?`mITk=&wi+7!u1f7WwsfejlOzr-Y-%+O~cC&xdV~4ur6I7PR5WmmbFrh4RjEoj+&-3#w?r}ku7E|Zha-R(FDNytb}#h&e26?h)TeQK zZg6g}L9(92Wxl&(1NK?^z*{~u$WNyDP6^fd2Ux3zBsG6%$AUvg_T-+?CU)=cs*)Tu z^mc*^ol&>`ae-&H8Iq+l7IbiL5gdZvlTLEj-IU$!0!k%wsj0AT z%_|&qb<)t3uzcgxs77I(!^m+aM#|+Va~43lbm{BhahQK_po~L@qO0EEbQEMzu(Va< zs~DCvb~Z>l`xwa4VMlZ0W6G{q7dB)xT&y57Wkh;lif`Mw*QVSl?91&g zn|DQ;xdf_!4hmjInZ=ESgT6Yr%v>ZomRHvh1Ugp^1f$i#C~A`%9}MYt-uj#UiYBD?&gN|$#nNqs4?a$x9h9C0 znrHnMD>X=iOSRfPndQ}k&6@+x9B(*LzBc;{OZc6C_C9*?$v20SHAnoeZ=C~bBr(gE z_Aur<(u$gPPR(xbf2Otkme2WtHCtl9N4vH*X+I`X8+=il^FqH*8yXsJwpuvt^$gu)lY5 z{!0h4haawQ^gR*W5R$s$Mrr7!W>4ss)3!wJ|3~SryQ<3Bk!u%cG=1G>S~jy?EAMU@ zYz{f}-0ZrKjy>b5zc>FI(_KUSuT3+)-{JE6YURwYEM0e!|NL~v;ojdTTuZOLiMK=ZRCTVSdd`y+gO(jvJYEurLC|JbYoVdfkU70&l({`*vQs zwC4Jfosqhl_$!B=TL(pkfqQ_eLn2{|^OLxP?iIW@t|k0R9soqX(!CbcFmc}XN-3pga$6W;jfz(>8BIKu;F z7lg%CFAE(O&S8P`iYA=!MbrwET@V;oyfF0GLM{wm-NZ!|PLy2`7=2zCCM<#rgI79n zQT;l~E(DAtEWd8X02c(mf6uw^(Q9)65VQ6@3!=u4gacS^MC?TqZqU^%Z@VZY=3bvX{gI7ZdQ8g50 z7lww{fqIM>baWG5(h?xqYg82Y4ED3TvQcB*#)6NuxevDkNcAIs;FF46-C*Fp~0$+ zRXpxX&a0wwQB@RW7lsDQi)Qe+FFCJ@%0*RClwBAaEH9eNLMMN#&NG$!HO z$bi4vmeg2FJ8Cyhk$5N`^94H%yl-O1--yC5LPfNqDEmYhlkz}Mu&k(^$9ySxMN}cG zh@$Mm&|q273Lf*N;1yAYs3MB83qyltMXPws7i<{f8!4iSsDjQe2#q$D-Kgg=UkY9k zRfsC0D7!E;SaxFvmcg;2sB32|bCRPBcBascW~*&h7u|D3SB??(VbOo-F=YhI8k(UI z&niJs?6M|$Ap5*AcG9l=W8|l_Drc;FOr*W|xYUnv*i~$q!gPu0HKkqBq|GcLS zb*;gMHo-d6BtFr)>8bwF{Z8@NUlMg$L6+1mD_(61?l)z9nvbvPDru?7s$Zl# p_7hW>#OjIAbK9RLwv7FMFT>V9v(vrFNv+2ST!}?RCF^zAzX5k~w(S4_ diff --git a/qpdf/qtest/qpdf/extra-header-lin-newline.pdf b/qpdf/qtest/qpdf/extra-header-lin-newline.pdf index 7a5ff3e660096b540e88814b5a06fdf1ea4c2f59..b23c5152a30d26df5262d398e0cc97ffa4a0d0ec 100644 GIT binary patch delta 291 zcmdnSwSa4auC}3(g1(1Bw1TOnv4WwIp+c;JzQ2O0g1)PQp@D_Dg1(=Ep@M#hf}x?Q z$;60fwk8S&AfS+^zy)R)7+9E^V~AOr8eoc97)-8aG-NU{o4k&3eRQybv6+ItPikIz zNrr-%se+vyS8+*EYGN)I0|NsK0|QeakY->k1(6T{WitbLKzTR-u_1gp2KGmPSS~P3 z-paJq!UV}grw}d$1${R|1tSxMkTf9M+z5ya6hcyfY>j~YlEjjHO@)vwF4qvQ$-9|< MG6Q`+c{@uz0Fo>_v;Y7A delta 317 zcmZ3$wT)|nuC}p>g1(1Bw1TOnv4WwYg+i=?zQ2O0g1#$|XJDzI@26m>pdSL{n43+E zcxG#;U;qLNc?w)$hJk^FsR@RdrMVHhn4y7z(d30JVv{E_N;8>ROkT&hKEf?CrzEvV zLEkMWu_VeRY5;k!Prbe-zPOMy(B}y#8AP`j;pw&C^a#ct71-aLPA1fLIPI` z1Jf}(Hj9Q$GbImvDmcLO{IuZ)d%uL82N)Ovo0tzy-odmr&;n>K7W0vfE9QC_6mX&3 zIK;pxki(OC)7jpJ6Ap?htS7Ek1(6T{WitbLKzTR-u_1gp2KGmPSS~P3 z-paJq!UV}grw}d$1${R|1tSxMkTf9M+z5ya6hcyfY>j~YlEjjHO@)vwF4qvQ$-9|< MG6Q`+c{@uz0Fo>_v;Y7A delta 317 zcmZ3$wT)|nuC}p>g1(1Bw1TOnv4WwYg+i=?zQ2O0g1#$|XJDzI@26m>pdSL{n43+E zcxG#;U;qLNc?w)$hJk^FsR@RdrMVHhn4y7z(d30JVv{E_N;8>ROkT&hKEf?CrzEvV zLEkMWu_VeRY5;k!Prbe-zPOMy(B}y#8AP`j;pw&C^a#ct71-aLPA1fLIPI` z1Jf}(Hj9Q$GbImvDmcLO{IuZ)d%uL82N)Ovo0tzy-odmr&;n>K7W0vfE9QC_6mX&3 zIK;pxki(OC)7jpJ6Ap?htS7EHL0Cl+ErQwSmwxtPnLQO@ga>{ZfP+gn_x zg*J9_zrxNx;pV(UF`dKid&9iP>@uH?VdHjnMY?ddZ~)~Aa1r1TPJ{qX8=Of2X9s#A z2KSh{+aEPKSOpZY$AqypscKpvMHw0EmJ0mx#(2EigI;pB(;^#m;k#(H?8`wvP0nm0 zGKfq;re^oFpzAj(ZjRNN>o+=D>gqC`>26IfQ9^Sc^h$PGbS9pfogeq?01Q}Xf# f`6oTj1FxpJQh&X|Ps&`@Q|5|$I_1UEoX@`iroLyI delta 488 zcmdnY_nL2luC}G6g1(1Bw1TObk%FPIp+c;JzP|!c%vHhAz}!$l-%r6o@0y7K@EKJNX#4ODXC;KznGMkwiPwr=2pX!#GQ<7SwpzoHGSd!|J znw+1Ks-PdNU}CDE?~|IBUXr0;YNB9g$5mWXl$w~!RWTjV*2-v5ivd^xk{h)iqKkuM>v%)YG?bXczo=rM?~@@Q|K z%eW9oojis0Tp%#4(L&bH$jB5!%-GxlL(J3wQ?IG{WIsmn$*0&d0b#L^ A-v9sr diff --git a/qpdf/qtest/qpdf/long-id-linearized.pdf b/qpdf/qtest/qpdf/long-id-linearized.pdf index 2993fd30695110da75692a4c8808cc3801594dc1..e7bc709f9a1ff4fe2c7f22c2d7ff2244ea024acc 100644 GIT binary patch delta 364 zcmaiv!Ab)$5Qekc6(Nt{LH?s6l4O%jvIlz*sy&DbjUW^cyWOoK*n+O_p#*$_-o%3k zFFu6$3_ga4n6)B85B>}@-^{?z%rl+Qo6QZO!TJ~?vl1c|H~~9A2G)b%#(?cZfH?@E z)a~)hmI7~u3FtR)Zk1V><%%!P4ELi*#8UgasE;}?M|q`XU0KZw6YLFF+?G;nRgO#R zKcl1J05Y7nS5HoxGw2N6F1>0l>*9hELJ~sa-B3w%-R8M|xD&dt|5eNLew8f0eI&2M z-^Wi@{c+rO6kt07se&5^HfabBR|Q@>oHj)>U57iTJxBdx=RG#YKO}?yAHmYf7ZCeS Av;Y7A delta 386 zcmZ3&wTo+luC}p-g1(1Bw1TOHv4WwYg+i=?zQ2O0g1)PQp@F5Pg1(=Ep@M!0P|D0~ zV#GOHLj?m6P{>o@0y7K@EKE!=#4OE>FvTp5CMPo*GMQRTp2p~*U|?iqYHn&^Xl#&b zU~H6{Xpn4Vnq*;NXl$8mW?+$=GWj24XoOp4PDyH!g1%c$Vo9n?YI1%`s)By7g0Y!` zzE5gidP#9anKlQEFl?SH+y6Ec{cMeCQHl7(^-NEdyk7%3II{%av=Z! diff --git a/qpdf/qtest/qpdf/minimal-linearize-pass1.pdf b/qpdf/qtest/qpdf/minimal-linearize-pass1.pdf index e851063a65eb07152002bc85394753aa74eacac0..ac7d71eda6cd83787cc3f542a443bb5a281b7155 100644 GIT binary patch delta 125 zcmeyx`H*wN9VQDC1v@*g;*z4 S_?5H1A;eK$h|BNK&?G$7mD2#5?6LQ;Tijez`; z#FBhXg^(;R*ATABy3D_rOpGRLvMew(GUQTKC{9hz&r6A~C`wI>&reG$PA#!DG%!Gy LNzF^KHQ)jOy^JKZ delta 150 zcmaFJ`HOSI9i~7F1%0>7oRZWcAf1y~lIoJ0oS%}aU}wiwTvC*pn9Ef$rPBP7$WS3xLEm4&R6*ZW!O+0WSV7-U!B9azM8VL| z*kEGBSvyMu1p^RJ$W!0~GYkwYjEynGERD=C#Z1j6&u0;vT*)ZSWMnjX8sqxtUP7&_W?rLEm4&R6*ZW!O*}0Nc$-mD(Hs*rA&<` zMx3>?Fjp`D0fjsTE-=Huz{1!7L(I~|0#nS~VsbL0A(M&8Ymy^xbk2 zOHy4@lk-zj74(A@jLj7EeNyw%OEMHp3>EC`xQa`PQWJBzD&{07BqSszBy37yU^-^U zX3?-|rsRQ71qYa(pElfJ@0YOi00V=M5cA5(3z)VBS^&+(Vm`8Q#as`A0xpyrhZq diff --git a/qpdf/qtest/qpdf/pages-is-page-out.pdf b/qpdf/qtest/qpdf/pages-is-page-out.pdf index 15f643d4323b58eeb3ee3a7f4a3f5e6f0bb8a85e..809f18d0739e60bd973d3f366ea86f927d76adc6 100644 GIT binary patch delta 296 zcmbQo)xkAEN5{y*LP6g{AzH!I%u>P7$WS3xLEm4&R6*ZW!O+0WSV7-U!B9azM8VL| z*kEGBSvyMu1p^RJ$W!0~GYkwYjEynGERD=C#Z1j6&u0;vT*)ZSWMnjX8sqxtUP7&_W?rLEm4&R6*ZW!O*}0Nc$-mD(Hs*rA&<` zMx3>?Fjp`D0fjsTE-=Huz{1!7L(I~|0#nS~VsbL0A(M&8Ymy^xbk2 zOHy4@lk-zj74(A@jLj7EeNyw%OEMHp3>EC`xQa`PQWJBzD&{07BqSszBy37yU^-^U zX3?-|rsRQ71qYa(pElfJ@0YOi00V=M5cA5(3z)VBS^&+(Vm`8Q#as`A0xpyrhZq diff --git a/qpdf/qtest/qpdf/short-id-linearized.pdf b/qpdf/qtest/qpdf/short-id-linearized.pdf index ec8829d73f31ff228ff822e194f2ffc956b5f97c..10ef195b0f1b56775c7952881ab1737b60f7082c 100644 GIT binary patch delta 387 zcmaiw!AiqG5QaBtK-`Cr|58vyva`)@62TmV77tf4E(P_yBT)!#q|8mMi(CjL!ikPdK)o=F!@`KX zeshjTN9bwz`(}1pok1%k3BRmLlU;Den8%n)HZ$j{iLHLPW1a2)s^QkJv6a_P?}gP1 z_bCegOx#U5;138gKsvQ-UlU4!bYgk^a9(BAd;{q@@29+e?0mRN)eqjz_J4;Y<910_ RR@bGOa!HzZyZzySe*tj)RPX=* delta 391 zcmeyt*~c|OSKHD=LEl3mTEW!JP{Gj9LLpW`-(SI0LElxu(7@bWLElfoP(eQgC}mu2q@$!aDf>H1{Ov}7-E(t2AE>z29q0E#3olVN;4UoO`gVRq>yHmmY8T^ zVUV1dW@wmXmTHk`VQ6k{X^@s`l9HH`W-|E&V`zk1W==_Jk%GQkPGU)_OKNg{N~(f> zu!6Cfg1%2`UV2G}f{CGmogG(kNl|KIE?32zG^5H4fcKsI}b20csVgIoIHbRYoGCo|xRq{ENxl9OzS9!rr^bA_V}nOm@Hk 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(); }