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