Skipping managed profile tests for devices that don't support MANAGED_USERS.
Fixes: 13913456
Test: atest MultiUserPerfTests - on automotive, since it doesn't have managed users feature
Change-Id: I8dec1291ddeb6e1bfc6142fece08e1ab2779c89a
diff --git a/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java b/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java
index 2fe0ee7..4b7a7f6 100644
--- a/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java
+++ b/apct-tests/perftests/multiuser/src/android/multiuser/UserLifecycleTests.java
@@ -15,6 +15,8 @@
*/
package android.multiuser;
+import static org.junit.Assume.assumeTrue;
+
import android.app.ActivityManager;
import android.app.ActivityTaskManager;
import android.app.AppGlobals;
@@ -86,7 +88,9 @@
private UserManager mUm;
private ActivityManager mAm;
private IActivityManager mIam;
+ private PackageManager mPm;
private ArrayList<Integer> mUsersToRemove;
+ private boolean mHasManagedUserFeature;
private final BenchmarkRunner mRunner = new BenchmarkRunner();
@Rule
@@ -99,6 +103,8 @@
mAm = context.getSystemService(ActivityManager.class);
mIam = ActivityManager.getService();
mUsersToRemove = new ArrayList<>();
+ mPm = context.getPackageManager();
+ mHasManagedUserFeature = mPm.hasSystemFeature(PackageManager.FEATURE_MANAGED_USERS);
}
@After
@@ -260,6 +266,8 @@
/** Tests creating a new profile. */
@Test
public void managedProfileCreate() throws Exception {
+ assumeTrue(mHasManagedUserFeature);
+
while (mRunner.keepRunning()) {
final int userId = createManagedProfile();
@@ -273,6 +281,8 @@
/** Tests starting (unlocking) a newly-created profile. */
@Test
public void managedProfileUnlock() throws Exception {
+ assumeTrue(mHasManagedUserFeature);
+
while (mRunner.keepRunning()) {
mRunner.pauseTiming();
final int userId = createManagedProfile();
@@ -289,6 +299,8 @@
/** Tests starting (unlocking) an already-created, but no-longer-running, profile. */
@Test
public void managedProfileUnlock_stopped() throws Exception {
+ assumeTrue(mHasManagedUserFeature);
+
while (mRunner.keepRunning()) {
mRunner.pauseTiming();
final int userId = createManagedProfile();
@@ -310,6 +322,8 @@
*/
@Test
public void managedProfileUnlockAndLaunchApp() throws Exception {
+ assumeTrue(mHasManagedUserFeature);
+
while (mRunner.keepRunning()) {
mRunner.pauseTiming();
final int userId = createManagedProfile();
@@ -334,6 +348,8 @@
*/
@Test
public void managedProfileUnlockAndLaunchApp_stopped() throws Exception {
+ assumeTrue(mHasManagedUserFeature);
+
while (mRunner.keepRunning()) {
mRunner.pauseTiming();
final int userId = createManagedProfile();
@@ -357,6 +373,8 @@
/** Tests installing a pre-existing app in a newly-created profile. */
@Test
public void managedProfileInstall() throws Exception {
+ assumeTrue(mHasManagedUserFeature);
+
while (mRunner.keepRunning()) {
mRunner.pauseTiming();
final int userId = createManagedProfile();
@@ -376,6 +394,8 @@
*/
@Test
public void managedProfileCreateUnlockInstallAndLaunchApp() throws Exception {
+ assumeTrue(mHasManagedUserFeature);
+
final String packageName = "perftests.multiuser.apps.dummyapp";
while (mRunner.keepRunning()) {
mRunner.pauseTiming();
@@ -396,6 +416,8 @@
/** Tests stopping a profile. */
@Test
public void managedProfileStopped() throws Exception {
+ assumeTrue(mHasManagedUserFeature);
+
while (mRunner.keepRunning()) {
mRunner.pauseTiming();
final int userId = createManagedProfile();