Merge "Ensure we don't go into the auto-retry if the runner doesn't support it"
diff --git a/src/com/android/tradefed/invoker/InvocationExecution.java b/src/com/android/tradefed/invoker/InvocationExecution.java
index abbb144..f2a31ff 100644
--- a/src/com/android/tradefed/invoker/InvocationExecution.java
+++ b/src/com/android/tradefed/invoker/InvocationExecution.java
@@ -63,6 +63,8 @@
import com.android.tradefed.testtype.IDeviceTest;
import com.android.tradefed.testtype.IInvocationContextReceiver;
import com.android.tradefed.testtype.IRemoteTest;
+import com.android.tradefed.testtype.ITestFilterReceiver;
+import com.android.tradefed.testtype.retry.IAutoRetriableTest;
import com.android.tradefed.testtype.suite.ITestSuite;
import com.android.tradefed.testtype.suite.ModuleListener;
import com.android.tradefed.util.CommandResult;
@@ -579,12 +581,15 @@
|| RetryStrategy.NO_RETRY.equals(decision.getRetryStrategy())
|| test instanceof ITestSuite
// TODO: Handle auto-retry in local-sharding for non-suite
- || test instanceof TestsPoolPoller) {
+ || test instanceof TestsPoolPoller
+ // If test doesn't support auto-retry
+ || (!(test instanceof ITestFilterReceiver)
+ && !(test instanceof IAutoRetriableTest))) {
runTest(config, info, listener, test);
remainingTests.remove(test);
continue;
}
-
+ CLog.d("Using RetryLogSaverResultForwarder to forward results.");
ModuleListener mainGranularRunListener = new ModuleListener(null);
RetryLogSaverResultForwarder runListener =
initializeListeners(config, listener, mainGranularRunListener);