# run the testsuite against the HTTP server
$ENV{CATALYST_SERVER} = "http://localhost:$port";
+chdir '..';
+
my $return;
if ( $single_test ) {
- $return = system( "$^X -I../lib/ $single_test" );
+ $return = system( "$^X -Ilib/ $single_test" );
}
else {
- $return = prove( ['../lib/'], [glob('../t/aggregate/live_*.t')] );
+ $return = prove(grep { $_ ne '..' } glob('t/aggregate/live_*.t'));
}
# shut it down
}
sub prove {
- my ($inc, $tests) = @_;
+ my (@tests) = @_;
if (!(my $pid = fork)) {
- unshift @INC, @{ $inc };
-
require TAP::Harness;
- my $harness = TAP::Harness->new;
- my $aggregator = $harness->runtests(@{ $tests });
+
+ my $aggr = -e '.aggregating';
+ my $harness = TAP::Harness->new({
+ ($aggr ? (test_args => \@tests) : ()),
+ lib => ['lib'],
+ });
+
+ my $aggregator = $aggr
+ ? $harness->runtests('t/aggregate.t')
+ : $harness->runtests(@tests);
exit $aggregator->has_errors ? 1 : 0;
} else {