]> git.vpit.fr Git - perl/modules/Test-Valgrind.git/commitdiff
This is 1.01 v1.01
authorVincent Pit <vince@profvince.com>
Tue, 14 Apr 2009 21:14:31 +0000 (23:14 +0200)
committerVincent Pit <vince@profvince.com>
Tue, 14 Apr 2009 21:14:31 +0000 (23:14 +0200)
18 files changed:
Changes
META.yml
README
lib/Test/Valgrind.pm
lib/Test/Valgrind/Action.pm
lib/Test/Valgrind/Action/Captor.pm
lib/Test/Valgrind/Action/Suppressions.pm
lib/Test/Valgrind/Action/Test.pm
lib/Test/Valgrind/Carp.pm
lib/Test/Valgrind/Command.pm
lib/Test/Valgrind/Command/Perl.pm
lib/Test/Valgrind/Command/PerlScript.pm
lib/Test/Valgrind/Report.pm
lib/Test/Valgrind/Session.pm
lib/Test/Valgrind/Suppressions.pm
lib/Test/Valgrind/Tool.pm
lib/Test/Valgrind/Tool/SuppressionsParser.pm
lib/Test/Valgrind/Tool/memcheck.pm

diff --git a/Changes b/Changes
index 3ccd94d893b2021086d7504372fb8b7b88098521..6b59d973a12654c0c5368928d6f05d392227b9cd 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,5 +1,12 @@
 Revision history for Test-Valgrind
 
+1.01    2009-04-14 21:15 UTC
+        + Add : Allow testing code given by -e. Hurray for source filters!
+        + Fix : Lazily load version.pm in Test::Valgrind::Session so that it's
+                not really needed at configure time.
+        + Fix : Don't unload dynamic extensions by default so that their symbols
+                still appear in the stack traces.
+
 1.00    2009-04-12 22:50 UTC
         Complete rewrite. The options passed to Test::Valgrind->import have
         changed, so please have a look at the doc.
index fbe48ed6b8ca0b55d7b2f4c47500943d4dfef7d1..cc2f1c107d4d698ebb9b9fe1c0a085352cf762a1 100644 (file)
--- a/META.yml
+++ b/META.yml
@@ -1,12 +1,13 @@
 --- #YAML:1.0
 name:               Test-Valgrind
-version:            1.00
+version:            1.01
 abstract:           Test Perl code through valgrind.
 author:
     - Vincent Pit <perl@profvince.com>
 license:            perl
 distribution_type:  module
 configure_requires:
+    base:                 0
     Carp:                 0
     Config:               0
     ExtUtils::MakeMaker:  0
@@ -16,16 +17,17 @@ configure_requires:
     Scalar::Util:         0
     version:              0
 build_requires:
+    base:                 0
     Carp:                 0
     Digest::MD5:          0
     Env::Sanctify:        0
     ExtUtils::MakeMaker:  0
     Fcntl:                0
-    File::Copy:           0
     File::HomeDir:        0.86
     File::Path:           0
     File::Spec:           0
-    File::Temp:           0
+    File::Temp:           0.14
+    Filter::Util::Call:   0
     Perl::Destruct::Level:  0
     POSIX:                0
     Scalar::Util:         0
@@ -34,6 +36,7 @@ build_requires:
     version:              0
     XML::Twig:            0
 requires:
+    base:                 0
     Carp:                 0
     Digest::MD5:          0
     Env::Sanctify:        0
@@ -41,7 +44,8 @@ requires:
     File::HomeDir:        0.86
     File::Path:           0
     File::Spec:           0
-    File::Temp:           0
+    File::Temp:           0.14
+    Filter::Util::Call:   0
     perl:                 5.006
     Perl::Destruct::Level:  0
     POSIX:                0
diff --git a/README b/README
index ec80e574022c187a4feb9c8f84dcf2963b395cec..ab84bdbe24936d151c9716eb220ec2c7b4068dd1 100644 (file)
--- a/README
+++ b/README
@@ -2,17 +2,20 @@ NAME
     Test::Valgrind - Test Perl code through valgrind.
 
 VERSION
-    Version 1.00
+    Version 1.01
 
 SYNOPSIS
         # From the command-line
         perl -MTest::Valgrind leaky.pl
 
+        # From the command-line, snippet style
+        perl -MTest::Valgrind -e 'leaky()'
+
         # In a test file
         use Test::More;
         eval 'use Test::Valgrind';
         plan skip_all => 'Test::Valgrind is required to test your distribution with valgrind' if $@;
