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.
Created attachment 228111 [details]
Comment on attachment 228111 [details]
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):
I’d say it’s a wash.
Thanks for the review. Landed in r166462: <http://trac.webkit.org/r166462>.