diff options
Diffstat (limited to 'src/com/google/android/droiddriver/runner/TestRunner.java')
-rw-r--r-- | src/com/google/android/droiddriver/runner/TestRunner.java | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/com/google/android/droiddriver/runner/TestRunner.java b/src/com/google/android/droiddriver/runner/TestRunner.java index 5047e6f..8e86a20 100644 --- a/src/com/google/android/droiddriver/runner/TestRunner.java +++ b/src/com/google/android/droiddriver/runner/TestRunner.java @@ -71,15 +71,17 @@ public class TestRunner extends InstrumentationTestRunner { public void endTest(Test test) { // Try to finish activity on best-effort basis - TestListener should // not throw. + final Activity[] activitiesCopy; + synchronized (activities) { + if (activities.isEmpty()) { + return; + } + activitiesCopy = activities.toArray(new Activity[activities.size()]); + } + runOnMainSyncWithTimeLimit(new Runnable() { @Override public void run() { - Activity[] activitiesCopy;; - synchronized (activities) { - activitiesCopy = new Activity[activities.size()]; - activitiesCopy = activities.toArray(activitiesCopy); - } - for (Activity activity : activitiesCopy) { if (!activity.isFinishing()) { try { @@ -202,7 +204,7 @@ public class TestRunner extends InstrumentationTestRunner { Logs.log(Log.WARN, e, String.format( "Timed out after %d milliseconds waiting for Instrumentation.runOnMainSync", timeoutMillis)); - futureTask.cancel(true); + futureTask.cancel(false); return false; } } |