In DRT2, correctly handle the case of zero tests
Bug: 3291382
Change-Id: I8cde1d8d78a57407c585b02ca8ba3f3f893a609b
diff --git a/tests/DumpRenderTree2/src/com/android/dumprendertree2/LayoutTestsExecutor.java b/tests/DumpRenderTree2/src/com/android/dumprendertree2/LayoutTestsExecutor.java
index d9f5dd4..f59da37 100644
--- a/tests/DumpRenderTree2/src/com/android/dumprendertree2/LayoutTestsExecutor.java
+++ b/tests/DumpRenderTree2/src/com/android/dumprendertree2/LayoutTestsExecutor.java
@@ -398,6 +398,11 @@
}
private void startTests() {
+ // This is called when the tests are started and after each crash.
+ // We only send the reset message in the former case.
+ if (mCurrentTestIndex <= 0) {
+ sendResetMessage();
+ }
if (mCurrentTestIndex == 0) {
sendFirstTestMessage();
}
@@ -405,6 +410,15 @@
runNextTest();
}
+ private void sendResetMessage() {
+ try {
+ Message serviceMsg = Message.obtain(null, ManagerService.MSG_RESET);
+ mManagerServiceMessenger.send(serviceMsg);
+ } catch (RemoteException e) {
+ Log.e(LOG_TAG, "Error sending message to manager service:", e);
+ }
+ }
+
private void sendFirstTestMessage() {
try {
Message serviceMsg = Message.obtain(null, ManagerService.MSG_FIRST_TEST);
diff --git a/tests/DumpRenderTree2/src/com/android/dumprendertree2/ManagerService.java b/tests/DumpRenderTree2/src/com/android/dumprendertree2/ManagerService.java
index e4df62d..4783cc7 100644
--- a/tests/DumpRenderTree2/src/com/android/dumprendertree2/ManagerService.java
+++ b/tests/DumpRenderTree2/src/com/android/dumprendertree2/ManagerService.java
@@ -66,6 +66,7 @@
static final int MSG_ALL_TESTS_FINISHED = 1;
static final int MSG_FIRST_TEST = 2;
static final int MSG_CURRENT_TEST_CRASHED = 3;
+ static final int MSG_RESET = 4;
/**
* This handler is purely for IPC. It is used to create mMessenger
@@ -75,8 +76,11 @@
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
- case MSG_FIRST_TEST:
+ case MSG_RESET:
mSummarizer.reset();
+ break;
+
+ case MSG_FIRST_TEST:
Bundle bundle = msg.getData();
ensureNextTestSetup(bundle.getString("firstTest"), bundle.getInt("index"));
break;