[Bps-public-commit] r15736 - Test-Chimps-Client/branches/modern-tap/lib/Test/Chimps
alexmv at bestpractical.com
alexmv at bestpractical.com
Wed Sep 3 17:37:42 EDT 2008
Author: alexmv
Date: Wed Sep 3 17:37:41 2008
New Revision: 15736
Modified:
Test-Chimps-Client/branches/modern-tap/lib/Test/Chimps/Smoker.pm
Log:
* TAP::Harness has support for explicit libs, instead of @INC munging
Modified: Test-Chimps-Client/branches/modern-tap/lib/Test/Chimps/Smoker.pm
==============================================================================
--- Test-Chimps-Client/branches/modern-tap/lib/Test/Chimps/Smoker.pm (original)
+++ Test-Chimps-Client/branches/modern-tap/lib/Test/Chimps/Smoker.pm Wed Sep 3 17:37:41 2008
@@ -66,7 +66,7 @@
use base qw/Class::Accessor/;
__PACKAGE__->mk_ro_accessors(qw/server config_file simulate/);
__PACKAGE__->mk_accessors(
- qw/_added_to_inc _env_stack _checkout_paths _config projects iterations/);
+ qw/_env_stack _checkout_paths _config projects iterations/);
# add a signal handler so destructor gets run
$SIG{INT} = sub {print "caught sigint. cleaning up...\n"; exit(1)};
@@ -107,7 +107,6 @@
foreach my $key (keys %args) {
$self->{$key} = $args{$key};
}
- $self->_added_to_inc([]);
$self->_env_stack([]);
$self->_checkout_paths([]);
@@ -151,7 +150,7 @@
$info_out =~ m/^Last Changed Author: (\w+)/m;
my $committer = $1;
- $self->_checkout_project($config->{$project}, $revision);
+ my @libs = $self->_checkout_project($config->{$project}, $revision);
my @dbs = $self->_list_dbs;
print "running tests for $project\n";
@@ -167,18 +166,13 @@
osvers => $Config{osvers},
archname => $Config{archname},
},
- jobs => $self->{jobs},
+ jobs => $config->{$project}{jobs} || $self->{jobs},
+ lib => \@libs,
} );
$harness->runtests(glob($test_glob));
$self->_unroll_env_stack;
- foreach my $libdir (@{$self->_added_to_inc}) {
- print "removing $libdir from \@INC\n";
- shift @INC;
- }
- $self->_added_to_inc([]);
-
chdir(File::Spec->rootdir);
foreach my $tmpdir (@{$self->_checkout_paths}) {
@@ -337,28 +331,15 @@
chdir($projectdir);
- my $old_perl5lib = $ENV{PERL5LIB};
- $ENV{PERL5LIB} = join($Config{path_sep}, @{$self->_added_to_inc}) .
- ':' . $ENV{PERL5LIB};
- if (defined $project->{configure_cmd}) {
- system($project->{configure_cmd});
- }
- $ENV{PERL5LIB} = $old_perl5lib;
+ system($project->{configure_cmd})
+ if defined $project->{configure_cmd};
my @libs = qw{blib/lib};
push @libs, @{$project->{libs}} if $project->{libs};
- for my $libloc (@libs) {
- my $libdir = File::Spec->catdir($tmpdir,
- $project->{root_dir},
- $libloc);
- print "adding $libdir to \@INC\n";
- unshift @{$self->_added_to_inc}, $libdir;
- unshift @INC, $libdir;
- }
-
+ @libs = map {File::Spec->catdir($tmpdir, $project->{root_dir}, $_)} @libs;
- return $projectdir;
+ return @libs;
}
sub _list_dbs {
More information about the Bps-public-commit
mailing list