From: Paul Green Date: Tue, 12 Mar 2002 19:22:00 +0000 (-0500) Subject: Better patch for Benchmark.t and arith.t X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=7f45fac236f26ae9ce0b7455315edbed1b12f481;p=p5sagit%2Fp5-mst-13.2.git Better patch for Benchmark.t and arith.t Message-Id: <200203130025.TAA20113@mailhub1.stratus.com> p4raw-id: //depot/perl@15226 --- diff --git a/lib/Benchmark.t b/lib/Benchmark.t index 5034633..53d4efc 100644 --- a/lib/Benchmark.t +++ b/lib/Benchmark.t @@ -319,7 +319,7 @@ sub check_graph { { select(OUT); my $start = times; - my $chart = cmpthese( -0.1, { a => "++\$i", b => "\$i *= 2" } ) ; + my $chart = cmpthese( -0.1, { a => "++\$i", b => "\$i = sqrt(\$i++)" } ) ; my $end = times; select(STDOUT); ok (($end - $start) > 0.05, "benchmarked code ran for over 0.05 seconds"); diff --git a/t/op/arith.t b/t/op/arith.t index 4205345..55a5e48 100755 --- a/t/op/arith.t +++ b/t/op/arith.t @@ -1,6 +1,11 @@ #!./perl -w -print "1..133\n"; +BEGIN { + chdir 't' if -d 't'; + @INC = '../lib'; +} + +print "1..134\n"; sub try ($$) { print +($_[1] ? "ok" : "not ok"), " $_[0]\n"; @@ -269,3 +274,25 @@ tryeq 130, 18446744073709551616/9223372036854775808, 2; my $t1000 = time() * 1000; try 133, abs($t1000 -1000 * $t) <= 2000; } + +if ($^O eq 'vos') { + print "not ok 134 # TODO VOS raises SIGFPE instead of producing infinity.\n"; +} else { + # The computation of $v should overflow and produce "infinity" + # on any system whose max exponent is less than 10**1506. + # The exact string used to represent infinity varies by OS, + # so we don't test for it; all we care is that we don't die. + # + # Perl considers it to be an error if SIGFPE is raised. + # Chances are the interpreter will die, since it doesn't set + # up a handler for SIGFPE. That's why this test is last; to + # minimize the number of test failures. --PG + + my $n = 5000; + my $v = 2; + while (--$n) + { + $v *= 2; + } + print "ok 134\n"; +}