The [perl #21890] (Devel::Coverage breakage) has been fixed
Jarkko Hietaniemi [Fri, 2 May 2003 08:41:40 +0000 (08:41 +0000)]
by change #18589 (it was broken by change #9754); add test case.
p4raw-link: @18589 on //depot/perl: 5df8de69806210bf48dc2e451e3db37c6f274c6e
p4raw-link: @9754 on //depot/perl: 9d43a7557743d779c74d69ffc6df7fc17711f3ec

p4raw-id: //depot/perl@19378

MANIFEST
t/run/switchd.t [new file with mode: 0644]

index 2a3895c..c0d90bc 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -2737,6 +2737,7 @@ t/run/fresh_perl.t                Tests that require a fresh perl.
 t/run/noswitch.t               Test aliasing ARGV for other switch tests
 t/run/runenv.t                 Test if perl honors its environment variables.
 t/run/switcha.t                        Test the -a switch
+t/run/switchd.t                        Test the -d switch
 t/run/switchC.t                        Test the -C switch
 t/run/switches.t               Tests for the other switches (-0, -l, -c, -s, -M, -m, -V)
 t/run/switchF.t                        Test the -F switch
diff --git a/t/run/switchd.t b/t/run/switchd.t
new file mode 100644 (file)
index 0000000..83d4976
--- /dev/null
@@ -0,0 +1,40 @@
+#!./perl -w
+
+BEGIN {
+    chdir 't' if -d 't';
+    @INC = qw(../lib lib);
+}
+
+require "./test.pl";
+
+plan(tests => 1);
+
+my $r;
+my @tmpfiles = ();
+END { unlink @tmpfiles }
+
+my $filename = 'swdtest.tmp';
+SKIP: {
+       open my $f, ">$filename"
+           or skip( "Can't write temp file $filename: $!" );
+       print $f <<'__SWDTEST__';
+package Bar;
+sub bar { $_[0] * $_[0] }
+package Foo;
+sub foo {
+  my $s;
+  $s += Bar::bar($_) for 1..$_[0];
+}
+package main;
+Foo::foo(3);
+__SWDTEST__
+    close $f;
+    push @tmpfiles, $filename;
+    $| = 1; # Unbufferize.
+    $r = runperl(
+                switches => [ '-Ilib', '-d:DevelTest' ],
+                progfile => $filename,
+               );
+    like($r, qr/^main,swdtest.tmp,9;Foo,swdtest.tmp,5;Foo,swdtest.tmp,6;Foo,swdtest.tmp,6;Bar,swdtest.tmp,2;Foo,swdtest.tmp,6;Bar,swdtest.tmp,2;Foo,swdtest.tmp,6;Bar,swdtest.tmp,2;Foo,swdtest.tmp,6;$/i);
+}
+