Merge remote-tracking branch 'tails/img-determinism'
commit
30b101e6e8
|
@ -174,6 +174,12 @@ sub preprocess (@) {
|
||||||
my $r = $im->Read("$format:$srcfile\[$pagenumber]");
|
my $r = $im->Read("$format:$srcfile\[$pagenumber]");
|
||||||
error sprintf(gettext("failed to read %s: %s"), $file, $r) if $r;
|
error sprintf(gettext("failed to read %s: %s"), $file, $r) if $r;
|
||||||
|
|
||||||
|
if ($config{deterministic}) {
|
||||||
|
$im->Set('date:create' => 0);
|
||||||
|
$im->Set('date:modify' => 0);
|
||||||
|
$im->Set('option' => 'png:exclude-chunk=time');
|
||||||
|
}
|
||||||
|
|
||||||
if (! defined $im->Get("width") || ! defined $im->Get("height")) {
|
if (! defined $im->Get("width") || ! defined $im->Get("height")) {
|
||||||
error sprintf(gettext("failed to get dimensions of %s"), $file);
|
error sprintf(gettext("failed to get dimensions of %s"), $file);
|
||||||
}
|
}
|
||||||
|
|
13
t/img.t
13
t/img.t
|
@ -155,6 +155,19 @@ ok(! -e "$outpath/666x-really-pdf.jpg");
|
||||||
like($outhtml, qr/${quot}really-pdf\.png${quot} does not seem to be a valid png file/);
|
like($outhtml, qr/${quot}really-pdf\.png${quot} does not seem to be a valid png file/);
|
||||||
ok(! -e "$outpath/666x-really-pdf.png");
|
ok(! -e "$outpath/666x-really-pdf.png");
|
||||||
|
|
||||||
|
# resize is deterministic when deterministic=1
|
||||||
|
ok(utime(333333333, 333333333, "t/tmp/in/redsquare.png"));
|
||||||
|
ok(! system("rm $outpath/10x-redsquare.png"));
|
||||||
|
ok(! system(@command, '--set-yaml', 'img_allowed_formats=[JPEG, PNG, svg, pdf]', '--set', 'deterministic=1', "--rebuild"));
|
||||||
|
ok(! system("cp $outpath/10x-redsquare.png $outpath/10x-redsquare.png.orig"));
|
||||||
|
ok(utime(444444444, 444444444, "t/tmp/in/redsquare.png"));
|
||||||
|
ok(! system("rm $outpath/10x-redsquare.png"));
|
||||||
|
ok(! system(@command, '--set-yaml', 'img_allowed_formats=[JPEG, PNG, svg, pdf]', '--set', 'deterministic=1', "--rebuild"));
|
||||||
|
ok(
|
||||||
|
! system("cmp $outpath/10x-redsquare.png $outpath/10x-redsquare.png.orig"),
|
||||||
|
"resize is deterministic when configured with deterministic=1"
|
||||||
|
);
|
||||||
|
|
||||||
# disable support for uncommon formats and try again
|
# disable support for uncommon formats and try again
|
||||||
ok(! system(@command, "--rebuild"));
|
ok(! system(@command, "--rebuild"));
|
||||||
ok(! -e "$outpath/10x-bluesquare.png");
|
ok(! -e "$outpath/10x-bluesquare.png");
|
||||||
|
|
Loading…
Reference in New Issue