Increase 053-wait delay tolerance
Allow longer unexpected delays. Add a limit on the total unrequested
delay over all different wait times.
Test: art/test/run-test --host 053-wait-some
Bug: 175435088
Change-Id: I7e751b676aab65b6944436a46e93c9d205ed6548
diff --git a/test/053-wait-some/src/Main.java b/test/053-wait-some/src/Main.java
index 3fcaa82..0fd9e8d 100644
--- a/test/053-wait-some/src/Main.java
+++ b/test/053-wait-some/src/Main.java
@@ -42,6 +42,7 @@
ie.printStackTrace(System.out);
}
+ long total_extra_delay = 0;
for (long delay : DELAYS) {
System.out.println("Waiting for " + delay + "ms...");
@@ -57,10 +58,14 @@
boolean showTime = timing;
if (! timing) {
- // Allow a random scheduling delay of at least 100 msecs.
- final long epsilon = Math.max(delay / 20, 100);
+ // Allow a random scheduling delay of up to 600 msecs.
+ // That value is empirically determined from failure logs.
+ // We seem to get very occasional very long delays on host, perhaps due
+ // to getting paged out.
+ final long epsilon = 600;
long min = delay - 1;
long max = delay + epsilon;
+ total_extra_delay += elapsed - delay;
if (elapsed < min) {
// This can legitimately happen due to premature wake-ups.
@@ -80,6 +85,10 @@
+ elapsed + "ms");
}
}
+ if (total_extra_delay > 1000) {
+ System.out.println(" Total unrequested delay of " + total_extra_delay
+ + "msecs was too long");
+ }
}
}
}