The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use strict;
use warnings;
use Test::More;
my $tests;
plan tests => $tests;


use lib 'eg';
use_ok('MyTimer');
BEGIN { $tests += 1; }


{
    close STDERR;
    my $stderr = '';
    open STDERR, '>', \$stderr or die;

    unlink 'timer.log';

    my $t = MyTimer->new;
    isa_ok($t, 'MyTimer');

    $t->mark("first db query");
    $t->mark("second db query");
    $t->mark("END");

    $t->report;
    $t->shutdown;
    is ($stderr, '');

    ok(-e 'timer.log');

    my $log = slurp('timer.log');
    like($log, qr/Total time/);
    like($log, qr/first db query/);
    like($log, qr/second db query/);
    like($log, qr/second db query -> END/);
    
    BEGIN { $tests += 7; }
}

sub slurp {
    my ($file) = @_;
    open my $fh, '<', $file or die;
    local $/ = undef;
    return <$fh>;
}