Add tests for list packages shell command with default to all users.
Bug: 146343680
Test: atest PackageManagerShellCommandMultiUserTest
Change-Id: I7ff5e00b6c3360875be64d779166f372e3622356
diff --git a/tests/tests/content/src/android/content/pm/cts/PackageManagerShellCommandMultiUserTest.kt b/tests/tests/content/src/android/content/pm/cts/PackageManagerShellCommandMultiUserTest.kt
index f26dcdc..2129f3b 100644
--- a/tests/tests/content/src/android/content/pm/cts/PackageManagerShellCommandMultiUserTest.kt
+++ b/tests/tests/content/src/android/content/pm/cts/PackageManagerShellCommandMultiUserTest.kt
@@ -256,6 +256,44 @@
broadcastReceiverForPrimaryUser.assertBroadcastReceived()
}
+ @Test
+ fun testListPackageDefaultAllUsers(
+ @StringTestParameter(
+ "install",
+ "install-streaming",
+ "install-incremental"
+ ) installTypeString: String
+ ) {
+ installPackageAsUser(TEST_HW5, primaryUser, installTypeString)
+ assertTrue(isAppInstalledForUser(TEST_APP_PACKAGE, primaryUser))
+ assertFalse(isAppInstalledForUser(TEST_APP_PACKAGE, secondaryUser))
+ var out = SystemUtil.runShellCommand(
+ "pm list packages -U --user ${primaryUser.id()} $TEST_APP_PACKAGE"
+ ).replace("\n", "")
+ assertTrue(out.split(":").last().split(",").size == 1)
+ out = SystemUtil.runShellCommand(
+ "pm list packages -U --user ${secondaryUser.id()} $TEST_APP_PACKAGE"
+ ).replace("\n", "")
+ assertEquals("", out)
+ out = SystemUtil.runShellCommand("pm list packages -U $TEST_APP_PACKAGE")
+ .replace("\n", "")
+ assertTrue(out.split(":").last().split(",").size == 1)
+ installExistingPackageAsUser(TEST_APP_PACKAGE, secondaryUser)
+ assertTrue(isAppInstalledForUser(TEST_APP_PACKAGE, primaryUser))
+ assertTrue(isAppInstalledForUser(TEST_APP_PACKAGE, secondaryUser))
+ out = SystemUtil.runShellCommand("pm list packages -U $TEST_APP_PACKAGE")
+ .replace("\n", "")
+ assertTrue(out.split(":").last().split(",").size == 2)
+ out = SystemUtil.runShellCommand(
+ "pm list packages -U --user ${primaryUser.id()} $TEST_APP_PACKAGE"
+ ).replace("\n", "")
+ assertTrue(out.split(":").last().split(",").size == 1)
+ out = SystemUtil.runShellCommand(
+ "pm list packages -U --user ${secondaryUser.id()} $TEST_APP_PACKAGE"
+ ).replace("\n", "")
+ assertTrue(out.split(":").last().split(",").size == 1)
+ }
+
private fun getFirstInstallTimeAsUser(packageName: String, user: UserReference) =
context.createContextAsUser(user.userHandle(), 0)
.packageManager