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