Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ca31663a authored by Mathieu Chartier's avatar Mathieu Chartier Committed by android-build-merger
Browse files

Merge "Fix waiting for system server to be running for BootImageProfileTest"

am: 761ce2ab

Change-Id: I597247d864e5b92d734405c87b59ef3282f80cb9
parents c7ed6b4f 761ce2ab
Loading
Loading
Loading
Loading
+13 −6
Original line number Diff line number Diff line
@@ -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,11 +75,14 @@ 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 (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);
        }
        // In case the profile is partially saved, wait an extra second.