This is an automated email from the git hooks/post-receive script.

kanashiro-guest pushed a commit to branch master
in repository carton.

commit 7700f4af81f88b7b46c55efc2125c62cb014adba
Author: Tatsuhiko Miyagawa <miyag...@bulknews.net>
Date:   Wed Jul 24 08:29:33 2013 -0700

    Fix a check bug where $dist->version is used instead of module's version
---
 lib/Carton/CLI.pm       |  2 +-
 lib/Carton/Dist.pm      |  1 -
 lib/Carton/Dist/Core.pm |  4 +++-
 lib/Carton/Snapshot.pm  |  2 +-
 xt/cli/check.t          | 12 ++++++++++++
 5 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/lib/Carton/CLI.pm b/lib/Carton/CLI.pm
index a3f79df..ffcf3e7 100644
--- a/lib/Carton/CLI.pm
+++ b/lib/Carton/CLI.pm
@@ -289,7 +289,7 @@ sub cmd_check {
         my $install = $env->snapshot->find_or_core($module);
         if ($install) {
             unless ($merged_reqs->accepts_module($module => 
$install->version_for($module))) {
-                push @missing, [ $module, 1, $install->version ];
+                push @missing, [ $module, 1, $install->version_for($module) ];
             }
         } else {
             push @missing, [ $module, 0 ];
diff --git a/lib/Carton/Dist.pm b/lib/Carton/Dist.pm
index d8f9eca..4851fdb 100644
--- a/lib/Carton/Dist.pm
+++ b/lib/Carton/Dist.pm
@@ -6,7 +6,6 @@ use Moo;
 has name     => (is => 'ro');
 has pathname => (is => 'rw');
 has provides => (is => 'rw', default => sub { +{} });
-has version  => (is => 'rw');
 has requirements => (is => 'rw', lazy => 1, builder => 1,
                      handles => [ qw(add_string_requirement required_modules 
requirements_for_module) ]);
 
diff --git a/lib/Carton/Dist/Core.pm b/lib/Carton/Dist/Core.pm
index 7d161b7..c19957f 100644
--- a/lib/Carton/Dist/Core.pm
+++ b/lib/Carton/Dist/Core.pm
@@ -3,6 +3,8 @@ use strict;
 use Moo;
 extends 'Carton::Dist';
 
+has module_version => (is => 'ro');
+
 sub BUILDARGS {
     my($class, %args) = @_;
 
@@ -15,7 +17,7 @@ sub is_core { 1 }
 
 sub version_for {
     my($self, $module) = @_;
-    $self->version;
+    $self->module_version;
 }
 
 1;
diff --git a/lib/Carton/Snapshot.pm b/lib/Carton/Snapshot.pm
index 8a411c0..89e9664 100644
--- a/lib/Carton/Snapshot.pm
+++ b/lib/Carton/Snapshot.pm
@@ -68,7 +68,7 @@ sub find_in_core {
 
     if (exists $Module::CoreList::version{$]}{$module}) {
         my $version = $Module::CoreList::version{$]}{$module}; # maybe undef
-        return Carton::Dist::Core->new(name => $module, version => $version);
+        return Carton::Dist::Core->new(name => $module, module_version => 
$version);
     }
 
     return;
diff --git a/xt/cli/check.t b/xt/cli/check.t
index ad57cdd..53a07fc 100644
--- a/xt/cli/check.t
+++ b/xt/cli/check.t
@@ -80,5 +80,17 @@ subtest 'detect unused modules' => sub {
     }
 };
 
+subtest 'detect downgrade' => sub {
+    my $app = cli;
+    $app->write_cpanfile("requires 'URI';");
+    $app->run("install");
+
+    $app->write_cpanfile("requires 'URI', '== 1.59';");
+    $app->run("check");
+
+    like $app->stdout, qr/not satisfied/;
+    like $app->stdout, qr/URI has version .* Needs == 1\.59/;
+};
+
 done_testing;
 

-- 
Alioth's /usr/local/bin/git-commit-notice on 
/srv/git.debian.org/git/pkg-perl/packages/carton.git

_______________________________________________
Pkg-perl-cvs-commits mailing list
Pkg-perl-cvs-commits@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits

Reply via email to