summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2015-04-06 16:23:03 +0000
committerUlrich Müller <ulm@gentoo.org>2015-04-06 16:24:17 +0000
commit6611d008e9d18e9da243b0ee8076ab3ae22d5355 (patch)
treed505709d62a0520ff3e7fa9055a46539386bf8b4 /test-plans/example.pl
downloademacs-6611d008e9d18e9da243b0ee8076ab3ae22d5355.tar.gz
emacs-6611d008e9d18e9da243b0ee8076ab3ae22d5355.tar.bz2
emacs-6611d008e9d18e9da243b0ee8076ab3ae22d5355.zip
Import test plans.
Diffstat (limited to 'test-plans/example.pl')
-rw-r--r--test-plans/example.pl34
1 files changed, 34 insertions, 0 deletions
diff --git a/test-plans/example.pl b/test-plans/example.pl
new file mode 100644
index 0000000..bbd5832
--- /dev/null
+++ b/test-plans/example.pl
@@ -0,0 +1,34 @@
+#!/usr/bin/perl
+
+eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
+ if 0; # not running under some shell
+
+# Computes and prints to stdout the CRC-32 values of the given files
+
+use strict;
+use lib qw( blib/lib lib );
+use Archive::Zip;
+use FileHandle;
+
+my $totalFiles = scalar(@ARGV);
+foreach my $file (@ARGV) {
+ if ( -d $file ) {
+ warn "$0: ${file}: Is a directory\n";
+ next;
+ }
+ my $fh = FileHandle->new();
+ if ( !$fh->open( $file, 'r' ) ) {
+ warn "$0: $!\n";
+ next;
+ }
+ binmode($fh);
+ my $buffer;
+ my $bytesRead;
+ my $crc = 0;
+ while ( $bytesRead = $fh->read( $buffer, 32768 ) ) {
+ $crc = Archive::Zip::computeCRC32( $buffer, $crc );
+ }
+ printf( "%08x", $crc );
+ print("\t$file") if ( $totalFiles > 1 );
+ print("\n");
+}