aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <treehugger-gerrit@google.com>2020-07-09 16:38:58 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2020-07-09 16:38:58 +0000
commit0ac0e2503194db35e7de7a13102e1f0b0e622e68 (patch)
treeb959b8a58bbb020358928f6e05a71c443d2acd51
parent9eb9ee2a8ca3446df8bb5e5010ee47431db16c50 (diff)
parenta6a830d26d07d77967b2e7a5bbd2bca12c4ea688 (diff)
downloadtradefederation-0ac0e2503194db35e7de7a13102e1f0b0e622e68.tar.gz
Merge "Check FailureDescription for generating the report" am: a6a830d26d
Original change: https://android-review.googlesource.com/c/platform/tools/tradefederation/+/1357930 Change-Id: Id9fc73f1713b1aae78e0407cb013b197f2c9f6b0
-rw-r--r--src/com/android/tradefed/result/suite/FormattedGeneratorReporter.java20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/com/android/tradefed/result/suite/FormattedGeneratorReporter.java b/src/com/android/tradefed/result/suite/FormattedGeneratorReporter.java
index dbd521f02..9c8bd2288 100644
--- a/src/com/android/tradefed/result/suite/FormattedGeneratorReporter.java
+++ b/src/com/android/tradefed/result/suite/FormattedGeneratorReporter.java
@@ -17,7 +17,9 @@ package com.android.tradefed.result.suite;
import com.android.tradefed.config.IConfiguration;
import com.android.tradefed.config.IConfigurationReceiver;
+import com.android.tradefed.error.IHarnessException;
import com.android.tradefed.log.LogUtil.CLog;
+import com.android.tradefed.result.FailureDescription;
import com.android.tradefed.targetprep.TargetSetupError;
import com.android.tradefed.testtype.IRemoteTest;
import com.android.tradefed.testtype.suite.retry.ResultsPlayer;
@@ -68,11 +70,23 @@ public abstract class FormattedGeneratorReporter extends SuiteResultReporter
@Override
public void invocationFailed(Throwable cause) {
+ FailureDescription description =
+ FailureDescription.create(cause.getMessage()).setCause(cause);
+ if (cause instanceof IHarnessException) {
+ description.setErrorIdentifier(((IHarnessException) cause).getErrorId());
+ }
+ invocationFailed(description);
+ }
+
+ @Override
+ public void invocationFailed(FailureDescription failure) {
// Some exception indicate a harness level issue, the tests result cannot be trusted at
// that point so we should skip the reporting.
- if (cause instanceof TargetSetupError
- || cause instanceof RuntimeException
- || cause instanceof OutOfMemoryError) {
+ Throwable cause = failure.getCause();
+ if (cause != null
+ && (cause instanceof TargetSetupError
+ || cause instanceof RuntimeException
+ || cause instanceof OutOfMemoryError)) {
mTestHarnessError = cause;
}
super.invocationFailed(cause);