1b8851fccSafresh1#!./perl -w 2b8851fccSafresh1BEGIN { 3b8851fccSafresh1 chdir 't' if -d 't'; 4b8851fccSafresh1 @INC = '../lib'; 5b8851fccSafresh1 require './test.pl'; 6b8851fccSafresh1 skip_all_if_miniperl(); 7b8851fccSafresh1} 8b8851fccSafresh1 9b8851fccSafresh1use Config; 10b8851fccSafresh1 11b8851fccSafresh1my $perlio_log = "perlio$$.txt"; 12b8851fccSafresh1 13b8851fccSafresh1skip_all "DEBUGGING build required" 145759b3d2Safresh1 unless $::Config{ccflags} =~ /(?<!\S)-DDEBUGGING(?!\S)/ 15b8851fccSafresh1 or $^O eq 'VMS' && $::Config{usedebugging_perl} eq 'Y'; 16b8851fccSafresh1 17eac174f2Safresh1plan tests => 9; 18b8851fccSafresh1 19b8851fccSafresh1END { 20b8851fccSafresh1 unlink $perlio_log; 21b8851fccSafresh1} 22b8851fccSafresh1{ 23b8851fccSafresh1 unlink $perlio_log; 24b8851fccSafresh1 local $ENV{PERLIO_DEBUG} = $perlio_log; 25b8851fccSafresh1 fresh_perl_is("print qq(hello\n)", "hello\n", 26b8851fccSafresh1 { stderr => 1 }, 27b8851fccSafresh1 "No perlio debug file without -Di..."); 28b8851fccSafresh1 ok(!-e $perlio_log, "...no perlio.txt found"); 295759b3d2Safresh1 fresh_perl_like("print qq(hello\n)", qr/\nEXECUTING...\n{1,2}hello\n?/, 30b8851fccSafresh1 { stderr => 1, switches => [ "-Di" ] }, 31b8851fccSafresh1 "Perlio debug file with both -Di and PERLIO_DEBUG..."); 32b8851fccSafresh1 ok(-e $perlio_log, "... perlio debugging file found with -Di and PERLIO_DEBUG"); 33b8851fccSafresh1 34b8851fccSafresh1 unlink $perlio_log; 35eac174f2Safresh1 SKIP: { 36eac174f2Safresh1 if (not $Config{taint_support}) { 37eac174f2Safresh1 skip("Your perl was built without taint support", 2); 38eac174f2Safresh1 } 39b8851fccSafresh1 fresh_perl_like("print qq(hello\n)", qr/define raw/, 40b8851fccSafresh1 { stderr => 1, switches => [ "-TDi" ] }, 41b8851fccSafresh1 "Perlio debug output to stderr with -TDi (with PERLIO_DEBUG)..."); 42b8851fccSafresh1 ok(!-e $perlio_log, "...no perlio debugging file found"); 43b8851fccSafresh1 } 44eac174f2Safresh1} 45b8851fccSafresh1 46b8851fccSafresh1{ 47b8851fccSafresh1 local $ENV{PERLIO_DEBUG}; 48b8851fccSafresh1 fresh_perl_like("print qq(hello)", qr/define raw/, 49b8851fccSafresh1 { stderr => 1, switches => [ '-Di' ] }, 50b8851fccSafresh1 "-Di defaults to stderr"); 51*e0680481Safresh1 SKIP: { 52*e0680481Safresh1 skip("Your perl was built without taint support", 1) 53*e0680481Safresh1 unless $Config{taint_support}; 54*e0680481Safresh1 55b8851fccSafresh1 fresh_perl_like("print qq(hello)", qr/define raw/, 56b8851fccSafresh1 { stderr => 1, switches => [ '-TDi' ] }, 57b8851fccSafresh1 "Perlio debug output to STDERR with -TDi (no PERLIO_DEBUG)"); 58b8851fccSafresh1 } 59*e0680481Safresh1} 60eac174f2Safresh1{ 61eac174f2Safresh1 # -DXv tests 62eac174f2Safresh1 fresh_perl_like('{ my $n=1; *foo= sub () { $n }; }', 63eac174f2Safresh1 qr/To: CV=0x[a-f0-9]+ \(ANON\), OUTSIDE=0x0 \(null\)/, 64eac174f2Safresh1 { stderr => 1, switches => [ '-DXv' ] }, 65eac174f2Safresh1 "-DXv does not assert when dumping anonymous constant sub"); 66eac174f2Safresh1} 67