From: Hugo van der Sanden Date: Thu, 21 Jun 2001 00:29:07 +0000 (+0100) Subject: op/study.t refinements X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=27c93d935afa469df9d5f684ca7568352ce9242b;p=p5sagit%2Fp5-mst-13.2.git op/study.t refinements Message-Id: <200106202329.AAA31397@crypt.compulink.co.uk> p4raw-id: //depot/perl@10766 --- diff --git a/t/op/study.t b/t/op/study.t index a7f24f6..348de79 100755 --- a/t/op/study.t +++ b/t/op/study.t @@ -1,6 +1,9 @@ #!./perl -# $RCSfile: study.t,v $$Revision: 4.1 $$Date: 92/08/07 18:28:30 $ +BEGIN { + chdir 't' if -d 't'; + @INC = '../lib'; +} print "1..26\n"; @@ -68,32 +71,28 @@ if (/^$_$/) {print "ok 23\n";} else {print "not ok 23\n";} $* = 1; # test 3 only tested the optimized version--this one is for real if ("ab\ncd\n" =~ /^cd/) {print "ok 24\n";} else {print "not ok 24\n";} -# [ID 20010618.006] these two may loop +# [ID 20010618.006] tests 25..26 may loop { use Config; - if ($Config{d_alarm}) { - local $SIG{ALRM} = sub { die "timeout\n" }; - $_ = 'FGF'; - study; - my $ok = eval { alarm(2); my $match = /G.F$/; alarm(0); !$match }; - if ($ok && !$@) { - print "ok 25\n"; - } elsif ($@) { - print "not ok 25\t# $@"; - } else { - print "not ok 25\t# should not match\n"; - } - $ok = eval { alarm(2); my $match = /[F]F$/; alarm(0); !$match }; - if ($ok && !$@) { - print "ok 26\n"; - } elsif ($@) { - print "not ok 26\t# $@"; - } else { - print "not ok 26\t# should not match\n"; - } + my $have_alarm = $Config{d_alarm}; + local $SIG{ALRM} = sub { die "timeout\n" }; + + $_ = 'FGF'; + study; + my $ok = $have_alarm + ? eval { alarm(2); my $match = /G.F$/; alarm(0); !$match } + : eval { !/G.F$/ }; + if ($ok && !$@) { + print "ok 25\n"; + } else { + print "not ok 25\t# " . $@ || "should not match\n"; + } + $ok = $have_alarm + ? eval { alarm(2); my $match = /[F]F$/; alarm(0); !$match } + : eval { !/[F]F$/ }; + if ($ok && !$@) { + print "ok 26\n"; } else { - for (25..26) { - print "ok $_ # Skip: no alarm\n"; - } + print "not ok 26\t# " . $@ || "should not match\n"; } }