Hello community,
here is the log from the commit of package perl-Module-ScanDeps for
openSUSE:Factory checked in at 2013-12-11 11:31:57
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Module-ScanDeps (Old)
and /work/SRC/openSUSE:Factory/.perl-Module-ScanDeps.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Module-ScanDeps"
Changes:
--------
---
/work/SRC/openSUSE:Factory/perl-Module-ScanDeps/perl-Module-ScanDeps.changes
2013-10-10 10:37:22.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.perl-Module-ScanDeps.new/perl-Module-ScanDeps.changes
2013-12-11 11:31:57.000000000 +0100
@@ -1,0 +2,19 @@
+Mon Dec 9 11:18:14 UTC 2013 - [email protected]
+
+- updated to 1.12
+ * Fix RT #90869: Use of uninitialized value $module in substitution (s///)
+
+ * Fix RT #87775: typo fixes, thanks [email protected]
+
+ * new %Preload rule for B::Hooks::EndOfScope
+
+ * new %Preload rule for Pod::Usage
+
+ * add a fake %Preload rule that warns if use of Module::Implementation
+ or Module::Runtime is detected (coz' they're doing runtime loading)
+
+ * change some tests to use Test::Requires instead of homegrown stuff;
+ hence add it to "test_requires"
+ * clean up some uses of Test::More
+
+-------------------------------------------------------------------
Old:
----
Module-ScanDeps-1.11.tar.gz
New:
----
Module-ScanDeps-1.12.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Module-ScanDeps.spec ++++++
--- /var/tmp/diff_new_pack.qCS6Ry/_old 2013-12-11 11:31:58.000000000 +0100
+++ /var/tmp/diff_new_pack.qCS6Ry/_new 2013-12-11 11:31:58.000000000 +0100
@@ -17,7 +17,7 @@
Name: perl-Module-ScanDeps
-Version: 1.11
+Version: 1.12
Release: 0
%define cpan_name Module-ScanDeps
Summary: Recursively scan Perl code for dependencies
@@ -29,6 +29,7 @@
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Module::Build::ModuleInfo)
+BuildRequires: perl(Test::Requires)
BuildRequires: perl(version)
#BuildRequires: perl(chicken)
#BuildRequires: perl(CPANPLUS::Backend)
++++++ Module-ScanDeps-1.11.tar.gz -> Module-ScanDeps-1.12.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Module-ScanDeps-1.11/Changes
new/Module-ScanDeps-1.12/Changes
--- old/Module-ScanDeps-1.11/Changes 2013-09-28 11:45:49.000000000 +0200
+++ new/Module-ScanDeps-1.12/Changes 2013-12-01 15:42:27.000000000 +0100
@@ -1,3 +1,19 @@
+[Changes for 1.12 - 2013-12-01]
+* Fix RT #90869: Use of uninitialized value $module in substitution (s///)
+
+* Fix RT #87775: typo fixes, thanks [email protected]
+
+* new %Preload rule for B::Hooks::EndOfScope
+
+* new %Preload rule for Pod::Usage
+
+* add a fake %Preload rule that warns if use of Module::Implementation
+ or Module::Runtime is detected (coz' they're doing runtime loading)
+
+* change some tests to use Test::Requires instead of homegrown stuff;
+ hence add it to "test_requires"
+* clean up some uses of Test::More
+
[Changes for 1.11 - 2013-09-28]
* Fix RT #89000: test broken by indirect base.pm disuse
- delete base.pm from list of expected deps,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Module-ScanDeps-1.11/MANIFEST
new/Module-ScanDeps-1.12/MANIFEST
--- old/Module-ScanDeps-1.11/MANIFEST 2013-09-28 12:20:29.000000000 +0200
+++ new/Module-ScanDeps-1.12/MANIFEST 2013-12-01 15:47:46.000000000 +0100
@@ -48,6 +48,7 @@
t/data/pluggable/Foo.pm
t/data/pluggable/Foo/Plugin/Bar.pm
t/data/pluggable/Foo/Plugin/Baz.pm
+t/data/rt90869.pl
t/data/ScanFileRE/auto/example/example.h
t/data/ScanFileRE/example.pm
t/data/ScanFileRE/example_too.pm
@@ -73,4 +74,5 @@
t/data/static/TestD.pm
t/data/static/useVERSION.pm
t/data/use_lib.pl
+t/rt90869.t
t/Utils.pm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Module-ScanDeps-1.11/META.yml
new/Module-ScanDeps-1.12/META.yml
--- old/Module-ScanDeps-1.11/META.yml 2013-09-28 12:18:44.000000000 +0200
+++ new/Module-ScanDeps-1.12/META.yml 2013-12-01 15:47:07.000000000 +0100
@@ -5,6 +5,7 @@
build_requires:
ExtUtils::MakeMaker: 6.59
Test::More: 0
+ Test::Requires: 0
configure_requires:
ExtUtils::MakeMaker: 6.59
distribution_type: module
@@ -19,7 +20,7 @@
directory:
- inc
- t
- module:
+ package:
- Module::ScanDeps::Cache
- Module::ScanDeps::DataFeed
requires:
@@ -31,4 +32,4 @@
resources:
license: http://dev.perl.org/licenses/
repository: http://svn.openfoundry.org/par/Module-ScanDeps/trunk/
-version: 1.11
+version: 1.12
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Module-ScanDeps-1.11/Makefile.PL
new/Module-ScanDeps-1.12/Makefile.PL
--- old/Module-ScanDeps-1.11/Makefile.PL 2012-02-21 16:25:35.000000000
+0100
+++ new/Module-ScanDeps-1.12/Makefile.PL 2013-12-01 15:23:21.000000000
+0100
@@ -11,12 +11,12 @@
requires 'File::Spec' => '0';
requires 'Module::Build::ModuleInfo' => '0';
requires 'version' => '0';
-build_requires 'Test::More' => '0';
+test_requires 'Test::More' => '0';
+test_requires 'Test::Requires' => '0';
install_script 'script/scandeps.pl';
-no_index module => 'Module::ScanDeps::Cache';
-no_index module => 'Module::ScanDeps::DataFeed';
+no_index package => qw( Module::ScanDeps::Cache
+ Module::ScanDeps::DataFeed );
-#sign;
WriteAll;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Module-ScanDeps-1.11/lib/Module/ScanDeps.pm
new/Module-ScanDeps-1.12/lib/Module/ScanDeps.pm
--- old/Module-ScanDeps-1.11/lib/Module/ScanDeps.pm 2013-09-28
11:19:12.000000000 +0200
+++ new/Module-ScanDeps-1.12/lib/Module/ScanDeps.pm 2013-12-01
15:17:58.000000000 +0100
@@ -4,7 +4,7 @@
use warnings;
use vars qw( $VERSION @EXPORT @EXPORT_OK @ISA $CurrentPackage @IncludeLibs
$ScanFileRE );
-$VERSION = '1.11';
+$VERSION = '1.12';
@EXPORT = qw( scan_deps scan_deps_runtime );
@EXPORT_OK = qw( scan_line scan_chunk add_deps scan_deps_runtime
path_to_inc_name );
@@ -200,7 +200,7 @@
=head1 CAVEATS
-This module intentially ignores the B<BSDPAN> hack on FreeBSD -- the
+This module intentionally ignores the B<BSDPAN> hack on FreeBSD -- the
additional directory is removed from C<@INC> altogether.
The static-scanning heuristic is not likely to be 100% accurate, especially
@@ -219,12 +219,14 @@
=cut
my $SeenTk;
+my %SeenRuntimeLoader;
# Pre-loaded module dependencies {{{
my %Preload;
%Preload = (
'AnyDBM_File.pm' => [qw( SDBM_File.pm )],
'Authen/SASL.pm' => 'sub',
+ 'B/Hooks/EndOfScope.pm' => [qw( B/Hooks/EndOfScope/PP.pm
B/Hooks/EndOfScope/XS.pm )],
'Bio/AlignIO.pm' => 'sub',
'Bio/Assembly/IO.pm' => 'sub',
'Bio/Biblio/IO.pm' => 'sub',
@@ -256,7 +258,9 @@
'Catalyst/Engine.pm' => 'sub',
'CGI/Application/Plugin/Authentication.pm' => [qw(
CGI/Application/Plugin/Authentication/Store/Cookie.pm )],
'CGI/Application/Plugin/AutoRunmode.pm' => [qw( Attribute/Handlers.pm )],
-
+ 'charnames.pm' => sub {
+ _find_in_inc('unicore/Name.pl') ? 'unicore/Name.pl' : 'unicode/Name.pl'
+ },
'Class/Load.pm' => [qw( Class/Load/PP.pm )],
'Class/MakeMethods.pm' => 'sub',
'Class/MethodMaker.pm' => 'sub',
@@ -289,6 +293,37 @@
'Device/SerialPort.pm' => [ qw(
termios.ph asm/termios.ph sys/termiox.ph sys/termios.ph sys/ttycom.ph
) ],
+ 'diagnostics.pm' => sub {
+ # shamelessly taken and adapted from diagnostics.pm
+ use Config;
+ my($privlib, $archlib) = @Config{qw(privlibexp archlibexp)};
+ if ($^O eq 'VMS') {
+ require VMS::Filespec;
+ $privlib = VMS::Filespec::unixify($privlib);
+ $archlib = VMS::Filespec::unixify($archlib);
+ }
+
+ for (
+ "pod/perldiag.pod",
+ "Pod/perldiag.pod",
+ "pod/perldiag-$Config{version}.pod",
+ "Pod/perldiag-$Config{version}.pod",
+ "pods/perldiag.pod",
+ "pods/perldiag-$Config{version}.pod",
+ ) {
+ return $_ if _find_in_inc($_);
+ }
+
+ for (
+ "$archlib/pods/perldiag.pod",
+ "$privlib/pods/perldiag-$Config{version}.pod",
+ "$privlib/pods/perldiag.pod",
+ ) {
+ return $_ if -f $_;
+ }
+
+ return 'pod/perldiag.pod';
+ },
'Email/Send.pm' => 'sub',
'Event.pm' => [ map "Event/$_.pm", qw(idle io signal timer var)],
'ExtUtils/MakeMaker.pm' => sub {
@@ -327,16 +362,11 @@
# but accept JSON::XS, too (because JSON.pm might use it if present)
return( grep /^JSON\/(PP|XS)/, _glob_in_inc('JSON', 1) );
},
- 'Log/Log4perl.pm' => 'sub',
+ 'Locale/Maketext/Lexicon.pm' => 'sub',
+ 'Locale/Maketext/GutsLoader.pm' => [qw( Locale/Maketext/Guts.pm )],
'Log/Any.pm' => 'sub',
+ 'Log/Log4perl.pm' => 'sub',
'Log/Report/Dispatcher.pm' => 'sub',
- 'LWP/UserAgent.pm' => sub {
- return(
- qw( URI/URL.pm URI/http.pm LWP/Protocol/http.pm ),
- _glob_in_inc("LWP/Authen", 1),
- _glob_in_inc("LWP/Protocol", 1),
- );
- },
'LWP/Parallel.pm' => sub {
_glob_in_inc( 'LWP/Parallel', 1 ),
qw(
@@ -348,17 +378,22 @@
qw( LWP/Parallel.pm ),
@{ _get_preload('LWP/Parallel.pm') }
},
- 'Locale/Maketext/Lexicon.pm' => 'sub',
- 'Locale/Maketext/GutsLoader.pm' => [qw( Locale/Maketext/Guts.pm )],
+ 'LWP/UserAgent.pm' => sub {
+ return(
+ qw( URI/URL.pm URI/http.pm LWP/Protocol/http.pm ),
+ _glob_in_inc("LWP/Authen", 1),
+ _glob_in_inc("LWP/Protocol", 1),
+ );
+ },
'Mail/Audit.pm' => 'sub',
'Math/BigInt.pm' => 'sub',
'Math/BigFloat.pm' => 'sub',
'Math/Symbolic.pm' => 'sub',
+ 'MIME/Decoder.pm' => 'sub',
'Module/Build.pm' => 'sub',
'Module/Pluggable.pm' => sub {
_glob_in_inc('$CurrentPackage/Plugin', 1);
},
- 'MIME/Decoder.pm' => 'sub',
'Moose.pm' => sub {
_glob_in_inc('Moose', 1),
_glob_in_inc('Class/MOP', 1),
@@ -372,6 +407,8 @@
qw( MozRepl/Log.pm MozRepl/Client.pm Module/Pluggable/Fast.pm ),
_glob_in_inc('MozRepl/Plugin', 1),
},
+ 'Module/Implementation.pm' => \&_warn_of_runtime_loader,
+ 'Module/Runtime.pm' => \&_warn_of_runtime_loader,
'Net/DNS/RR.pm' => 'sub',
'Net/FTP.pm' => 'sub',
'Net/HTTPS.pm' => [qw( IO/Socket/SSL.pm Net/SSL.pm )],
@@ -384,13 +421,16 @@
'Params/Validate.pm' => 'sub',
'Parse/AFP.pm' => 'sub',
'Parse/Binary.pm' => 'sub',
- 'Perl/Critic.pm' => 'sub', #not only Perl/Critic/Policy
- 'PerlIO.pm' => [ 'PerlIO/scalar.pm' ],
'PDF/API2/Resource/Font.pm' => 'sub',
'PDF/API2/Basic/TTF/Font.pm' => sub {
_glob_in_inc('PDF/API2/Basic/TTF', 1);
},
'PDF/Writer.pm' => 'sub',
+ 'Perl/Critic.pm' => 'sub', #not only Perl/Critic/Policy
+ 'PerlIO.pm' => [ 'PerlIO/scalar.pm' ],
+ 'Pod/Usage.pm' => sub { # from Pod::Usage (as of 1.61)
+ $] >= 5.005_58 ? 'Pod/Text.pm' : 'Pod/PlainText.pm'
+ },
'POE.pm' => [qw( POE/Kernel.pm POE/Session.pm )],
'POE/Component/Client/HTTP.pm' => sub {
_glob_in_inc('POE/Component/Client/HTTP', 1),
@@ -437,6 +477,9 @@
'Template.pm' => 'sub',
'Term/ReadLine.pm' => 'sub',
'Test/Deep.pm' => 'sub',
+ 'threads/shared.pm' => [qw( attributes.pm )],
+ # anybody using threads::shared is likely to declare variables
+ # with attribute :shared
'Tk.pm' => sub {
$SeenTk = 1;
qw( Tk/FileSelect.pm Encode/Unicode.pm );
@@ -458,6 +501,11 @@
'URI.pm' => sub {
grep !/urn/, _glob_in_inc('URI', 1);
},
+ 'utf8.pm' => sub {
+ # Perl 5.6.x: "unicode", Perl 5.8.x and up: "unicore"
+ my $unicore = _find_in_inc('unicore/Name.pl') ? 'unicore' : 'unicode';
+ return ('utf8_heavy.pl', map $_->{name}, _glob_in_inc($unicore, 0));
+ },
'Win32/EventLog.pm' => [qw( Win32/IPC.pm )],
'Win32/Exe.pm' => 'sub',
'Win32/TieRegistry.pm' => [qw( Win32API/Registry.pm )],
@@ -485,48 +533,6 @@
}
_glob_in_inc('YAML', 1); # fallback
},
- 'diagnostics.pm' => sub {
- # shamelessly taken and adapted from diagnostics.pm
- use Config;
- my($privlib, $archlib) = @Config{qw(privlibexp archlibexp)};
- if ($^O eq 'VMS') {
- require VMS::Filespec;
- $privlib = VMS::Filespec::unixify($privlib);
- $archlib = VMS::Filespec::unixify($archlib);
- }
-
- for (
- "pod/perldiag.pod",
- "Pod/perldiag.pod",
- "pod/perldiag-$Config{version}.pod",
- "Pod/perldiag-$Config{version}.pod",
- "pods/perldiag.pod",
- "pods/perldiag-$Config{version}.pod",
- ) {
- return $_ if _find_in_inc($_);
- }
-
- for (
- "$archlib/pods/perldiag.pod",
- "$privlib/pods/perldiag-$Config{version}.pod",
- "$privlib/pods/perldiag.pod",
- ) {
- return $_ if -f $_;
- }
-
- return 'pod/perldiag.pod';
- },
- 'threads/shared.pm' => [qw( attributes.pm )],
- # anybody using threads::shared is likely to declare variables
- # with attribute :shared
- 'utf8.pm' => sub {
- # Perl 5.6.x: "unicode", Perl 5.8.x and up: "unicore"
- my $unicore = _find_in_inc('unicore/Name.pl') ? 'unicore' : 'unicode';
- return ('utf8_heavy.pl', map $_->{name}, _glob_in_inc($unicore, 0));
- },
- 'charnames.pm' => sub {
- _find_in_inc('unicore/Name.pl') ? 'unicore/Name.pl' : 'unicode/Name.pl'
- },
);
# }}}
@@ -824,8 +830,34 @@
if (my ($pragma, $args) = /^use \s+ (autouse|if) \s+ (.+)/x)
{
- my @args = do { no strict; no warnings; eval $args };
- my $module = $pragma eq "autouse" ? $args[0] : $args[1];
+ # NOTE: There are different ways the MODULE may
+ # be specified for the "autouse" and "if" pragmas, e.g.
+ # use autouse Module => qw(func1 func2);
+ # use autouse "Module", qw(func1);
+ # To avoid to parse them ourself, we simply try to eval the
+ # string after the pragma (in a list context). The MODULE
+ # should be the first ("autouse") or second ("if") element
+ # of the list.
+ my $module;
+ {
+ no strict; no warnings;
+ if ($pragma eq "autouse") {
+ ($module) = eval $args;
+ }
+ else {
+ # The syntax of the "if" pragma is
+ # use if COND, MODULE => ARGUMENTS
+ # The COND may contain undefined functions (i.e. undefined
+ # in Module::ScanDeps' context) which would throw an
+ # exception. Sneak "1 || " in front of COND so that
+ # COND will not be evaluated. This will work in most
+ # cases, but there are operators with lower precedence
+ # than "||" which will cause this trick to fail.
+ (undef, $module) = eval "1 || $args";
+ }
+ # punt if there was a syntax error
+ return if $@ or !defined $module;
+ };
$module =~ s{::}{/}g;
return ("$pragma.pm", "$module.pm");
}
@@ -1087,7 +1119,7 @@
type => $type );
}
- ### Now, handle module and distribudion share dirs
+ ### Now, handle module and distribution share dirs
# convert 'Module/Name' to 'Module-Name'
my $modname = $path;
$modname =~ s|/|-|g;
@@ -1279,7 +1311,7 @@
[ $INC{"Module/ScanDeps/DataFeed.pm"}, $dump_file ],
[ qw( datafeedpm dump_file ) ]);
- # save %INC etc so that further requires dont't pollute them
+ # save %INC etc so that further requires don't pollute them
print $feed_fh <<'...';
%Module::ScanDeps::DataFeed::_INC = %INC;
@Module::ScanDeps::DataFeed::_INC = @INC;
@@ -1439,6 +1471,15 @@
}
+sub _warn_of_runtime_loader {
+ my $module = shift;
+ return if $SeenRuntimeLoader{$module}++;
+ $module =~ s/\.pm$//;
+ $module =~ s|/|::|g;
+ warn "# Use of runtime loader module $module detected. Results of static
scanning may be incomplete.\n";
+ return;
+}
+
sub _warn_of_missing_module {
my $module = shift;
my $warn = shift;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Module-ScanDeps-1.11/t/0-pod.t
new/Module-ScanDeps-1.12/t/0-pod.t
--- old/Module-ScanDeps-1.11/t/0-pod.t 2012-02-21 16:25:41.000000000 +0100
+++ new/Module-ScanDeps-1.12/t/0-pod.t 2013-12-01 15:23:21.000000000 +0100
@@ -1,6 +1,6 @@
use strict;
use Test::More;
-eval "use Test::Pod 1.00";
-plan skip_all => "Test::Pod 1.00 required for testing POD" if $@;
+use Test::Requires { "Test::Pod" => "1.00" };
+
all_pod_files_ok();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Module-ScanDeps-1.11/t/13-static_prefork_test.t
new/Module-ScanDeps-1.12/t/13-static_prefork_test.t
--- old/Module-ScanDeps-1.11/t/13-static_prefork_test.t 2012-02-21
16:25:41.000000000 +0100
+++ new/Module-ScanDeps-1.12/t/13-static_prefork_test.t 2013-12-01
15:23:21.000000000 +0100
@@ -3,21 +3,19 @@
use strict;
use warnings;
+use Test::More;
+use Test::Requires qw( prefork );
+
use lib 't';
+use Utils;
+
BEGIN {
- require Test::More;
- if (not eval "require prefork; 1;" or $@) {
- Test::More->import(skip_all => "This test requires prefork.pm which is not
installed. Skipping.");
- exit(0);
- }
- else {
# Mwuahahaha!
delete $INC{"prefork.pm"};
%prefork:: = ();
- }
+
+ plan 'no_plan'; # no_plan because the number of objects in the dependency
tree (and hence the number of tests) can change
}
-use Test::More qw(no_plan); # no_plan because the number of objects in the
dependency tree (and hence the number of tests) can change
-use Utils;
my $rv;
my $root;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Module-ScanDeps-1.11/t/5-pluggable_fake.t
new/Module-ScanDeps-1.12/t/5-pluggable_fake.t
--- old/Module-ScanDeps-1.11/t/5-pluggable_fake.t 2012-02-21
16:25:41.000000000 +0100
+++ new/Module-ScanDeps-1.12/t/5-pluggable_fake.t 2013-12-01
15:23:21.000000000 +0100
@@ -5,21 +5,17 @@
use warnings;
use Test::More qw(no_plan); # no_plan because the number of objects in the
dependency tree (and hence the number of tests) can change
+use Test::Requires qw( Module::Pluggable );
+
use lib qw(t t/data/pluggable);
use Utils;
-if (eval {require Module::Pluggable}) {
- my $rv = scan_deps(
- files => ['t/data/pluggable/Foo.pm'],
- recurse => 1,
- );
-
- my @deps = qw(Module/Pluggable.pm Foo/Plugin/Bar.pm Foo/Plugin/Baz.pm);
- generic_scandeps_rv_test($rv, ['t/data/pluggable/Foo.pm'], \@deps);
+my $rv = scan_deps(
+ files => ['t/data/pluggable/Foo.pm'],
+ recurse => 1,
+);
-} else {
- diag("Module::Pluggable not installed, skipping all tests");
- pass("Marking test as passed because Module::Pluggable is not available.");
-}
+my @deps = qw(Module/Pluggable.pm Foo/Plugin/Bar.pm Foo/Plugin/Baz.pm);
+generic_scandeps_rv_test($rv, ['t/data/pluggable/Foo.pm'], \@deps);
__END__
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Module-ScanDeps-1.11/t/6-file-glob.t
new/Module-ScanDeps-1.12/t/6-file-glob.t
--- old/Module-ScanDeps-1.11/t/6-file-glob.t 2012-02-21 16:25:41.000000000
+0100
+++ new/Module-ScanDeps-1.12/t/6-file-glob.t 2013-11-11 16:39:48.000000000
+0100
@@ -1,10 +1,10 @@
#!/usr/bin/perl
-use Test;
-BEGIN { plan tests => 2 }
+use strict;
+use warnings;
+use Test::More tests => 2;
use Module::ScanDeps;
-
use lib qw(t/data);
my $map = scan_deps(
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Module-ScanDeps-1.11/t/data/rt90869.pl
new/Module-ScanDeps-1.12/t/data/rt90869.pl
--- old/Module-ScanDeps-1.11/t/data/rt90869.pl 1970-01-01 01:00:00.000000000
+0100
+++ new/Module-ScanDeps-1.12/t/data/rt90869.pl 2013-11-29 00:56:49.000000000
+0100
@@ -0,0 +1,7 @@
+# some forms of "use autouse ..."
+use autouse TestA => qw(foo bar);
+use autouse "TestB", qw(foo bar);
+
+# "use if ..." (note the function call in COND)
+sub frobnicate { 1 }
+use if frobnicate(), TestC => qw(quux);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/Module-ScanDeps-1.11/t/rt90869.t
new/Module-ScanDeps-1.12/t/rt90869.t
--- old/Module-ScanDeps-1.11/t/rt90869.t 1970-01-01 01:00:00.000000000
+0100
+++ new/Module-ScanDeps-1.12/t/rt90869.t 2013-11-29 00:56:49.000000000
+0100
@@ -0,0 +1,17 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use Test::More;
+use Module::ScanDeps qw(scan_deps);
+use lib qw(t/data/static);
+
+my @expected_modules = qw( TestA TestB TestC );
+plan tests => scalar @expected_modules;
+
+my $rv = scan_deps("t/data/rt90869.pl");
+foreach (@expected_modules)
+{
+ ok(exists $rv->{"$_.pm"}, "expected module $_ found");
+}
--
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]