Deflake WebViewTest#testFlingScroll
Wait for the condition we want rather than sleeping. The extra
checks the the x/y are greater or equal are redundant and complicate
the test unnecessarily.
Bug: 5006389
Change-Id: I757bae5704b48a4bcb3a1764a4ac38dc5da0dd61
diff --git a/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java b/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
index 00e2f90..827bf27 100644
--- a/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
+++ b/tests/tests/webkit/src/android/webkit/cts/WebViewTest.java
@@ -1112,27 +1112,18 @@
}.run();
getInstrumentation().waitForIdleSync();
- int previousScrollX = mOnUiThread.getScrollX();
- int previousScrollY = mOnUiThread.getScrollY();
+ final int previousScrollX = mOnUiThread.getScrollX();
+ final int previousScrollY = mOnUiThread.getScrollY();
mOnUiThread.flingScroll(100, 100);
- int timeSlice = 500;
- Thread.sleep(timeSlice);
- assertTrue(mOnUiThread.getScrollX() > previousScrollX);
- assertTrue(mOnUiThread.getScrollY() > previousScrollY);
-
- previousScrollY = mOnUiThread.getScrollY();
- previousScrollX = mOnUiThread.getScrollX();
- Thread.sleep(timeSlice);
- assertTrue(mOnUiThread.getScrollX() >= previousScrollX);
- assertTrue(mOnUiThread.getScrollY() >= previousScrollY);
-
- previousScrollY = mOnUiThread.getScrollY();
- previousScrollX = mOnUiThread.getScrollX();
- Thread.sleep(timeSlice);
- assertTrue(mOnUiThread.getScrollX() >= previousScrollX);
- assertTrue(mOnUiThread.getScrollY() >= previousScrollY);
+ new PollingCheck() {
+ @Override
+ protected boolean check() {
+ return mOnUiThread.getScrollX() > previousScrollX &&
+ mOnUiThread.getScrollY() > previousScrollY;
+ }
+ }.run();
}
public void testRequestFocusNodeHref() throws Throwable {