-        ...
+        leaky();
 
         # In all the test files of a directory
         prove --exec 'perl -Iblib/lib -Iblib/arch -MTest::Valgrind' t/*.t
@@ -34,9 +37,15 @@ DESCRIPTION
     complementary to the other very good leak detectors listed in the "SEE
     ALSO" section.
 
-CONFIGURATION
-    You can pass parameters to "import" as a list of key / value pairs,
-    where valid keys are :
+METHODS
+  "analyse [ %options ]"
+    Run a "valgrind" analysis configured by %options :
+
+    *   "command => $command"
+
+        The Test::Valgrind::Command object (or class name) to use.
+
+        Defaults to Test::Valgrind::Command::PerlScript.
 
     *   "tool => $tool"
 
@@ -50,29 +59,57 @@ CONFIGURATION
 
         Defaults to Test::Valgrind::Action::Test.
 
-    *   "diag => $bool"
+    *   "file => $file"
 
-        If true, print the output of the test script as diagnostics.
+        The file name of the script to analyse.
+
+        Ignored if you supply your own custom "command", but mandatory
+        otherwise.
 
     *   "callers => $number"
 
         Specify the maximum stack depth studied when valgrind encounters an
         error. Raising this number improves granularity.
 
-        Default is 12.
+        Ignored if you supply your own custom "tool", otherwise defaults to
+        12.
+
+    *   "diag => $bool"
+
+        If true, print the output of the test script as diagnostics.
+
+        Ignored if you supply your own custom "action", otherwise defaults
+        to false.
 
     *   "extra_supps => \@files"
 
         Also use suppressions from @files besides "perl"'s.
 
+        Defaults to empty.
+
     *   "no_def_supp => $bool"
 
         If true, do not use the default suppression file.
 
-CAVEATS
-    You can't use this module to test code given by the "-e" command-line
-    switch.
+        Defaults to false.
+
+  "import [ %options ]"
+    In the parent process, "import" calls "analyse" with the arguments it
+    received itself - except that if no "file" option was supplied, it tries
+    to pick the highest caller context that looks like a script. When the
+    analyse finishes, it exists with the status that was returned.
 
+    In the child process, it just "return"s so that the calling code is
+    actually run under "valgrind".
+
+VARIABLES
+  $dl_unload
+    When set to true, all dynamic extensions that were loaded during the
+    analysis will be unloaded at "END" time by DynaLoader::dl_unload_file.
+
+    Since this obfuscates error stack traces, it's disabled by default.
+
+CAVEATS
     Perl 5.8 is notorious for leaking like there's no tomorrow, so the
     suppressions are very likely not to be very accurate on it. Anyhow,
     results will most likely be better if your perl is built with debugging
index 46a86c6fe9509e4241f1f6577bab9956aed472a3..f9b28ab6acdccf3cd52a814a6e99a82bab04c7e4 100644 (file)
@@ -9,11 +9,11 @@ Test::Valgrind - Test Perl code through valgrind.
 
 =head1 VERSION
 
-Version 1.00
+Version 1.01
 
 =cut
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 =head1 SYNOPSIS
 
index b25722a289f49c38e4f0b784780dab0eb1467e9b..d680855ae9bbd8aa3ec98fe8922bc0bf8692343e 100644 (file)
@@ -9,11 +9,11 @@ Test::Valgrind::Action - Base class for Test::Valgrind actions.
 
 =head1 VERSION
 
-Version 1.00
+Version 1.01
 
 =cut
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 =head1 DESCRIPTION
 
index f366762c951c9d6377b8a50c7a5f55002de455cd..c38a2a5f3a4a48b4c34feb9d400b8c69139edb8e 100644 (file)
@@ -9,11 +9,11 @@ Test::Valgrind::Action::Captor - Mock Test::Valgrind::Action for capturing outpu
 
 =head1 VERSION
 
-Version 1.00
+Version 1.01
 
 =cut
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 =head1 DESCRIPTION
 
index 03f412d85f7c34fa8ab28e0058de3cf9adae2586..9f4d3fbecbe3fe2bf75adaff270a0402729a3779 100644 (file)
@@ -9,11 +9,11 @@ Test::Valgrind::Action::Suppressions - Generate suppressions for a given tool.
 
 =head1 VERSION
 
-Version 1.00
+Version 1.01
 
 =cut
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 =head1 DESCRIPTION
 
index 9c0b698702016f9b2a45e22c60d3ba6144cea5a9..49149e60f5b14539250865ee03832aa299dc9f36 100644 (file)
@@ -9,11 +9,11 @@ Test::Valgrind::Action::Test - Test that an analysis didn't generate any error r
 
 =head1 VERSION
 
-Version 1.00
+Version 1.01
 
 =cut
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 =head1 DESCRIPTION
 
index dfbd8f4edccac08bca3a44cea6ba7e5c918330e1..c60777fdb37b4305379002f4be60ab55059064a9 100644 (file)
@@ -9,11 +9,11 @@ Test::Valgrind::Carp - Carp-like private methods for Test::Valgrind objects.
 
 =head1 VERSION
 
-Version 1.00
+Version 1.01
 
 =cut
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 sub _croak {
  shift;
index 75dfae9e4471ee57f8d355b5b3dc245a0842e8cd..0b491baba248d1768350139f2616b377522d48e6 100644 (file)
@@ -9,11 +9,11 @@ Test::Valgrind::Command - Base class for Test::Valgrind commands.
 
 =head1 VERSION
 
-Version 1.00
+Version 1.01
 
 =cut
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 =head1 DESCRIPTION
 
index 091f7509c563afde8849368e0c548d7977d6e6a3..a8e3e8d59f5fdcfbbadc8b90986ea109b3af03d6 100644 (file)
@@ -9,11 +9,11 @@ Test::Valgrind::Command::Perl - A Test::Valgrind command that invokes perl.
 
 =head1 VERSION
 
-Version 1.00
+Version 1.01
 
 =cut
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 =head1 DESCRIPTION
 
index a107b7992e2cf69f65b955eac4e440716d2667e2..fbe077e33c4c55d150e963070de7183e83606ce2 100644 (file)
@@ -9,11 +9,11 @@ Test::Valgrind::Command::PerlScript - A Test::Valgrind command that invokes a pe
 
 =head1 VERSION
 
-Version 1.00
+Version 1.01
 
 =cut
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 =head1 DESCRIPTION
 
index 1a02c373fd3bca492355b2390cdfeda58b317453..9c31ca96caed59249fb746adebee0a7178596260 100644 (file)
@@ -9,11 +9,11 @@ Test::Valgrind::Report - Base class for Test::Valgrind error reports.
 
 =head1 VERSION
 
-Version 1.00
+Version 1.01
 
 =cut
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 use base qw/Test::Valgrind::Carp/;
 
index b95c1d60c8a1a001ea8deab71099d398b641885b..aafaeedf28a020f7b2baea2726c32300c3eefaf8 100644 (file)
@@ -9,11 +9,11 @@ Test::Valgrind::Session - Test::Valgrind session object.
 
 =head1 VERSION
 
-Version 1.00
+Version 1.01
 
 =cut
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 =head1 DESCRIPTION
 
index 3ab2f2f0329c363a451978f730b1ec80409031a5..8c34812da34df845aaaf679f7691d355aded32c7 100644 (file)
@@ -9,11 +9,11 @@ Test::Valgrind::Suppressions - Generate suppressions for given tool and command.
 
 =head1 VERSION
 
-Version 1.00
+Version 1.01
 
 =cut
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 =head1 DESCRIPTION
 
index 054ce4f764c45c647085eb4b89a33f08ebfd9073..5316521cb88446b2ae01017acaf45adc7ca9e3bb 100644 (file)
@@ -9,11 +9,11 @@ Test::Valgrind::Tool - Base class for Test::Valgrind tools.
 
 =head1 VERSION
 
-Version 1.00
+Version 1.01
 
 =cut
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 =head1 DESCRIPTION
 
index 3f4c29b24a514cd421930c03f83bc35052f31014..471025ac62c60ea5e4c9676b047ce43a9ad9d139 100644 (file)
@@ -9,11 +9,11 @@ Test::Valgrind::Tool::SuppressionsParser - Mock Test::Valgrind::Tool for parsing
 
 =head1 VERSION
 
-Version 1.00
+Version 1.01
 
 =cut
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 =head1 DESCRIPTION
 
index 790587159ff22f29c8fc6948317d9c9b555bc587..a9da30bc40aa162afe039495baa0fa8d8b587fd3 100644 (file)
@@ -9,11 +9,11 @@ Test::Valgrind::Tool::memcheck - Run an analysis through the memcheck tool.
 
 =head1 VERSION
 
-Version 1.00
+Version 1.01
 
 =cut
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 =head1 DESCRIPTION
 
@@ -188,7 +188,7 @@ use base qw/Test::Valgrind::Report/;
 
 use Config qw/%Config/;
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 my @kinds = qw/
  InvalidFree
@@ -256,7 +256,7 @@ sub dump {
 
 package Test::Valgrind::Tool::memcheck::Twig;
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 use Scalar::Util;
 
@@ -336,7 +336,7 @@ sub handle_error {
 
 package Test::Valgrind::Tool::memcheck::Twig::Elt;
 
-our $VERSION = '1.00';
+our $VERSION = '1.01';
 
 BEGIN { require XML::Twig; }