Added extra check to CLI command that was not checked for

check if work profile is indeed set up

 - after workProfile setup, added log of profile ID for each test..
 - added CLI check for "start-user"
 - Investigating where flakiness occurs because of failed
 work profile account set up or test just fails

bug: 243688989
test: Tested where there is no shell command in setup and all tests were skipped
Change-Id: I131b62c1a929c2e550be111a3840fd93c7435860
This commit is contained in:
Brandon Dayauon
2022-08-31 15:12:08 -07:00
parent 775b0d21dc
commit e4c4e2043f

View File

@@ -48,6 +48,7 @@ public class WorkProfileTest extends AbstractLauncherUiTest {
private int mProfileUserId;
private boolean mWorkProfileSetupSuccessful;
private final String TAG = "WorkProfileTest";
@Before
@Override
@@ -56,18 +57,17 @@ public class WorkProfileTest extends AbstractLauncherUiTest {
String output =
mDevice.executeShellCommand(
"pm create-user --profileOf 0 --managed TestProfile");
Log.d("b/203817455", "pm create-user; output: " + output);
if (output.startsWith("Success")){
assertTrue("Failed to create work profile", output.startsWith("Success"));
mWorkProfileSetupSuccessful = true;
} else {
return; // no need to setup launcher since all tests will skip.
}
// b/203817455
updateWorkProfileSetupSuccessful("pm create-user", output);
String[] tokens = output.split("\\s+");
mProfileUserId = Integer.parseInt(tokens[tokens.length - 1]);
mDevice.executeShellCommand("am start-user " + mProfileUserId);
output = mDevice.executeShellCommand("am start-user " + mProfileUserId);
updateWorkProfileSetupSuccessful("am start-user", output);
if (!mWorkProfileSetupSuccessful) {
return; // no need to setup launcher since all tests will skip.
}
mDevice.pressHome();
waitForLauncherCondition("Launcher didn't start", Objects::nonNull);
@@ -107,6 +107,7 @@ public class WorkProfileTest extends AbstractLauncherUiTest {
@Test
public void workTabExists() {
assumeTrue(mWorkProfileSetupSuccessful);
waitForWorkTabSetup();
waitForLauncherCondition("Personal tab is missing",
launcher -> launcher.getAppsView().isPersonalTabVisible(),
LauncherInstrumentation.WAIT_TIME_MS);
@@ -183,4 +184,14 @@ public class WorkProfileTest extends AbstractLauncherUiTest {
}
}, LauncherInstrumentation.WAIT_TIME_MS);
}
private void updateWorkProfileSetupSuccessful(String cli, String output) {
Log.d(TAG, "updateWorkProfileSetupSuccessful, cli=" + cli + " " + "output=" + output);
if (output.startsWith("Success")) {
assertTrue(output, output.startsWith("Success"));
mWorkProfileSetupSuccessful = true;
} else {
mWorkProfileSetupSuccessful = false;
}
}
}