xref: /onnv-gate/usr/src/cmd/perl/5.8.4/distrib/lib/Test/Simple/t/no_plan.t (revision 0:68f95e015346)
1BEGIN {
2    if( $ENV{PERL_CORE} ) {
3        chdir 't';
4        @INC = ('../lib', 'lib');
5    }
6    else {
7        unshift @INC, 't/lib';
8    }
9}
10
11# Can't use Test.pm, that's a 5.005 thing.
12package My::Test;
13
14print "1..12\n";
15
16my $test_num = 1;
17# Utility testing functions.
18sub ok ($;$) {
19    my($test, $name) = @_;
20    my $ok = '';
21    $ok .= "not " unless $test;
22    $ok .= "ok $test_num";
23    $ok .= " - $name" if defined $name;
24    $ok .= "\n";
25    print $ok;
26    $test_num++;
27}
28
29
30package main;
31
32require Test::Simple;
33
34require Test::Simple::Catch;
35my($out, $err) = Test::Simple::Catch::caught();
36
37eval {
38    Test::Simple->import;
39};
40
41My::Test::ok($$out eq '');
42My::Test::ok($$err eq '');
43My::Test::ok($@    eq '');
44
45eval {
46    Test::Simple->import(tests => undef);
47};
48
49My::Test::ok($$out eq '');
50My::Test::ok($$err eq '');
51My::Test::ok($@ =~ /Got an undefined number of tests/);
52
53eval {
54    Test::Simple->import(tests => 0);
55};
56
57My::Test::ok($$out eq '');
58My::Test::ok($$err eq '');
59My::Test::ok($@ =~ /You said to run 0 tests!/);
60
61eval {
62    Test::Simple::ok(1);
63};
64My::Test::ok( $@ =~ /You tried to run a test without a plan!/);
65
66
67END {
68    My::Test::ok($$out eq '');
69    My::Test::ok($$err eq "");
70
71    # Prevent Test::Simple from exiting with non zero.
72    exit 0;
73}
74