summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2013-07-17 12:23:42 +0200
committerNicholas Clark <nick@ccl4.org>2013-07-17 12:23:42 +0200
commitdd686e5619f8ad9e1e46ec0e80539edbcb73c8ea (patch)
treedc046e67f399a0742927ce8b60adb6fa9a00273f
parent467582e8e8af9e7a3cd4a20c4f30f72c3f2a9ce6 (diff)
downloadperl-dd686e5619f8ad9e1e46ec0e80539edbcb73c8ea.tar.gz
bisect.pl now accepts repeated -e options, just like perl.
-rwxr-xr-xPorting/bisect-runner.pl7
1 files changed, 4 insertions, 3 deletions
diff --git a/Porting/bisect-runner.pl b/Porting/bisect-runner.pl
index 81ccd90f87..6ceb22b005 100755
--- a/Porting/bisect-runner.pl
+++ b/Porting/bisect-runner.pl
@@ -55,7 +55,7 @@ push @paths, qw(/usr/local/lib /lib /usr/lib)
unless(GetOptions(\%options,
'target=s', 'make=s', 'jobs|j=i', 'expect-pass=i',
'expect-fail' => sub { $options{'expect-pass'} = 0; },
- 'clean!', 'one-liner|e=s', 'c', 'l', 'w', 'match=s',
+ 'clean!', 'one-liner|e=s@', 'c', 'l', 'w', 'match=s',
'no-match=s' => sub {
$options{match} = $_[1];
$options{'expect-pass'} = 0;
@@ -294,7 +294,8 @@ This prepends C<./perl -Ilib -e 'code to run'> to the test case given,
or F<./miniperl> if I<target> is C<miniperl>.
(Usually you'll use C<-e> instead of providing a test case in the
-non-option arguments to F<bisect.pl>)
+non-option arguments to F<bisect.pl>. You can repeat C<-e> on the command
+line, just like you can with C<perl>)
C<-E> intentionally isn't supported, as it's an error in 5.8.0 and earlier,
which interferes with detecting errors in the example code itself.
@@ -1339,7 +1340,7 @@ match_and_exit($real_target, @ARGV) if $match;
if (defined $options{'one-liner'}) {
my $exe = $target =~ /^(?:perl$|test)/ ? 'perl' : 'miniperl';
- unshift @ARGV, '-e', $options{'one-liner'};
+ unshift @ARGV, map {('-e', $_)} @{$options{'one-liner'}};
foreach (qw(c l w)) {
unshift @ARGV, "-$_" if $options{$_};
}