76 lines
1000 B
Perl
76 lines
1000 B
Perl
package Test::LeakTrace::Script;
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
use Test::LeakTrace ();
|
|
|
|
my $Mode = $ENV{TEST_LEAKTRACE};
|
|
|
|
sub import{
|
|
shift;
|
|
|
|
$Mode = shift if @_;
|
|
}
|
|
|
|
no warnings 'void';
|
|
|
|
INIT{
|
|
Test::LeakTrace::_start(1);
|
|
}
|
|
|
|
END{
|
|
$Mode = -simple unless defined $Mode;
|
|
Test::LeakTrace::_finish($Mode);
|
|
return;
|
|
}
|
|
|
|
1;
|
|
__END__
|
|
|
|
=head1 NAME
|
|
|
|
Test::LeakTrace::Script - A LeakTrace interface for whole scripts
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
#!perl -w
|
|
use Test::LeakTrace::Script sub{
|
|
my($svref, $file, $line) = @_;
|
|
|
|
warn "leaked $svref from $file line $line.\n";
|
|
};
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
This is a interface to C<Test::LeakTrace> for whole scripts.
|
|
|
|
=head1 INTERFACE
|
|
|
|
=head2 Command line interface
|
|
|
|
$ perl -MTest::LeakTrace::Script script.pl
|
|
|
|
$ perl -MTest::LeakTrace::Script=-verbose script.pl
|
|
|
|
$ TEST_LEAKTRACE=-lines script.pl
|
|
|
|
=head1 ENVIRONMENT VARIABLES
|
|
|
|
=head2 TEST_LEAKTRACE=mode
|
|
|
|
=head3 -simple (DEFAULT)
|
|
|
|
=head3 -sv_dump
|
|
|
|
=head3 -lines
|
|
|
|
=head3 -verbose
|
|
|
|
=head1 SEE ALSO
|
|
|
|
L<Test::LeakTrace>.
|
|
|
|
=cut
|
|
|