1# -*-perl-*- 2use strict; 3use Test qw(:DEFAULT $TESTOUT $TESTERR $ntest); 4 5### This test is crafted in such a way as to prevent Test::Harness from 6### seeing the todo tests, otherwise you get people sending in bug reports 7### about Test.pm having "UNEXPECTEDLY SUCCEEDED" tests. 8 9open F, ">", "todo"; 10$TESTOUT = *F{IO}; 11$TESTERR = *F{IO}; 12my $tests = 5; 13plan tests => $tests, todo => [2..$tests]; 14 15 16# tests to go to the output file 17ok(1); 18ok(1); 19ok(0,1); 20ok(0,1,"need more tuits"); 21ok(1,1); 22 23close F; 24$TESTOUT = *STDOUT{IO}; 25$TESTERR = *STDERR{IO}; 26$ntest = 1; 27 28open F, "<", "todo"; 29my $out = join '', <F>; 30close F; 31unlink "todo"; 32 33my $expect = <<"EXPECT"; 341..5 todo 2 3 4 5; 35ok 1 36ok 2 # ($0 at line 18 TODO?!) 37not ok 3 38# Test 3 got: '0' ($0 at line 19 *TODO*) 39# Expected: '1' 40not ok 4 41# Test 4 got: '0' ($0 at line 20 *TODO*) 42# Expected: '1' (need more tuits) 43ok 5 # ($0 at line 21 TODO?!) 44EXPECT 45 46 47sub commentless { 48 my $in = $_[0]; 49 $in =~ s/^#[^\n]*\n//mg; 50 $in =~ s/\n#[^\n]*$//mg; 51 return $in; 52} 53 54print "1..1\n"; 55ok( commentless($out), commentless($expect) ); 56