Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2578)

Unified Diff: android_webview/javatests/src/org/chromium/android_webview/test/AwTestBase.java

Issue 131743020: [android_webivew] Refactor polling checks in test code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: android_webview/javatests/src/org/chromium/android_webview/test/AwTestBase.java
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/AwTestBase.java b/android_webview/javatests/src/org/chromium/android_webview/test/AwTestBase.java
index dba2b7b7c46c5d6a0240a87adeb2fac442f98523..77613f4f6398b0d5ecdadc257c3410f0298eaedc 100644
--- a/android_webview/javatests/src/org/chromium/android_webview/test/AwTestBase.java
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/AwTestBase.java
@@ -7,6 +7,7 @@ package org.chromium.android_webview.test;
import android.app.Instrumentation;
import android.content.Context;
import android.test.ActivityInstrumentationTestCase2;
+import android.util.Log;
import static org.chromium.base.test.util.ScalableTimeout.ScaleTimeout;
@@ -36,6 +37,7 @@ public class AwTestBase
extends ActivityInstrumentationTestCase2<AwTestRunnerActivity> {
protected static final long WAIT_TIMEOUT_MS = ScaleTimeout(15000);
protected static final int CHECK_INTERVAL = 100;
+ private static final String TAG = "AwTestBase";
public AwTestBase() {
super(AwTestRunnerActivity.class);
@@ -215,7 +217,7 @@ public class AwTestBase
* Reloads the current page synchronously.
*/
protected void reloadSync(final AwContents awContents,
- CallbackHelper onPageFinishedHelper) throws Throwable {
+ CallbackHelper onPageFinishedHelper) throws Exception {
int currentCallCount = onPageFinishedHelper.getCallCount();
getInstrumentation().runOnMainSync(new Runnable() {
@Override
@@ -357,19 +359,32 @@ public class AwTestBase
}
/**
- * Similar to CriteriaHelper.pollForCriteria but runs the callable on the UI thread.
- * Note that exceptions are treated as failure.
+ * Wrapper around CriteriaHelper.pollForCriteria. This uses AwTestBase-specifc timeouts and
+ * treats timeouts and exceptions as test failures automatically.
*/
- protected boolean pollOnUiThread(final Callable<Boolean> callable) throws Exception {
- return CriteriaHelper.pollForCriteria(new Criteria() {
+ protected static void poll(final Callable<Boolean> callable) throws Exception {
+ assertTrue(CriteriaHelper.pollForCriteria(new Criteria() {
@Override
public boolean isSatisfied() {
try {
- return runTestOnUiThreadAndGetResult(callable);
+ return callable.call();
} catch (Throwable e) {
+ Log.e(TAG, "Exception while polling.", e);
return false;
}
}
+ }, WAIT_TIMEOUT_MS, CHECK_INTERVAL));
+ }
+
+ /**
+ * Wrapper around {@link AwTestBase#poll()} but runs the callable on the UI thread.
+ */
+ protected void pollOnUiThread(final Callable<Boolean> callable) throws Exception {
+ poll(new Callable<Boolean>() {
+ @Override
+ public Boolean call() throws Exception {
+ return runTestOnUiThreadAndGetResult(callable);
+ }
});
}
@@ -403,7 +418,7 @@ public class AwTestBase
/**
* Returns page scale multiplied by the screen density.
*/
- protected float getPixelScaleOnUiThread(final AwContents awContents) throws Throwable {
+ protected float getPixelScaleOnUiThread(final AwContents awContents) throws Exception {
return runTestOnUiThreadAndGetResult(new Callable<Float>() {
@Override
public Float call() throws Exception {
@@ -415,7 +430,7 @@ public class AwTestBase
/**
* Returns whether a user can zoom the page in.
*/
- protected boolean canZoomInOnUiThread(final AwContents awContents) throws Throwable {
+ protected boolean canZoomInOnUiThread(final AwContents awContents) throws Exception {
return runTestOnUiThreadAndGetResult(new Callable<Boolean>() {
@Override
public Boolean call() throws Exception {
@@ -427,7 +442,7 @@ public class AwTestBase
/**
* Returns whether a user can zoom the page out.
*/
- protected boolean canZoomOutOnUiThread(final AwContents awContents) throws Throwable {
+ protected boolean canZoomOutOnUiThread(final AwContents awContents) throws Exception {
return runTestOnUiThreadAndGetResult(new Callable<Boolean>() {
@Override
public Boolean call() throws Exception {

Powered by Google App Engine
This is Rietveld 408576698