]> git.vpit.fr Git - perl/modules/Test-Valgrind.git/commitdiff
Unload dynamically loaded libraries at END-time
authorVincent Pit <vince@profvince.com>
Sun, 8 Feb 2009 00:32:47 +0000 (01:32 +0100)
committerVincent Pit <vince@profvince.com>
Sun, 8 Feb 2009 00:32:47 +0000 (01:32 +0100)
This solves the leaks due to DynaLoader.

lib/Test/Valgrind.pm
t/30-bad.t

index 31a63234601267e148152ffd4f031ee85f68af74..e70a912d2d089512750322f9a8d84fb5165daadb 100644 (file)
@@ -231,6 +231,12 @@ sub import {
  }
 }
 
+END {
+ if ($run and eval { require DynaLoader; 1 }) {
+  DynaLoader::dl_unload_file($_) for @DynaLoader::dl_librefs;
+ }
+}
+
 =head1 CAVEATS
 
 You can't use this module to test code given by the C<-e> command-line switch.
index 7ceb62c8fb490340a1dee29b0faa019bf2953384..11705875bad2913a456bb924506f6d2357a660a0 100644 (file)
@@ -26,7 +26,7 @@ sub tester {
    $dbg = $@ ? 0 : $ret;
   }
  }
- if ($desc =~ /still\s+reachable/) {
+ if ($desc =~ /definitely\s+lost/) {
   $passed = $a >= 9900 && $a < 10100;
   if ($dbg) {
    ok($passed, $desc);