summaryrefslogtreecommitdiff
path: root/tests/BootImageProfileTest
diff options
context:
space:
mode:
authorMathieu Chartier <mathieuc@google.com>2019-10-23 14:04:29 -0700
committerMathieu Chartier <mathieuc@google.com>2019-10-23 14:06:40 -0700
commitde49e23a3bc016fe251b1bbb699f9fc39d61775f (patch)
tree4853f8b70e16cdc100f13f5b1f578673aecbc1ea /tests/BootImageProfileTest
parent0ac7e561e92d9335a5174542abca8ca36f514d11 (diff)
Fix waiting for system server to be running for BootImageProfileTest
In the case where system server was not yet running, the invalid pid would cause the test to fail instead of doing the 20 retry loop. Fixed the logic to handle this case. Presumably fixes test flakyness. Bug: 143223380 Bug: 139883463 Test: atest ./tests/BootImageProfileTest/src/com/android/bootimageprofile/BootImageProfileTest.java Change-Id: I4bac03e7f377058479f75daaa0d57608614bf329
Diffstat (limited to 'tests/BootImageProfileTest')
-rw-r--r--tests/BootImageProfileTest/src/com/android/bootimageprofile/BootImageProfileTest.java19
1 files changed, 13 insertions, 6 deletions
diff --git a/tests/BootImageProfileTest/src/com/android/bootimageprofile/BootImageProfileTest.java b/tests/BootImageProfileTest/src/com/android/bootimageprofile/BootImageProfileTest.java
index ccdd452b3f1e..81937e6b7005 100644
--- a/tests/BootImageProfileTest/src/com/android/bootimageprofile/BootImageProfileTest.java
+++ b/tests/BootImageProfileTest/src/com/android/bootimageprofile/BootImageProfileTest.java
@@ -54,11 +54,15 @@ public class BootImageProfileTest implements IDeviceTest {
assertTrue("profile system server not enabled", res != null && res.equals("true"));
}
- private void forceSaveProfile(String pkg) throws Exception {
+ private boolean forceSaveProfile(String pkg) throws Exception {
String pid = mTestDevice.executeShellCommand("pidof " + pkg).trim();
- assertTrue("Invalid pid " + pid, pid.length() > 0);
+ if (pid.length() == 0) {
+ // Not yet running.
+ return false;
+ }
String res = mTestDevice.executeShellCommand("kill -s SIGUSR1 " + pid).trim();
assertTrue("kill SIGUSR1: " + res, res.length() == 0);
+ return true;
}
@Test
@@ -71,10 +75,13 @@ public class BootImageProfileTest implements IDeviceTest {
// Wait up to 20 seconds for the profile to be saved.
for (int i = 0; i < 20; ++i) {
// Force save the profile since we truncated it.
- forceSaveProfile("system_server");
- String s = mTestDevice.executeShellCommand("wc -c <" + SYSTEM_SERVER_PROFILE).trim();
- if (!"0".equals(s)) {
- break;
+ if (forceSaveProfile("system_server")) {
+ // Might fail if system server is not yet running.
+ String s = mTestDevice.executeShellCommand(
+ "wc -c <" + SYSTEM_SERVER_PROFILE).trim();
+ if (!"0".equals(s)) {
+ break;
+ }
}
Thread.sleep(1000);
}