[carton] 361/472: Fix a check bug where $dist->version is used instead of module's version
Lucas Kanashiro
kanashiro-guest at moszumanska.debian.org
Fri Jul 24 00:39:24 UTC 2015
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 <miyagawa at 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
More information about the Pkg-perl-cvs-commits
mailing list