diff options
-rwxr-xr-x | t/op/study.t | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/t/op/study.t b/t/op/study.t index ea3b366f0b..d08b8901e9 100755 --- a/t/op/study.t +++ b/t/op/study.t @@ -2,7 +2,7 @@ # $RCSfile: study.t,v $$Revision: 4.1 $$Date: 92/08/07 18:28:30 $ -print "1..24\n"; +print "1..26\n"; $x = "abc\ndef\n"; study($x); @@ -67,3 +67,26 @@ 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 +{ + 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"; + } +} |