1{ 2 my $__ntest; 3 my $__total; 4 5 sub plan { 6 @_ == 2 or die "usage: plan(tests => count)"; 7 my $what = shift; 8 $what eq 'tests' or die "cannot plan anything but tests"; 9 $__total = shift; 10 defined $__total && $__total > 0 or die "need a positive number of tests"; 11 print "1..$__total\n"; 12 } 13 14 sub skip { 15 my $reason = shift; 16 ++$__ntest; 17 print "ok $__ntest # skip: $reason\n" 18 } 19 20 sub ok ($;$$) { 21 local($\,$,); 22 my $ok = 0; 23 my $result = shift; 24 if (@_ == 0) { 25 $ok = $result; 26 } else { 27 $expected = shift; 28 if (!defined $expected) { 29 $ok = !defined $result; 30 } elsif (!defined $result) { 31 $ok = 0; 32 } elsif (ref($expected) eq 'Regexp') { 33 die "using regular expression objects is not backwards compatible"; 34 } else { 35 $ok = $result eq $expected; 36 } 37 } 38 ++$__ntest; 39 if ($ok) { 40 print "ok $__ntest\n" 41 } 42 else { 43 print "not ok $__ntest\n" 44 } 45 } 46} 47 481; 49