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); |
+})() |