Ensure module not_done is aligned
Summary and module report should be aligned by using the
same source of truth.
Test: unit tests
Bug: 129725071
Change-Id: I95dfdee27335666e492e4e5db5072fb4abf9cf91
diff --git a/common/host-side/tradefed/src/com/android/compatibility/common/tradefed/result/InvocationFailureHandler.java b/common/host-side/tradefed/src/com/android/compatibility/common/tradefed/result/InvocationFailureHandler.java
index dffe3ba..abbf14c 100644
--- a/common/host-side/tradefed/src/com/android/compatibility/common/tradefed/result/InvocationFailureHandler.java
+++ b/common/host-side/tradefed/src/com/android/compatibility/common/tradefed/result/InvocationFailureHandler.java
@@ -60,8 +60,9 @@
File f = buildHelper.getInvocationFailureFile();
if (!f.exists()) {
f.createNewFile();
- FileUtil.writeToFile(cause.toString(), f);
}
+ // Append to previous failures to get them all.
+ FileUtil.writeToFile(cause.toString(), f, true);
} catch (IOException e) {
CLog.e("Exception while writing invocation failure file.");
CLog.e(e);
diff --git a/common/host-side/tradefed/tests/src/com/android/compatibility/common/tradefed/result/ResultReporterTest.java b/common/host-side/tradefed/tests/src/com/android/compatibility/common/tradefed/result/ResultReporterTest.java
index ca620ae..a179978 100644
--- a/common/host-side/tradefed/tests/src/com/android/compatibility/common/tradefed/result/ResultReporterTest.java
+++ b/common/host-side/tradefed/tests/src/com/android/compatibility/common/tradefed/result/ResultReporterTest.java
@@ -532,8 +532,8 @@
assertEquals("Expected 1 module", 1, modules.size());
IModuleResult module = modules.get(0);
- // Ensure module is seens as done but failed
- assertTrue(module.isDone());
+ // Ensure module is seen as not done and failed
+ assertFalse(module.isDone());
assertTrue(module.isFailed());
assertEquals("Incorrect ID", ID, module.getId());
diff --git a/common/util/src/com/android/compatibility/common/util/InvocationResult.java b/common/util/src/com/android/compatibility/common/util/InvocationResult.java
index c11c27d..45780a9 100644
--- a/common/util/src/com/android/compatibility/common/util/InvocationResult.java
+++ b/common/util/src/com/android/compatibility/common/util/InvocationResult.java
@@ -37,7 +37,6 @@
private String mBuildFingerprint;
private String mTestPlan;
private String mCommandLineArgs;
- private int mNotExecuted = 0;
private RetryChecksumStatus mRetryChecksumStatus = RetryChecksumStatus.NotRetry;
private File mRetryDirectory = null;
diff --git a/common/util/src/com/android/compatibility/common/util/ModuleResult.java b/common/util/src/com/android/compatibility/common/util/ModuleResult.java
index cfc5385..abb22f8 100644
--- a/common/util/src/com/android/compatibility/common/util/ModuleResult.java
+++ b/common/util/src/com/android/compatibility/common/util/ModuleResult.java
@@ -53,6 +53,10 @@
*/
@Override
public boolean isDone() {
+ // If module is failed, it cannot be marked done.
+ if (isFailed()) {
+ return false;
+ }
return mDone && !mInProgress && (mActualTestRuns >= mExpectedTestRuns);
}
diff --git a/common/util/src/com/android/compatibility/common/util/ResultHandler.java b/common/util/src/com/android/compatibility/common/util/ResultHandler.java
index 2873b34..90066a4 100644
--- a/common/util/src/com/android/compatibility/common/util/ResultHandler.java
+++ b/common/util/src/com/android/compatibility/common/util/ResultHandler.java
@@ -403,13 +403,7 @@
serializer.attribute(NS, NAME_ATTR, module.getName());
serializer.attribute(NS, ABI_ATTR, module.getAbi());
serializer.attribute(NS, RUNTIME_ATTR, String.valueOf(module.getRuntime()));
-
- boolean done = module.isDone();
- if (module.isFailed()) {
- done = false;
- }
-
- serializer.attribute(NS, DONE_ATTR, Boolean.toString(done));
+ serializer.attribute(NS, DONE_ATTR, Boolean.toString(module.isDone()));
serializer.attribute(NS, PASS_ATTR,
Integer.toString(module.countResults(TestStatus.PASS)));
for (ICaseResult cr : module.getResults()) {