diff options
-rw-r--r-- | MANIFEST | 1 | ||||
-rw-r--r-- | t/run/switchd.t | 40 |
2 files changed, 41 insertions, 0 deletions
@@ -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 index 0000000000..83d4976b71 --- /dev/null +++ b/t/run/switchd.t @@ -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); +} + |