On 3/20/11 1:19 PM, David Bruant wrote:
I agree that some properties of a scheduling policy can be tested (like you can test that times moves forward with two sequential calls to Date.now() or testing statistical properties of Math.rand()) but there is something in the time that code uses to execute that is inherently non-determinist (the dead code elimination optimization is actually an excellent proof of this). This cannot be avoided in my opinion, making scheduling policy non-testable, not verifyable and hence non-relyable.
It should be possible to statistically verify (which is the only way you can verify anything via a test suite, by the way) the following assertion: "Given two calls |setTimeout(f, n)| and |setTimeout(g, n)| using the same value of |n|, if the |setTimeout(f, n)| happens before the |setTimeout(g, n)| then f will be called before g."
Last I checked, the web depends on that behavior to some extent. Implementing it is not particularly burdensome.
-Boris _______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

