This is an automated email from the git hooks/post-receive script. kanashiro-guest pushed a commit to branch master in repository carton.
commit 7931546be38dfe6cf2d0708261874d6be004ad02 Author: Tatsuhiko Miyagawa <[email protected]> Date: Tue Jun 28 11:15:30 2011 -0400 Added unit tests for exec --- lib/Carton/CLI.pm | 6 +++++- xt/cli/exec.t | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 1 deletion(-) diff --git a/lib/Carton/CLI.pm b/lib/Carton/CLI.pm index c183f95..62f5fae 100644 --- a/lib/Carton/CLI.pm +++ b/lib/Carton/CLI.pm @@ -346,10 +346,14 @@ sub cmd_update { sub cmd_exec { my($self, @args) = @_; + my $system; # for unit testing + $self->parse_options(\@args, "system", \$system); # always run parse_options to allow -- + my $path = $self->config->get('path'); local $ENV{PERL5OPT} = "-Mlib::core::only -Mlib=$path/lib/perl5"; local $ENV{PATH} = "$path/bin:$ENV{PATH}"; - exec @args; + + $system ? system(@args) : exec(@args); } sub find_lock { diff --git a/xt/cli/exec.t b/xt/cli/exec.t new file mode 100644 index 0000000..bcac34a --- /dev/null +++ b/xt/cli/exec.t @@ -0,0 +1,35 @@ +use strict; +use Test::More; +use xt::CLI; + +use Test::Requires qw(Capture::Tiny); +use Capture::Tiny qw(capture_merged); + +{ + my $app = cli(); + + ok 1; + + my $out = capture_merged { + $app->run("exec", "--system", "--", "perl", "-e", "use Try::Tiny"); + }; + + like $out, qr/Can't locate Try\/Tiny.pm/; + + $app->run("install", "Try::Tiny"); + $out = capture_merged { + $app->run("exec", "--system", "--", "perl", "-e", 'use Try::Tiny; print "OK\n"'); + }; + + like $out, qr/OK/; + + $app->run("install", "Mojolicious"); + $out = capture_merged { + $app->run("exec", "--system", "--", "mojolicious", "version"); + }; + + like $out, qr/Mojolicious/; +} + +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 [email protected] http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits
