Chromium Code Reviews| Index: test/mjsunit/timer.js |
| diff --git a/test/mjsunit/timer.js b/test/mjsunit/timer.js |
| index 9b8dc29fe1641f1b79c538413fa00f625d765bce..65a9815b269c48cd89fe118bc3480003cc1d18aa 100644 |
| --- a/test/mjsunit/timer.js |
| +++ b/test/mjsunit/timer.js |
| @@ -27,9 +27,20 @@ |
| // Tests timer milliseconds granularity. |
| -var start = Date.now(); |
| -var end = Date.now(); |
| -while (end - start == 0) { |
| - end = Date.now(); |
| -} |
| -assertTrue(end - start <= 2); |
| +(function run(){ |
|
Jakob Kummerow
2013/09/25 16:16:23
nit: space before '{'
|
| + var start_test = Date.now(); |
| + // Let the retry run for maximum 20ms to reduce flakiness. |
| + for (var start = Date.now(); start - start_test < 20; start = Date.now()) { |
|
Jakob Kummerow
2013/09/25 16:16:23
I think we can afford a higher upper limit. Maybe
|
| + var end = Date.now(); |
| + while (end - start == 0) { |
| + end = Date.now(); |
| + } |
| + if (end - start <= 1) { |
|
Jakob Kummerow
2013/09/25 16:16:23
I'd prefer '==' here. 0 can't happen, negative val
|
| + // Found milliseconds granularity. |
| + return; |
| + } else { |
| + print("Timer difference too big: " + (end - start) + "ms"); |
| + } |
| + } |
| + assertTrue(false); |
| +})() |