This is an automated email from the git hooks/post-receive script. kanashiro-guest pushed a commit to branch master in repository carton.
commit f389280a8265a231a198c7b18b89a6909fd83f1b Author: Tatsuhiko Miyagawa <miyag...@bulknews.net> Date: Tue Jun 28 11:48:54 2011 -0400 capture system output like cpanm in the tests --- xt/CLI.pm | 15 ++++++++++++--- xt/cli/exec.t | 24 ++++++------------------ 2 files changed, 18 insertions(+), 21 deletions(-) diff --git a/xt/CLI.pm b/xt/CLI.pm index f1cd674..fcff297 100644 --- a/xt/CLI.pm +++ b/xt/CLI.pm @@ -3,7 +3,7 @@ use strict; use base qw(Exporter); our @EXPORT = qw(run cli); -use Test::Requires qw( Directory::Scratch ); +use Test::Requires qw( Directory::Scratch Capture::Tiny ); sub cli { my $dir = Directory::Scratch->new(); @@ -24,6 +24,8 @@ sub run { package Carton::CLI::Tested; use parent qw(Carton::CLI); +use Capture::Tiny qw(capture_merged); + sub new { my($class, %args) = @_; @@ -44,9 +46,11 @@ sub print { } sub run { - my $self = shift; + my($self, @args) = @_; $self->{output} = ''; - $self->SUPER::run(@_); + $self->{system_output} = capture_merged { + $self->SUPER::run(@args); + }; } sub output { @@ -54,5 +58,10 @@ sub output { $self->{output}; } +sub system_output { + my $self = shift; + $self->{system_output}; +} + 1; diff --git a/xt/cli/exec.t b/xt/cli/exec.t index bcac34a..223d1dd 100644 --- a/xt/cli/exec.t +++ b/xt/cli/exec.t @@ -2,33 +2,21 @@ 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("exec", "--system", "--", "perl", "-e", "use Try::Tiny"); + like $app->system_output, 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"'); - }; + $app->run("exec", "--system", "--", "perl", "-e", 'use Try::Tiny; print "OK\n"'); - like $out, qr/OK/; + like $app->system_output, qr/OK/; $app->run("install", "Mojolicious"); - $out = capture_merged { - $app->run("exec", "--system", "--", "mojolicious", "version"); - }; + $app->run("exec", "--system", "--", "mojolicious", "version"); - like $out, qr/Mojolicious/; + like $app->system_output, 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 Pkg-perl-cvs-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-perl-cvs-commits