SunSpider 1.0: 3d-morph: use epsilon to check result
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 4 May 2013 02:11:49 +0000 (02:11 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 4 May 2013 02:11:49 +0000 (02:11 +0000)
https://bugs.webkit.org/show_bug.cgi?id=115553

Patch by Cosmin Truta <ctruta@blackberry.com> on 2013-05-03
Reviewed by George Staikos.

SunSpider/3d-morph should be more lenient in validating its results, since they depend on Math.sin, which isn't formally specified.

* tests/sunspider-1.0/3d-morph.js:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@149548 268f45cc-cd09-0410-ab3c-d52691b4dbfc

PerformanceTests/SunSpider/ChangeLog
PerformanceTests/SunSpider/tests/sunspider-1.0/3d-morph.js

index feed203..3e038c9 100644 (file)
@@ -1,3 +1,14 @@
+2013-05-03  Cosmin Truta  <ctruta@blackberry.com>
+
+        SunSpider 1.0: 3d-morph: use epsilon to check result
+        https://bugs.webkit.org/show_bug.cgi?id=115553
+
+        Reviewed by George Staikos.
+
+        SunSpider/3d-morph should be more lenient in validating its results, since they depend on Math.sin, which isn't formally specified.
+
+        * tests/sunspider-1.0/3d-morph.js:
+
 2013-04-19  Filip Pizlo  <fpizlo@apple.com>
 
         SunSpider/string-tagcloud should be more lenient in validating its results, since they depend on Math.log, which isn't formally specified
index fb9d81d..961b8f6 100644 (file)
@@ -58,6 +58,6 @@ a = null;
 // says - that sin() has to return a value within 1 ulp of exact - then we still
 // would not be able to do an exact test here since that would allow for just enough
 // low-bit slop to create possibly big errors due to testOutput being a sum.
-var expected = 6;
-if (("" + testOutput)[0] != expected)
-    throw "Error: bad test output: expected leading digit to be " + expected + " but got " + testOutput;
+var epsilon = 1e-13;
+if (Math.abs(testOutput) >= epsilon)
+    throw "Error: bad test output: expected magnitude below " + epsilon + " but got " + testOutput;