Hello community,
here is the log from the commit of package perl-App-perlbrew for openSUSE:Factory checked in at 2012-02-08 15:40:47
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-App-perlbrew (Old)
and /work/SRC/openSUSE:Factory/.perl-App-perlbrew.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-App-perlbrew", Maintainer is ""
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-App-perlbrew/perl-App-perlbrew.changes 2012-01-09 11:16:15.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-App-perlbrew.new/perl-App-perlbrew.changes 2012-02-08 15:40:54.000000000 +0100
@@ -1,0 +2,15 @@
+Mon Jan 02 07:18:12 UTC 2012 - pascal.bleser@opensuse.org
+
+- update to 0.39:
+ * Fix GH #179. lib naming are more consistent
+ * Fix GH #171. bash users are suggestted to upgrad to this version
+ * Fix GH #152
+
+- changes from 0.38:
+ * fix deps
+
+- changes from 0.37:
+ * fix ENV mess after switching to diffirent libs multiple times
+ * add --sitecustomize option
+
+-------------------------------------------------------------------
Old:
----
App-perlbrew-0.35.tar.gz
New:
----
App-perlbrew-0.39.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-App-perlbrew.spec ++++++
--- /var/tmp/diff_new_pack.QASFUg/_old 2012-02-08 15:40:55.000000000 +0100
+++ /var/tmp/diff_new_pack.QASFUg/_new 2012-02-08 15:40:55.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package perl-App-perlbrew
#
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -21,7 +21,7 @@
%endif
Name: perl-App-perlbrew
-Version: 0.35
+Version: 0.39
Release: 1
License: MIT
%define cpan_name App-perlbrew
@@ -33,13 +33,15 @@
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
-BuildRequires: perl(Devel::PatchPerl) >= 0.26
+BuildRequires: perl(Devel::PatchPerl) >= 0.46
BuildRequires: perl(Path::Class)
BuildRequires: perl(IO::All)
BuildRequires: perl(Try::Tiny)
BuildRequires: perl(File::Path::Tiny)
BuildRequires: perl(local::lib) >= 1.008
+BuildRequires: perl(Capture::Tiny) >= 0.13
%if 0%{?with_test}
+BuildRequires: perl(Test::Simple) >= 0.98
BuildRequires: perl(Test::Spec)
BuildRequires: perl(Test::Output)
BuildRequires: perl(Test::Exception)
@@ -50,6 +52,7 @@
Requires: perl(Try::Tiny)
Requires: perl(File::Path::Tiny)
Requires: perl(local::lib) >= 1.008
+Requires: perl(Capture::Tiny)
%{perl_requires}
%description
++++++ App-perlbrew-0.35.tar.gz -> App-perlbrew-0.39.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.35/Changes new/App-perlbrew-0.39/Changes
--- old/App-perlbrew-0.35/Changes 2011-12-17 06:03:00.000000000 +0100
+++ new/App-perlbrew-0.39/Changes 2011-12-31 17:00:05.000000000 +0100
@@ -1,3 +1,18 @@
+0.39:
+- Fix GH #179. lib naming are more consistent.
+- Fix GH #171. bash users are suggestted to upgrad to this version.
+- Fix GH #152.
+
+0.38:
+- fix deps
+
+0.37:
+- fix ENV mess after switching to diffirent libs multiple times
+- add --sitecustomize option
+
+0.36:
+- fix test errors on freebsd that makes it uninstallable
+
0.35:
- fixes for cpantester failures
- requiers local::lib version 1.008
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.35/MANIFEST new/App-perlbrew-0.39/MANIFEST
--- old/App-perlbrew-0.35/MANIFEST 2011-12-16 00:22:45.000000000 +0100
+++ new/App-perlbrew-0.39/MANIFEST 2011-12-31 16:54:45.000000000 +0100
@@ -37,6 +37,7 @@
t/10.resolve.t
t/11.editdist.t
t/11.root_from_arg.t
+t/12.sitecustomize.t
t/command-available.t
t/command-compgen.t
t/command-display-rc.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.35/META.yml new/App-perlbrew-0.39/META.yml
--- old/App-perlbrew-0.35/META.yml 2011-12-17 06:04:56.000000000 +0100
+++ new/App-perlbrew-0.39/META.yml 2011-12-31 17:01:13.000000000 +0100
@@ -27,6 +27,7 @@
- inc
- t
requires:
+ Capture::Tiny: 0.13
Devel::PatchPerl: 0.46
File::Path::Tiny: 0.1
local::lib: 1.008
@@ -34,4 +35,4 @@
resources:
license: http://opensource.org/licenses/mit-license.php
repository: git://github.com/gugod/App-perlbrew.git
-version: 0.35
+version: 0.39
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.35/Makefile.PL new/App-perlbrew-0.39/Makefile.PL
--- old/App-perlbrew-0.35/Makefile.PL 2011-12-17 06:02:25.000000000 +0100
+++ new/App-perlbrew-0.39/Makefile.PL 2011-12-29 03:10:13.000000000 +0100
@@ -9,7 +9,8 @@
requires
'File::Path::Tiny' => '0.1',
'Devel::PatchPerl' => '0.46',
- 'local::lib' => '1.008';
+ 'local::lib' => '1.008',
+ 'Capture::Tiny' => '0.13';
test_requires
'Test::Simple' => '0.98',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.35/bin/perlbrew new/App-perlbrew-0.39/bin/perlbrew
--- old/App-perlbrew-0.35/bin/perlbrew 2011-12-16 00:23:32.000000000 +0100
+++ new/App-perlbrew-0.39/bin/perlbrew 2011-12-28 09:42:41.000000000 +0100
@@ -43,7 +43,7 @@
Options for C<install> command:
- -f --force Fore installation
+ -f --force Force installation
-j $n Parallel buildng and testing. ex. C
-n --notest Skip testing
@@ -53,6 +53,9 @@
-D,-U,-A Switches passed to perl Configure script.
ex. C
+ --sitecustomize $filename
+ Specify a file to be installed as sitecustomize.pl
+
Generic command options:
-q --quiet Be quiet on informative output message.
@@ -140,7 +143,7 @@
on the working convention of your team.
If you wish to install CPAN modules only for yourself, you should use the C<lib>
-command to construct a perlsonal local::lib enviroment. local::lib enviroments
+command to construct a personal local::lib environment. local::lib environments
are personal, and are not shared between different users. For more detail, read
C<perlbrew help lib> and the documentation of Llocal::lib.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.35/lib/App/perlbrew.pm new/App-perlbrew-0.39/lib/App/perlbrew.pm
--- old/App-perlbrew-0.35/lib/App/perlbrew.pm 2011-12-17 06:03:00.000000000 +0100
+++ new/App-perlbrew-0.39/lib/App/perlbrew.pm 2011-12-31 17:00:05.000000000 +0100
@@ -2,12 +2,13 @@
use strict;
use warnings;
use 5.008;
+use Capture::Tiny;
use Getopt::Long ();
use File::Spec::Functions qw( catfile catdir );
use File::Path::Tiny;
use FindBin;
-our $VERSION = "0.35";
+our $VERSION = "0.39";
our $CONFIG;
our $PERLBREW_ROOT = $ENV{PERLBREW_ROOT} || catdir($ENV{HOME}, "perl5", "perlbrew");
@@ -80,7 +81,7 @@
local short_option
export SHELL
- if [[ `echo $1 | awk 'BEGIN{FS=""}{print $1}'` = '-' ]]; then
+ if [[ $1 == -* ]]; then
short_option=$1
shift
else
@@ -100,7 +101,12 @@
if [ -z "$code" ]; then
exit_status=1
else
- eval $code
+ OLD_IFS=$IFS
+ IFS="$(echo -e "\n\r")"
+ for line in $code; do
+ eval $line
+ done
+ IFS=$OLD_IFS
__perlbrew_set_path
fi
fi
@@ -265,6 +271,7 @@
D => [],
U => [],
A => [],
+ sitecustomize => '',
);
# build a local @ARGV to allow us to use an older
@@ -293,7 +300,9 @@
'U=s@',
'A=s@',
- 'j=i'
+ 'j=i',
+ # options that affect Configure and customize post-build
+ 'sitecustomize=s',
)
or run_command_help(1);
@@ -920,9 +929,17 @@
my @d_options = @{ $self->{D} };
my @u_options = @{ $self->{U} };
my @a_options = @{ $self->{A} };
+ my $sitecustomize = $self->{sitecustomize};
$as = $self->{as} if $self->{as};
- unshift @d_options, qq(prefix=@{[ $self->root ]}/perls/$as);
+ if ( $sitecustomize ) {
+ die "Could not read sitecustomize file '$sitecustomize'\n"
+ unless -r $sitecustomize;
+ push @d_options, "usesitecustomize";
+ }
+
+ my $perlpath = $self->root . "/perls/$as";
+ unshift @d_options, qq(prefix=$perlpath);
push @d_options, "usedevel" if $dist_version =~ /5\.1[13579]|git|blead/;
print "Installing $dist_extracted_dir into " . $self->path_with_tilde("@{[ $self->root ]}/perls/$as") . "\n";
print <{verbose};
@@ -978,11 +995,22 @@
delete $ENV{$_} for qw(PERL5LIB PERL5OPT);
- if (!system($cmd)) {
- unless (-e catfile($self->root, "perls", $as, "bin", "perl")) {
+ if ($self->do_system($cmd)) {
+ my $newperl = catfile($self->root, "perls", $as, "bin", "perl");
+ unless (-e $newperl) {
$self->run_command_symlink_executables($as);
}
-
+ if ( $sitecustomize ) {
+ my $capture = $self->do_capture("$newperl -V:sitelib");
+ my ($sitelib) = $capture =~ /sitelib='(.*)';/;
+ mkpath($sitelib) unless -d $sitelib;
+ my $target = "$sitelib/sitecustomize.pl";
+ open my $dst, ">", $target
+ or die "Could not open '$target' for writing: $!\n";
+ open my $src, "<", $sitecustomize
+ or die "Could not open '$sitecustomize' for reading: $!\n";
+ print {$dst} do { local $/; <$src> };
+ }
print <do_system($cmd);
+ };
+}
+
sub format_perl_version {
my $self = shift;
my $version = shift;
@@ -1085,11 +1125,21 @@
if ($lib_name) {
require local::lib;
+
+ if (
+ $ENV{PERL_LOCAL_LIB_ROOT}
+ && $ENV{PERL_LOCAL_LIB_ROOT} =~ /^$PERLBREW_HOME/
+ ) {
+ my %deactivate_env = local::lib->build_deact_all_environment_vars_for($ENV{PERL_LOCAL_LIB_ROOT});
+ @env{keys %deactivate_env} = values %deactivate_env;
+ }
+
my $base = "$PERLBREW_HOME/libs/${perl_name}\@${lib_name}";
if (-d $base) {
delete $ENV{PERL_LOCAL_LIB_ROOT};
- my %lib_env = local::lib->build_environment_vars_for($base, 0, 0);
+ @ENV{keys %env} = values %env;
+ my %lib_env = local::lib->build_environment_vars_for($base, 0, 1);
$env{PERLBREW_PATH} = catdir($base, "bin") . ":" . $env{PERLBREW_PATH};
$env{PERLBREW_MANPATH} = catdir($base, "man") . ":" . $env{PERLBREW_MANPATH};
@@ -1123,7 +1173,7 @@
for my $i ( $self->installed_perls ) {
print $i->{is_current} ? '* ': ' ',
$i->{name},
- (index($i->{name}, $i->{version}) < $[) ? " ($i->{version})" : "",
+ (index($i->{name}, $i->{version}) < 0) ? " ($i->{version})" : "",
"\n";
for my $lib (@{$i->{libs}}) {
@@ -1594,8 +1644,16 @@
sub run_command_lib_create {
my ($self, $name) = @_;
- my $fullname = ($name =~ /@/) ? $name : $self->current_perl . '@' . $name;
+ $name =~ s/^/@/ unless $name =~ /@/;
+
+ my ($perl_name, $lib_name) = $self->resolve_installation_name($name);
+ if (!$perl_name) {
+ my ($perl_name, $lib_name) = split('@', $name);
+ die "ERROR: '$perl_name' is not installed yet, '$name' cannot be created.\n";
+ }
+
+ my $fullname = $perl_name . '@' . $lib_name;
my $dir = catdir($PERLBREW_HOME, "libs", $fullname);
if (-d $dir) {
@@ -1613,8 +1671,16 @@
sub run_command_lib_delete {
my ($self, $name) = @_;
+ $name =~ s/^/@/ unless $name =~ /@/;
+
+ my ($perl_name, $lib_name) = $self->resolve_installation_name($name);
+
+ if (!$perl_name) {
+ }
+
+ my $fullname = $perl_name . '@' . $lib_name;
+
my $current = $self->current_perl . '@' . ($self->env("PERLBREW_LIB") || "");
- my $fullname = ($name =~ /@/) ? $name : $self->current_perl . '@' . $name;
my $dir = catdir($PERLBREW_HOME, "libs", $fullname);
@@ -1630,8 +1696,7 @@
unless $self->{quiet};
}
else {
- print "'$fullname' is not in the list of lib\n"
- unless $self->{quiet};
+ die "ERROR: '$fullname' does not exist.\n";
}
return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.35/t/05.get_current_perl.t new/App-perlbrew-0.39/t/05.get_current_perl.t
--- old/App-perlbrew-0.35/t/05.get_current_perl.t 2011-12-15 19:51:32.000000000 +0100
+++ new/App-perlbrew-0.39/t/05.get_current_perl.t 2011-12-23 07:21:57.000000000 +0100
@@ -1,18 +1,37 @@
#!/usr/bin/env perl
use strict;
use warnings;
-use lib qw(lib);
-use Test::More tests => 1;
+
+use FindBin;
+use lib $FindBin::Bin;
use App::perlbrew;
+require 'test_helpers.pl';
+
+use Test::More;
use Test::Output;
-my $app = App::perlbrew->new();
-my $version = $App::perlbrew::VERSION;
+mock_perlbrew_install("perl-5.12.3");
+mock_perlbrew_install("perl-5.12.4");
+mock_perlbrew_install("perl-5.14.1");
+mock_perlbrew_install("perl-5.14.2");
+
+subtest "perlbrew version" => sub {
+ my $app = App::perlbrew->new();
+ my $version = $App::perlbrew::VERSION;
+ stdout_is(
+ sub {
+ $app->run_command('version');
+ },
+ "t/05.get_current_perl.t - App::perlbrew/$version\n"
+ );
+};
+
+subtest "Current perl is decided from environment variable PERLBREW_PERL" => sub {
+ for my $v (qw(perl-5.12.3 perl-5.12.3 perl-5.14.1 perl-5.14.2)) {
+ local $ENV{PERLBREW_PERL} = $v;
+ my $app = App::perlbrew->new;
+ is $app->current_perl, $v;
+ }
+};
-stdout_is(
- sub {
- $app->run_command('version');
- },
- "t/05.get_current_perl.t - App::perlbrew/$version\n",
- 'Test version'
-);
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.35/t/12.sitecustomize.t new/App-perlbrew-0.39/t/12.sitecustomize.t
--- old/App-perlbrew-0.35/t/12.sitecustomize.t 1970-01-01 01:00:00.000000000 +0100
+++ new/App-perlbrew-0.39/t/12.sitecustomize.t 2011-12-28 09:42:41.000000000 +0100
@@ -0,0 +1,104 @@
+#!perl
+use strict;
+use Path::Class;
+use Capture::Tiny qw/capture/;
+use IO::All;
+BEGIN {
+ $ENV{PERLBREW_ROOT} = file(__FILE__)->dir->subdir("mock_perlbrew_root");
+}
+
+use Test::More;
+
+use App::perlbrew;
+
+## setup
+
+App::perlbrew::rmpath( $ENV{PERLBREW_ROOT} );
+
+## mock
+
+no warnings 'redefine';
+
+sub App::perlbrew::do_system {
+ my ($self, $cmd) = @_;
+ if ($cmd =~ /sitelib/) {
+ print "sitelib='$ENV{PERLBREW_ROOT}/perls/perl-5.14.2/lib/site_perl/5.14.2';";
+ return 1;
+ }
+ elsif ($cmd =~ /Configure/) {
+ # pretend to succeed
+ return 1;
+ }
+ else {
+ # fail to run
+ $? = 1<<8;
+ $! = "Could not run '$cmd'";
+ return 0;
+ }
+}
+
+sub App::perlbrew::do_install_release {
+ my ($self, $dist) = @_;
+ my ($dist_name, $dist_version) = $dist =~ m/^(.*)-([\d.]+(?:-RC\d+)?)$/;
+
+ my $name = $dist;
+ $name = $self->{as} if $self->{as};
+
+ my $root = dir($ENV{PERLBREW_ROOT});
+ my $installation_dir = $root->subdir("perls", $name);
+ App::perlbrew::mkpath($installation_dir);
+ App::perlbrew::mkpath($root->subdir("perls", $name, "bin"));
+
+ my $perl = $root->subdir("perls", $name, "bin")->file("perl");
+ io($perl)->print("#!/bin/sh\nperl \"\$@\";\n");
+ chmod 0755, $perl;
+
+ # fake the install
+ $self->do_install_this("/tmp/fake-src/perl-5.14.2", $dist_version, $dist);
+}
+
+use warnings;
+
+## main
+
+note "PERLBREW_ROOT set to $ENV{PERLBREW_ROOT}";
+
+subtest "No perls yet installed" => sub {
+ my $app = App::perlbrew->new;
+ my @installed = grep { !$_->{is_external} } $app->installed_perls;
+ is 0+@installed, 0, "no perls installed";
+};
+
+subtest "--sitecustomize option can be set" => sub {
+ my $app = App::perlbrew->new('install', 'perl-5.14.2',
+ '--sitecustomize=mysitecustomize.pl'
+ );
+
+ is join(' ', $app->args), join(' ', qw(install perl-5.14.2)), "post-option args correct";
+ is $app->{sitecustomize}, 'mysitecustomize.pl', '--sitecustomize set as expected';
+};
+
+subtest "mock installing" => sub {
+ my $sitefile = File::Temp->new;
+ print $sitefile "use strict;\n";
+ close $sitefile;
+ my $app = App::perlbrew->new('install', 'perl-5.14.2',
+ "--sitecustomize=$sitefile"
+ );
+ my ($output,$error) = capture { $app->run };
+
+ my @installed = grep { !$_->{is_external} } $app->installed_perls;
+ is 0+@installed, 1, "found 1 installed perl";
+
+ is $installed[0]->{name}, "perl-5.14.2", "found expected perl";
+ my $root = dir($ENV{PERLBREW_ROOT});
+ my $perldir = $root->subdir("perls", "perl-5.14.2");
+ my $installedsite = $perldir->file('lib', 'site_perl', '5.14.2', 'sitecustomize.pl');
+ ok( -f $installedsite, "sitecustomize.pl installed" );
+
+ my $guts = do { local (@ARGV, $/) = $installedsite; <> };
+ is( $guts, "use strict;\n", "sitecustomize.pl contents correct" );
+};
+
+done_testing;
+# vim: ts=4 sts=4 sw=4 et:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.35/t/command-exec.t new/App-perlbrew-0.39/t/command-exec.t
--- old/App-perlbrew-0.35/t/command-exec.t 2011-12-17 06:03:00.000000000 +0100
+++ new/App-perlbrew-0.39/t/command-exec.t 2011-12-23 07:21:57.000000000 +0100
@@ -32,11 +32,14 @@
# NOTE: this script may need to change if the usage of these perlbrew vars changes
test_env => {
content => '', # don't create a file for this one
- args => [ qw( exec sh -c ), 'echo "$PERLBREW_PERL--$PERLBREW_PATH" >> $1', '-' ],
+ args => [ qw( exec sh -c ), 'echo "$PERLBREW_PERL--$PERLBREW_PATH" >> $0' ],
output => join('', sort map { "$_--$root/bin:$root/perls/$_/bin\n" } @perls),
},
);
+close STDOUT;
+close STDERR;
+
# build a fake root with some fake perls (most of this was modified from stuff found in t/installation.t)
foreach my $name ( @perls ) {
my $bin = $root->subdir("perls", $name, "bin");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.35/t/command-lib.t new/App-perlbrew-0.39/t/command-lib.t
--- old/App-perlbrew-0.35/t/command-lib.t 2011-10-13 17:29:25.000000000 +0200
+++ new/App-perlbrew-0.39/t/command-lib.t 2011-12-31 16:59:58.000000000 +0100
@@ -8,9 +8,13 @@
use File::Path::Tiny;
use Test::Spec;
use Test::Output;
+use Test::Exception;
use App::perlbrew;
require "test_helpers.pl";
+mock_perlbrew_install("perl-5.14.1");
+mock_perlbrew_install("perl-5.14.2");
+mock_perlbrew_install("perl-5.14.3");
describe "lib command," => sub {
it "shows a page of usage synopsis when no sub-command are given." => sub {
@@ -21,14 +25,72 @@
};
describe "`create` sub-command," => sub {
- it "creates the local::lib folder" => sub {
- stdout_is {
- my $app = App::perlbrew->new("lib", "create", "nobita");
- $app->expects("current_perl")->returns("perl-5.14.2")->at_least_once;
- $app->run;
- } qq{lib 'perl-5.14.2\@nobita' is created.\n};
+ my ($app, $libdir);
+
+ before each => sub {
+ $app = App::perlbrew->new;
+ $app->expects("current_perl")->returns("perl-5.14.2")->at_least_once;
+
+ $libdir = dir($App::perlbrew::PERLBREW_HOME, "libs", 'perl-5.14.2@nobita');
+ };
+
+ after each => sub {
+ $libdir->rmtree;
+ };
+
+ describe "with a bare lib name," => sub {
+ it "creates the lib folder for current perl" => sub {
+ stdout_is {
+ $app->{args} = [ "lib", "create", "nobita" ];
+ $app->run;
+ } qq{lib 'perl-5.14.2\@nobita' is created.\n};
- ok -d catdir($App::perlbrew::PERLBREW_HOME, "libs", 'perl-5.14.2@nobita');
+ ok -d $libdir;
+ };
+ };
+
+ describe "with \@ in the beginning of lib name," => sub {
+ it "creates the lib folder for current perl" => sub {
+ stdout_is {
+ $app->{args} = [ "lib", "create", '@nobita' ];
+
+ $app->run;
+ } qq{lib 'perl-5.14.2\@nobita' is created.\n};
+
+ ok -d $libdir;
+ }
+ };
+
+ describe "with perl name and \@ as part of lib name," => sub {
+ it "creates the lib folder for the specified perl" => sub {
+ stdout_is {
+ $app->{args} = [ "lib", "create", 'perl-5.14.2@nobita' ];
+ $app->run;
+ } qq{lib 'perl-5.14.2\@nobita' is created.\n};
+
+ ok -d $libdir;
+ };
+
+ it "creates the lib folder for the specified perl" => sub {
+ stdout_is {
+ $app->{args} = [ "lib", "create", 'perl-5.14.1@nobita' ];
+ $app->run;
+ } qq{lib 'perl-5.14.1\@nobita' is created.\n};
+
+ $libdir = dir($App::perlbrew::PERLBREW_HOME, "libs", 'perl-5.14.1@nobita');
+ ok -d $libdir;
+ };
+
+ it "shows errors if the specified perl does not exist." => sub {
+ throws_ok {
+ ## perl-5.8.8 is not mock-installed
+ $app->{args} = [ "lib", "create", 'perl-5.8.8@nobita' ];
+ $app->run;
+ } qr{^ERROR: 'perl-5.8.8' is not installed yet, 'perl-5.8.8\@nobita' cannot be created.\n};
+
+ $libdir = dir($App::perlbrew::PERLBREW_HOME, "libs", 'perl-5.8.8@nobita');
+ ok !-d $libdir;
+ };
};
};
@@ -49,6 +111,14 @@
ok !-d catdir($App::perlbrew::PERLBREW_HOME, "libs", 'perl-5.14.2@nobita');
ok !-e catdir($App::perlbrew::PERLBREW_HOME, "libs", 'perl-5.14.2@nobita');
};
+
+ it "shows errors when the given lib does not exists " => sub {
+ throws_ok {
+ my $app = App::perlbrew->new("lib", "delete", "yoga");
+ $app->expects("current_perl")->returns("perl-5.14.2")->at_least_once;
+ $app->run;
+ } qr{^ERROR: 'perl-5\.14\.2\@yoga' does not exist\.};
+ };
};
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.35/t/installation-perlbrew.t new/App-perlbrew-0.39/t/installation-perlbrew.t
--- old/App-perlbrew-0.35/t/installation-perlbrew.t 2011-12-16 22:52:45.000000000 +0100
+++ new/App-perlbrew-0.39/t/installation-perlbrew.t 2011-12-23 07:21:57.000000000 +0100
@@ -10,7 +10,7 @@
use Path::Class;
use Test::More;
-note "PERLBREW_ROOT set to $ENV{PERLBREW_ROOT}";
+diag "PERLBREW_ROOT set to $ENV{PERLBREW_ROOT}";
subtest "`perlbrew self-install` initialize the required dir structure under PERLBREW_ROOT", sub {
my $app = App::perlbrew->new('--quiet', 'self-install');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/App-perlbrew-0.35/t/test_helpers.pl new/App-perlbrew-0.39/t/test_helpers.pl
--- old/App-perlbrew-0.35/t/test_helpers.pl 2011-12-17 06:02:25.000000000 +0100
+++ new/App-perlbrew-0.39/t/test_helpers.pl 2011-12-23 07:21:57.000000000 +0100
@@ -47,7 +47,7 @@
chmod 0755, $perl;
- note "(mock) installed $name to $installation_dir";
+ diag "(mock) installed $name to $installation_dir";
}
sub mock_perlbrew_install {
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org