1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
#!/usr/bin/perl
BEGIN {
die "The PERCONA_TOOLKIT_BRANCH environment variable is not set.\n"
unless $ENV{PERCONA_TOOLKIT_BRANCH} && -d $ENV{PERCONA_TOOLKIT_BRANCH};
unshift @INC, "$ENV{PERCONA_TOOLKIT_BRANCH}/lib";
};
use strict;
use warnings FATAL => 'all';
use English qw(-no_match_vars);
use Test::More tests => 12;
use FileIterator;
use PerconaTest;
use constant PTDEBUG => $ENV{PTDEBUG} || 0;
use Data::Dumper;
$Data::Dumper::Indent = 1;
$Data::Dumper::Sortkeys = 1;
$Data::Dumper::Quotekeys = 0;
my $sample = "$trunk/t/lib/samples/";
my ($next_fh, $fh, $name, $size);
my $fi = new FileIterator();
isa_ok($fi, 'FileIterator');
# #############################################################################
# Empty list of filenames.
# #############################################################################
$next_fh = $fi->get_file_itr(qw());
is( ref $next_fh, 'CODE', 'get_file_itr() returns a subref' );
( $fh, $name, $size ) = $next_fh->();
is( "$fh", '*main::STDIN', 'Got STDIN for empty list' );
is( $name, undef, 'STDIN has no name' );
is( $size, undef, 'STDIN has no size' );
# #############################################################################
# Magical '-' filename.
# #############################################################################
$next_fh = $fi->get_file_itr(qw(-));
( $fh, $name, $size ) = $next_fh->();
is( "$fh", '*main::STDIN', 'Got STDIN for "-"' );
# #############################################################################
# Real filenames.
# #############################################################################
$next_fh = $fi->get_file_itr("$sample/slowlogs/slow002.txt", "$sample/empty");
( $fh, $name, $size ) = $next_fh->();
is( ref $fh, 'GLOB', 'Open filehandle' );
is( $name, "$sample/slowlogs/slow002.txt", "Got filename for $name");
is( $size, 3841, "Got size for $name");
( $fh, $name, $size ) = $next_fh->();
is( $name, "$sample/empty", "Got filename for $name");
is( $size, 0, "Got size for $name");
( $fh, $name, $size ) = $next_fh->();
is( $fh, undef, 'Ran off the end of the list' );
# #############################################################################
# Done.
# #############################################################################
exit;
|