aboutsummaryrefslogtreecommitdiffstats
path: root/libtests/qtest/flate.test
diff options
context:
space:
mode:
authorJay Berkenbilt <ejb@ql.org>2008-04-29 14:55:25 +0200
committerJay Berkenbilt <ejb@ql.org>2008-04-29 14:55:25 +0200
commit9a0b88bf7777c153dc46ace22db74ef24d51583a (patch)
treef567ac1cf2bf5071a611eb49323a935b6ac938ff /libtests/qtest/flate.test
downloadqpdf-9a0b88bf7777c153dc46ace22db74ef24d51583a.tar.zst
update release date to actual daterelease-qpdf-2.0
git-svn-id: svn+q:///qpdf/trunk@599 71b93d88-0707-0410-a8cf-f5a4172ac649
Diffstat (limited to 'libtests/qtest/flate.test')
-rw-r--r--libtests/qtest/flate.test73
1 files changed, 73 insertions, 0 deletions
diff --git a/libtests/qtest/flate.test b/libtests/qtest/flate.test
new file mode 100644
index 00000000..fe850b3e
--- /dev/null
+++ b/libtests/qtest/flate.test
@@ -0,0 +1,73 @@
+#!/usr/bin/env perl
+require 5.008;
+BEGIN { $^W = 1; }
+use strict;
+use File::Copy;
+use Digest::MD5;
+
+chdir("flate") or die "chdir testdir failed: $!\n";
+
+require TestDriver;
+
+cleanup();
+
+my $td = new TestDriver('flate');
+
+cleanup();
+
+open(F, ">farbage") or die;
+print F "q" x 10000, "\n";
+print F "w" x 10000, "\n";
+print F "e" x 10000, "\n";
+print F "r" x 10000, "\n";
+print F "t" x 10000, "\n";
+print F "y" x 10000, "\n";
+print F "u" x 10000, "\n";
+print F "i" x 10000, "\n";
+print F "o" x 10000, "\n";
+print F "p" x 10000, "\n";
+close(F);
+
+check_file("farbage", "a6449c61db5b0645c0693b7560b77a60");
+
+$td->runtest("run driver",
+ {$td->COMMAND => "flate farbage"},,
+ {$td->STRING => "bytes written to o3: 100010\ndone\n",
+ $td->EXIT_STATUS => 0},
+ $td->NORMALIZE_NEWLINES);
+
+check_file("farbage", "a6449c61db5b0645c0693b7560b77a60");
+
+$td->runtest("compressed file correct",
+ {$td->FILE => "farbage.1"},
+ {$td->FILE => "compressed"});
+
+$td->runtest("uncompress filter works",
+ {$td->FILE => "farbage"},
+ {$td->FILE => "farbage.2"});
+
+$td->runtest("double filter works",
+ {$td->FILE => "farbage"},
+ {$td->FILE => "farbage.3"});
+
+cleanup();
+
+$td->report(6);
+
+sub cleanup
+{
+ system("rm -f farbage*");
+}
+
+sub check_file
+{
+ my ($file, $sum) = @_;
+ open(F, "<$file") or die "open $file";
+ my $md5 = new Digest::MD5;
+ $md5->addfile(*F);
+ close(F);
+ my $result = $md5->hexdigest;
+ $td->runtest("check $file",
+ {$td->STRING => "$result\n"},
+ {$td->STRING => "$sum\n"});
+}