add --reboot-per-package option to allow rebooting after each running package
- This is for preventing one test from affecting another
Bug: 6769649
Change-Id: I23f99c474997d5a9806afb2f407b940db0b8a659
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/command/CtsConsole.java b/tools/tradefed-host/src/com/android/cts/tradefed/command/CtsConsole.java
index 2f0e872..a815a48 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/command/CtsConsole.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/command/CtsConsole.java
@@ -173,6 +173,8 @@
helpBuilder.append("session\n");
helpBuilder.append("Dump:\n");
helpBuilder.append(" d/dump l/logs: dump the tradefed logs for all running invocations\n");
+ helpBuilder.append("Options:\n");
+ helpBuilder.append(" --reboot-per-package : reboot device after running each package.\n");
return helpBuilder.toString();
}
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/CtsTest.java b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/CtsTest.java
index 8142036..2f09eee 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/CtsTest.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/CtsTest.java
@@ -132,6 +132,10 @@
"run tests including known failures")
private boolean mIncludeKnownFailures;
+ @Option(name = "reboot-per-package", description =
+ "Reboot after each package run")
+ private boolean mRebootPerPackage = false;
+
/** data structure for a {@link IRemoteTest} and its known tests */
class TestPackage {
private final IRemoteTest mTestForPackage;
@@ -345,6 +349,11 @@
forwardPackageDetails(knownTests.getPackageDef(), listener);
test.run(filter);
mRemainingTestPkgs.remove(0);
+ if (mRebootPerPackage) {
+ Log.i(LOG_TAG, String.format("Rebooting after running package %s",
+ knownTests.getPackageDef().getName()));
+ mDevice.reboot();
+ }
}
if (mScreenshot) {