The LongSpider expected value test in the 3d-morph component is incorrect. It should based on error tolerances instead. The existing test checks if the leading digit of a sum starts with "-1”. However, it turned out that the expected sum is in the order of -1.8735013540549517e-16 (i.e. very close to 0). The fix is to do an tolerance check on all the terms of the sum, as well as the total sum value instead. The tolerance is more lenient for the sum which accumulates error from the individual terms.
<rdar://problem/16465776>
Created attachment 228111 [details] the patch.
Comment on attachment 228111 [details] the patch. What is the running time of this test before and after your change?
(In reply to comment #3) > (From update of attachment 228111 [details]) > What is the running time of this test before and after your change? 3 runs of LongSpider 3d-morph each for before and after (x86_64 on a MBA): Before: 3d-morph 1252.2394+-34.5523 3d-morph 1253.3269+-55.5660 3d-morph 1264.6942+-91.1279 After: 3d-morph 1238.6026+-6.3175 3d-morph 1253.9030+-54.6123 3d-morph 1253.1157+-20.7673 I’d say it’s a wash.
Thanks for the review. Landed in r166462: <http://trac.webkit.org/r166462>.