diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2020-07-09 16:38:58 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2020-07-09 16:38:58 +0000 |
commit | 0ac0e2503194db35e7de7a13102e1f0b0e622e68 (patch) | |
tree | b959b8a58bbb020358928f6e05a71c443d2acd51 | |
parent | 9eb9ee2a8ca3446df8bb5e5010ee47431db16c50 (diff) | |
parent | a6a830d26d07d77967b2e7a5bbd2bca12c4ea688 (diff) | |
download | tradefederation-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.java | 20 |
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); |