Check whether multi-user is supported before running AppCloningHostTest
Bug: 230817189
Test: atest CtsAppCloningHostTest
Change-Id: Ie98b45a07ec8144bfd7a16ec854a32f6e25623eb
diff --git a/hostsidetests/appcloning/hostside/src/com/android/cts/appcloning/AppCloningBaseHostTest.java b/hostsidetests/appcloning/hostside/src/com/android/cts/appcloning/AppCloningBaseHostTest.java
index f1777fc..7fe6d64 100644
--- a/hostsidetests/appcloning/hostside/src/com/android/cts/appcloning/AppCloningBaseHostTest.java
+++ b/hostsidetests/appcloning/hostside/src/com/android/cts/appcloning/AppCloningBaseHostTest.java
@@ -59,6 +59,7 @@
public void baseHostSetup() throws Exception {
setDevice();
+ assumeTrue("Device doesn't support multiple users", supportsMultipleUsers());
assumeFalse("Device is in headless system user mode", isHeadlessSystemUserMode());
assumeTrue(isAtLeastS());
assumeFalse("Device uses sdcardfs", usesSdcardFs());
@@ -67,7 +68,9 @@
}
public void baseHostTeardown() throws Exception {
- if (isHeadlessSystemUserMode() || !isAtLeastS() || usesSdcardFs()) return;
+ if (!supportsMultipleUsers() || isHeadlessSystemUserMode() || !isAtLeastS()
+ || usesSdcardFs())
+ return;
// remove the clone user
executeShellCommand("pm remove-user %s", mCloneUserId);
diff --git a/hostsidetests/appcloning/hostside/src/com/android/cts/appcloning/BaseHostTestCase.java b/hostsidetests/appcloning/hostside/src/com/android/cts/appcloning/BaseHostTestCase.java
index fdea67b..cc6bac0 100644
--- a/hostsidetests/appcloning/hostside/src/com/android/cts/appcloning/BaseHostTestCase.java
+++ b/hostsidetests/appcloning/hostside/src/com/android/cts/appcloning/BaseHostTestCase.java
@@ -56,6 +56,10 @@
return "true".equalsIgnoreCase(result);
}
+ protected boolean supportsMultipleUsers() throws DeviceNotAvailableException {
+ return mDevice.getMaxNumberOfUsersSupported() > 1;
+ }
+
protected boolean isAtLeastS() throws DeviceNotAvailableException {
DeviceSdkLevel deviceSdkLevel = new DeviceSdkLevel(mDevice);
return deviceSdkLevel.isDeviceAtLeastS();