3 @INC = '../lib' if -d '../lib';
5 if (($Config::Config{'extensions'} !~ m!\bDevel/PPPort\b!) ){
6 print "1..0 # Skip -- Perl configured without Devel::PPPort module\n";
21 my ($name, $test_sub) = @_;
22 my $line = (caller)[2];
25 eval { $value = &{ $test_sub }() } ;
30 printf "not ok $test # Testing '$name', line $line $@\n";
33 printf "not ok $test # Testing '$name', line $line, value != 1 ($value)\n";
41 ok "Static newCONSTSUB()",
42 sub { Devel::PPPort::test1(); Devel::PPPort::test_value_1() == 1} ;
44 ok "Global newCONSTSUB()",
45 sub { Devel::PPPort::test2(); Devel::PPPort::test_value_2() == 2} ;
47 ok "Extern newCONSTSUB()",
48 sub { Devel::PPPort::test3(); Devel::PPPort::test_value_3() == 3} ;
50 ok "newRV_inc()", sub { Devel::PPPort::test4()} ;
52 ok "newRV_noinc()", sub { Devel::PPPort::test5()} ;
54 ok "PL_sv_undef", sub { not defined Devel::PPPort::test6()} ;
56 ok "PL_sv_yes", sub { Devel::PPPort::test7()} ;
58 ok "PL_sv_no", sub { !Devel::PPPort::test8()} ;
60 ok "PL_na", sub { Devel::PPPort::test9("abcd") == 4} ;
62 ok "boolSV 1", sub { Devel::PPPort::test10(1) } ;
64 ok "boolSV 0", sub { ! Devel::PPPort::test10(0) } ;
66 ok "newSVpvn", sub { Devel::PPPort::test11("abcde", 3) eq "abc" } ;
68 ok "DEFSV", sub { $_ = "Fred"; Devel::PPPort::test12() eq "Fred" } ;
70 ok "ERRSV", sub { eval { 1; }; ! Devel::PPPort::test13() };
72 ok "ERRSV", sub { eval { fred() }; Devel::PPPort::test13() };
74 ok "CXT 1", sub { Devel::PPPort::test14()} ;
76 ok "CXT 2", sub { Devel::PPPort::test15()} ;