Tests for #92906: perl -d has non-functional b command
authorShlomi Fish <shlomif@iglu.org.il>
Thu, 16 Jun 2011 04:38:06 +0000 (21:38 -0700)
committerFather Chrysostomos <sprout@cpan.org>
Thu, 16 Jun 2011 04:53:19 +0000 (21:53 -0700)
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

MANIFEST
lib/perl5db.t
lib/perl5db/t/breakpoint-bug [new file with mode: 0644]

index 772e403..c4e552a 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -3940,6 +3940,7 @@ lib/overload.pm                   Module for overloading perl operators
 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
index 4419136..f4f32da 100644 (file)
@@ -27,7 +27,7 @@ my $dev_tty = '/dev/tty';
     }
 }
 
-plan(9);
+plan(10);
 
 sub rc {
     open RC, ">", ".perldb" or die $!;
@@ -177,6 +177,32 @@ SKIP: {
     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.
 
diff --git a/lib/perl5db/t/breakpoint-bug b/lib/perl5db/t/breakpoint-bug
new file mode 100644 (file)
index 0000000..5ac9874
--- /dev/null
@@ -0,0 +1,8 @@
+#!/usr/bin/perl
+my $x = "One";
+
+$x = "Two";
+
+my $y = "Lambda";
+
+$x = "Four";