|
Packit |
0bf95d |
#!/usr/bin/perl
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
use strict;
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
BEGIN {
|
|
Packit |
0bf95d |
$| = 1;
|
|
Packit |
0bf95d |
$^W = 1;
|
|
Packit |
0bf95d |
}
|
|
Packit |
0bf95d |
use Archive::Zip qw( :ERROR_CODES :CONSTANTS );
|
|
Packit |
0bf95d |
use File::Spec;
|
|
Packit |
0bf95d |
use IO::File;
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
use Test::More tests => 17;
|
|
Packit |
0bf95d |
use lib 't';
|
|
Packit |
0bf95d |
use common;
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
sub runPerlCommand {
|
|
Packit |
0bf95d |
my $libs = join(' -I', @INC);
|
|
Packit |
0bf95d |
my $cmd = "\"$^X\" \"-I$libs\" -w \"" . join('" "', @_) . '"';
|
|
Packit |
0bf95d |
my $output = `$cmd`;
|
|
Packit |
0bf95d |
return wantarray ? ($?, $output) : $?;
|
|
Packit |
0bf95d |
}
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
use constant FILENAME => File::Spec->catpath('', TESTDIR, 'testing.txt');
|
|
Packit |
0bf95d |
use constant ZFILENAME => TESTDIR . "/testing.txt"; # name in zip
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
my $zip = Archive::Zip->new();
|
|
Packit |
0bf95d |
isa_ok($zip, 'Archive::Zip');
|
|
Packit |
0bf95d |
$zip->addString(TESTSTRING, FILENAME);
|
|
Packit |
0bf95d |
$zip->writeToFileNamed(INPUTZIP);
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
my ($status, $output);
|
|
Packit |
0bf95d |
my $fh = IO::File->new("test.log", "w");
|
|
Packit |
0bf95d |
isa_ok($fh, 'IO::File');
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
is(runPerlCommand('examples/copy.pl', INPUTZIP, OUTPUTZIP), 0);
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
is(runPerlCommand('examples/extract.pl', OUTPUTZIP, ZFILENAME), 0);
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
is(runPerlCommand('examples/mfh.pl', INPUTZIP), 0);
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
is(runPerlCommand('examples/zip.pl', OUTPUTZIP, INPUTZIP, FILENAME), 0);
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
($status, $output) = runPerlCommand('examples/zipinfo.pl', INPUTZIP);
|
|
Packit |
0bf95d |
is($status, 0);
|
|
Packit |
0bf95d |
$fh->print("zipinfo output:\n");
|
|
Packit |
0bf95d |
$fh->print($output);
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
($status, $output) = runPerlCommand('examples/ziptest.pl', INPUTZIP);
|
|
Packit |
0bf95d |
is($status, 0);
|
|
Packit |
0bf95d |
$fh->print("ziptest output:\n");
|
|
Packit |
0bf95d |
$fh->print($output);
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
($status, $output) = runPerlCommand('examples/zipGrep.pl', '100', INPUTZIP);
|
|
Packit |
0bf95d |
is($status, 0);
|
|
Packit |
0bf95d |
is($output, ZFILENAME . ":100\n");
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
# calcSizes.pl
|
|
Packit |
0bf95d |
# creates test.zip, may be sensitive to /dev/null
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
# removed because requires IO::Scalar
|
|
Packit |
0bf95d |
# ok( runPerlCommand('examples/readScalar.pl'), 0 );
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
unlink(OUTPUTZIP);
|
|
Packit |
0bf95d |
is(runPerlCommand('examples/selfex.pl', OUTPUTZIP, FILENAME), 0);
|
|
Packit |
0bf95d |
unlink(FILENAME);
|
|
Packit |
0bf95d |
is(runPerlCommand(OUTPUTZIP), 0);
|
|
Packit |
0bf95d |
my $fn = File::Spec->catpath('', File::Spec->catdir('extracted', TESTDIR),
|
|
Packit |
0bf95d |
'testing.txt');
|
|
Packit |
0bf95d |
is(-f $fn, 1, "$fn exists");
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
# unzipAll.pl
|
|
Packit |
0bf95d |
# updateZip.pl
|
|
Packit |
0bf95d |
# writeScalar.pl
|
|
Packit |
0bf95d |
# zipcheck.pl
|
|
Packit |
0bf95d |
# ziprecent.pl
|
|
Packit |
0bf95d |
|
|
Packit |
0bf95d |
unlink(OUTPUTZIP);
|
|
Packit |
0bf95d |
is(runPerlCommand('examples/updateTree.pl', OUTPUTZIP, TESTDIR),
|
|
Packit |
0bf95d |
0, "updateTree.pl create");
|
|
Packit |
0bf95d |
is(-f OUTPUTZIP, 1, "zip created");
|
|
Packit |
0bf95d |
is(runPerlCommand('examples/updateTree.pl', OUTPUTZIP, TESTDIR),
|
|
Packit |
0bf95d |
0, "updateTree.pl update");
|
|
Packit |
0bf95d |
is(-f OUTPUTZIP, 1, "zip updated");
|
|
Packit |
0bf95d |
unlink(OUTPUTZIP);
|