aboutsummaryrefslogtreecommitdiffstats
path: root/ddms
diff options
context:
space:
mode:
authorBrett Chabot <brettchabot@android.com>2010-07-14 17:06:05 -0700
committerBrett Chabot <brettchabot@android.com>2010-07-14 17:10:11 -0700
commitee549ef4b9452802c1e7b47ad592a1c9875dbea2 (patch)
treef144af56cb39a7ab65acf3c0c2716eea4ed59193 /ddms
parentfd404d86418a61cd82c0c2b534fb4d50d5eade51 (diff)
downloadsdk-ee549ef4b9452802c1e7b47ad592a1c9875dbea2.zip
sdk-ee549ef4b9452802c1e7b47ad592a1c9875dbea2.tar.gz
sdk-ee549ef4b9452802c1e7b47ad592a1c9875dbea2.tar.bz2
Add support for specifying adb timeout in ddms testrunner.
Also handle TimeoutException in ADT test runner. Change-Id: I585c2818f1c77ec80222bad282ae10b3ee8f5e1c
Diffstat (limited to 'ddms')
-rw-r--r--ddms/libs/ddmlib/src/com/android/ddmlib/testrunner/IRemoteAndroidTestRunner.java10
-rw-r--r--ddms/libs/ddmlib/src/com/android/ddmlib/testrunner/RemoteAndroidTestRunner.java12
2 files changed, 21 insertions, 1 deletions
diff --git a/ddms/libs/ddmlib/src/com/android/ddmlib/testrunner/IRemoteAndroidTestRunner.java b/ddms/libs/ddmlib/src/com/android/ddmlib/testrunner/IRemoteAndroidTestRunner.java
index 22cafa6..a478216 100644
--- a/ddms/libs/ddmlib/src/com/android/ddmlib/testrunner/IRemoteAndroidTestRunner.java
+++ b/ddms/libs/ddmlib/src/com/android/ddmlib/testrunner/IRemoteAndroidTestRunner.java
@@ -16,6 +16,7 @@
package com.android.ddmlib.testrunner;
+import com.android.ddmlib.IDevice;
import com.android.ddmlib.TimeoutException;
import java.io.IOException;
@@ -170,6 +171,15 @@ public interface IRemoteAndroidTestRunner {
public void setCoverage(boolean coverage);
/**
+ * Sets the timeout to use for the adb shell command issued.
+ * <p/>
+ * By default no timeout will be specified.
+ *
+ * @see {@link IDevice#executeShellCommand(String, com.android.ddmlib.IShellOutputReceiver, int)}
+ */
+ public void setTimeout(int timeout);
+
+ /**
* Execute this test run.
* <p/>
* Convenience method for {@link #run(Collection)}.
diff --git a/ddms/libs/ddmlib/src/com/android/ddmlib/testrunner/RemoteAndroidTestRunner.java b/ddms/libs/ddmlib/src/com/android/ddmlib/testrunner/RemoteAndroidTestRunner.java
index 7edbe74..9fd3fbf 100644
--- a/ddms/libs/ddmlib/src/com/android/ddmlib/testrunner/RemoteAndroidTestRunner.java
+++ b/ddms/libs/ddmlib/src/com/android/ddmlib/testrunner/RemoteAndroidTestRunner.java
@@ -36,6 +36,9 @@ public class RemoteAndroidTestRunner implements IRemoteAndroidTestRunner {
private final String mPackageName;
private final String mRunnerName;
private IDevice mRemoteDevice;
+ // default to no timeout
+ private int mAdbTimeout = 0;
+
/** map of name-value instrumentation argument pairs */
private Map<String, String> mArgMap;
private InstrumentationResultParser mParser;
@@ -202,6 +205,13 @@ public class RemoteAndroidTestRunner implements IRemoteAndroidTestRunner {
/**
* {@inheritDoc}
*/
+ public void setTimeout(int timeout) {
+ mAdbTimeout = timeout;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
public void run(ITestRunListener... listeners) throws IOException, TimeoutException {
run(Arrays.asList(listeners));
}
@@ -216,7 +226,7 @@ public class RemoteAndroidTestRunner implements IRemoteAndroidTestRunner {
mRemoteDevice.getSerialNumber()));
mParser = new InstrumentationResultParser(listeners);
- mRemoteDevice.executeShellCommand(runCaseCommandStr, mParser);
+ mRemoteDevice.executeShellCommand(runCaseCommandStr, mParser, mAdbTimeout);
}
/**