Devel::PPPort
[p5sagit/p5-mst-13.2.git] / ext / Devel / PPPort / harness / t / test.t
1
2 use Devel::PPPort::Harness;
3
4 use strict;
5
6 print "1..17\n";
7
8 BEGIN {
9     chdir 't' if -d 't';
10     @INC = '../lib' if -d '../lib';
11
12 }
13
14 my $total = 0;
15 my $good = 0;
16
17 my $test = 0;   
18 sub ok {
19     my ($name, $test_sub) = @_;
20     my $line = (caller)[2];
21     my $value;
22
23     eval { $value = &{ $test_sub }() } ;
24
25     ++ $test ;
26
27     if ($@) {
28         printf "not ok $test # Testing '$name', line $line $@\n";
29     }
30     elsif ($value != 1){
31         printf "not ok $test # Testing '$name', line $line, value != 1 ($value)\n";
32     }
33     else {
34         print "ok $test\n";
35     }
36
37
38
39 ok "Static newCONSTSUB()", 
40    sub { Devel::PPPort::Harness::test1(); Devel::PPPort::Harness::test_value_1() == 1} ;
41
42 ok "Global newCONSTSUB()", 
43    sub { Devel::PPPort::Harness::test2(); Devel::PPPort::Harness::test_value_2() == 2} ;
44
45 ok "Extern newCONSTSUB()", 
46    sub { Devel::PPPort::Harness::test3(); Devel::PPPort::Harness::test_value_3() == 3} ;
47
48 ok "newRV_inc()", sub { Devel::PPPort::Harness::test4()} ;
49
50 ok "newRV_noinc()", sub { Devel::PPPort::Harness::test5()} ;
51
52 ok "PL_sv_undef", sub { not defined Devel::PPPort::Harness::test6()} ;
53
54 ok "PL_sv_yes", sub { Devel::PPPort::Harness::test7()} ;
55
56 ok "PL_sv_no", sub { !Devel::PPPort::Harness::test8()} ;
57
58 ok "PL_na", sub { Devel::PPPort::Harness::test9("abcd") == 4} ;
59
60 ok "boolSV 1", sub { Devel::PPPort::Harness::test10(1) } ;
61
62 ok "boolSV 0", sub { ! Devel::PPPort::Harness::test10(0) } ;
63
64 ok "newSVpvn", sub { Devel::PPPort::Harness::test11("abcde", 3) eq "abc" } ;
65
66 ok "DEFSV", sub { $_ = "Fred"; Devel::PPPort::Harness::test12() eq "Fred" } ;
67
68 ok "ERRSV", sub { eval { 1; }; ! Devel::PPPort::Harness::test13() };
69
70 ok "ERRSV", sub { eval { fred() }; Devel::PPPort::Harness::test13() };
71
72 ok "CXT 1", sub { Devel::PPPort::Harness::test14()} ;
73
74 ok "CXT 2", sub { Devel::PPPort::Harness::test15()} ;
75
76 __END__
77 # TODO
78
79 PERL_VERSION
80 PERL_BCDVERSION
81
82 PL_stdingv
83 PL_hints
84 PL_curcop
85 PL_curstash
86 PL_copline
87 PL_Sv
88 PL_compiling
89 PL_dirty
90
91 PTR2IV
92 INT2PTR
93
94 dTHR
95 gv_stashpvn
96 NOOP
97 SAVE_DEFSV
98 PERL_UNUSED_DECL
99 dNOOP