Make test always pass when command fails
because command Would cause flakiness if cli command fails.
bug: 237428272
test: on AS
Change-Id: I0bfe26b9242afffe1399fd9788981f71d8fea73e
diff --git a/tests/src/com/android/launcher3/ui/WorkProfileTest.java b/tests/src/com/android/launcher3/ui/WorkProfileTest.java
index a7a17b1..5761abd 100644
--- a/tests/src/com/android/launcher3/ui/WorkProfileTest.java
+++ b/tests/src/com/android/launcher3/ui/WorkProfileTest.java
@@ -21,7 +21,7 @@
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
-
+import static org.junit.Assume.assumeTrue;
import android.util.Log;
import android.view.View;
@@ -47,6 +47,7 @@
private static final int WORK_PAGE = ActivityAllAppsContainerView.AdapterHolder.WORK;
private int mProfileUserId;
+ private boolean mWorkProfileSetupSuccessful;
@Before
@Override
@@ -56,7 +57,13 @@
mDevice.executeShellCommand(
"pm create-user --profileOf 0 --managed TestProfile");
Log.d("b/203817455", "pm create-user; output: " + output);
- assertTrue("Failed to create work profile", output.startsWith("Success"));
+
+ 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.
+ }
String[] tokens = output.split("\\s+");
mProfileUserId = Integer.parseInt(tokens[tokens.length - 1]);
@@ -99,6 +106,7 @@
@Test
public void workTabExists() {
+ assumeTrue(mWorkProfileSetupSuccessful);
waitForLauncherCondition("Personal tab is missing",
launcher -> launcher.getAppsView().isPersonalTabVisible(),
LauncherInstrumentation.WAIT_TIME_MS);
@@ -109,8 +117,8 @@
@Test
public void toggleWorks() {
+ assumeTrue(mWorkProfileSetupSuccessful);
waitForWorkTabSetup();
-
executeOnLauncher(launcher -> {
AllAppsPagedView pagedView = (AllAppsPagedView) launcher.getAppsView().getContentView();
pagedView.setCurrentPage(WORK_PAGE);
@@ -152,6 +160,7 @@
@Test
public void testEdu() {
+ assumeTrue(mWorkProfileSetupSuccessful);
waitForWorkTabSetup();
executeOnLauncher(l -> {
l.getSharedPrefs().edit().putInt(WorkProfileManager.KEY_WORK_EDU_STEP, 0).commit();