From: Paul Green <Paul.Green@stratus.com>
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";
+}