In bleadperl (NOT perl-5.12.3) perl -d's "b" command does not appear
to do anything as verified on my x86-64 Mandriva Linux Cooker machine. This
patch adds a regression test to test for it.
See:
http://www.nntp.perl.org/group/perl.perl5.porters/2011/06/msg173568.html
lib/overload.t See if operator overloading works
lib/perl5db.pl Perl debugging routines
lib/perl5db.t Tests for the Perl debugger
+lib/perl5db/t/breakpoint-bug Test script used by perl5db.t
lib/perl5db/t/eval-line-bug Tests for the Perl debugger
lib/perl5db/t/lvalue-bug Tests for the Perl debugger
lib/perl5db/t/proxy-constants Tests for the Perl debugger
}
}
-plan(9);
+plan(10);
sub rc {
open RC, ">", ".perldb" or die $!;
is($output, '[$^X][done]', "taint");
}
+# Testing that we can set a breakpoint
+{
+ rc(<<'EOF');
+&parse_options("NonStop=0 TTY=db.out LineInfo=db.out");
+
+sub afterinit {
+ push (@DB::typeahead,
+ 'b 6',
+ 'c',
+ q/do { use IO::Handle; STDOUT->autoflush(1); print "X={$x}\n"; }/,
+ 'c',
+ 'q',
+ );
+
+}
+EOF
+
+ my $output = runperl(switches => [ '-d', ], stderr => 1, progfile => '../lib/perl5db/t/breakpoint-bug');
+
+ like($output, qr/
+ X=\{Two\}
+ /msx,
+ "Can set breakpoint in a line.");
+}
+
+
# clean up.
--- /dev/null
+#!/usr/bin/perl
+my $x = "One";
+
+$x = "Two";
+
+my $y = "Lambda";
+
+$x = "Four";