1use strict; 2use warnings; 3use Test::More tests => 1; 4 5use File::Spec; 6use FindBin '$Bin'; 7use Archive::Tar; 8 9# filenames 10my $tartest = File::Spec->catfile("t", "ptargrep"); 11my $foo = File::Spec->catfile("t", "ptargrep", "foo"); 12my $tarfile = File::Spec->catfile("t", "ptargrep.tar"); 13my $ptargrep = File::Spec->catfile($Bin, "..", "bin", "ptargrep"); 14my $cmd = qq/$^X $ptargrep --list-only "file foo" $tarfile/; 15 16# create directory/files 17mkdir $tartest; 18open my $fh, ">", $foo or die $!; 19print $fh "file foo\n"; 20close $fh; 21 22# create archive 23my $tar = Archive::Tar->new; 24$tar->add_files($foo); 25$tar->write($tarfile); 26 27# see if ptargrep matches 28my $out = qx{$cmd}; 29cmp_ok($out, 'eq', "$foo\n", "ptargrep shows matched file"); 30 31# cleanup 32END { 33 unlink $tarfile or die $!; 34 unlink $foo or die $!; 35 rmdir $tartest or die $!; 36} 37