liblog-dispatch-file-rollin.../t/6.t

75 lines
1.5 KiB
Perl
Raw Permalink Normal View History

2017-01-16 14:36:11 +01:00
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl 1.t'
#########################
# change 'tests => 1' to 'tests => last_test_to_print';
use Test;
BEGIN { plan tests => 9 };
use Log::Dispatch;
use Log::Dispatch::File::Rolling;
ok(1); # If we made it this far, we're ok.
#########################1
my $dispatcher = Log::Dispatch->new;
ok($dispatcher);
#########################2
my %params = (
name => 'file',
min_level => 'debug',
filename => 'logfile.txt',
);
my $Rolling = Log::Dispatch::File::Rolling->new(%params);
ok($Rolling);
#########################3
$dispatcher->add($Rolling);
ok(1);
#########################4
my $message1 = 'logtest id ' . int(rand(9999));
my $message2 = 'logtest id ' . int(rand(9999));
$dispatcher->log( level => 'info', message => $message1 );
close $Rolling->{fh}; # disturb internal bookkeeping, must recover from this
$dispatcher->log( level => 'info', message => $message2 );
ok(1);
#########################5
$dispatcher = $Rolling = undef;
ok(1);
#########################6
my @logfiles = glob('logfile*.txt');
ok(scalar(@logfiles) == 1 or scalar(@logfiles) == 2);
#########################7
my $content = '';
foreach my $file (@logfiles) {
open F, '<', $file;
local $/ = undef;
$content .= <F>;
close F;
unlink $file;
}
ok($content =~ /$message1/);
ok($content =~ /$message2/);
#########################8