diff options
author | Sudheer Shanka <sudheersai@google.com> | 2022-06-16 12:08:46 -0700 |
---|---|---|
committer | Hugo Drumond Jacob <hugojacob@google.com> | 2023-04-18 12:41:10 +0000 |
commit | 142ce156142ab0f932909054a75212454e17309a (patch) | |
tree | 771b9b1ce7361fda824645d2dca30f53f2d52fc8 | |
parent | 82293fa97c0bb3736d27cec7a02e381628d62f3b (diff) | |
download | cts-142ce156142ab0f932909054a75212454e17309a.tar.gz |
Explicitly revoke the permission before verification.
For some reason, permission was being granted to the test
app while running the test. So, explicitly revoke the
permission before running the verification.
Bug: 233710271
Test: atest ./hostsidetests/blobstore/src/com/android/cts/host/blob/BlobStoreMultiUserTest.java
Change-Id: I68072e49b9f0e97b67438151e9744f87dd77c072
-rw-r--r-- | hostsidetests/blobstore/src/com/android/cts/host/blob/BaseBlobStoreHostTest.java | 20 | ||||
-rw-r--r-- | hostsidetests/blobstore/src/com/android/cts/host/blob/BlobStoreMultiUserTest.java | 11 |
2 files changed, 26 insertions, 5 deletions
diff --git a/hostsidetests/blobstore/src/com/android/cts/host/blob/BaseBlobStoreHostTest.java b/hostsidetests/blobstore/src/com/android/cts/host/blob/BaseBlobStoreHostTest.java index 708cdbb0714..3f7cb8a5ec8 100644 --- a/hostsidetests/blobstore/src/com/android/cts/host/blob/BaseBlobStoreHostTest.java +++ b/hostsidetests/blobstore/src/com/android/cts/host/blob/BaseBlobStoreHostTest.java @@ -19,6 +19,7 @@ import static com.google.common.truth.Truth.assertWithMessage; import com.android.tradefed.device.ITestDevice; import com.android.tradefed.device.TestDeviceOptions; +import com.android.tradefed.log.LogUtil.CLog; import com.android.tradefed.testtype.junit4.BaseHostJUnit4Test; import com.android.tradefed.testtype.junit4.DeviceTestRunOptions; import com.android.tradefed.util.Pair; @@ -156,12 +157,25 @@ abstract class BaseBlobStoreHostTest extends BaseHostJUnit4Test { protected void addAssistRoleHolder(String pkgName, int userId) throws Exception { final String cmd = String.format("cmd role add-role-holder " + "--user %d android.app.role.ASSISTANT %s", userId, pkgName); - getDevice().executeShellCommand(cmd).trim(); + runCommand(cmd); } protected void removeAssistRoleHolder(String pkgName, int userId) throws Exception { final String cmd = String.format("cmd role remove-role-holder " + "--user %d android.app.role.ASSISTANT %s", userId, pkgName); - getDevice().executeShellCommand(cmd).trim(); + runCommand(cmd); } -}
\ No newline at end of file + + protected void revokePermission(String pkgName, String permissionName, int userId) + throws Exception { + final String cmd = String.format("cmd package revoke --user %d %s %s", + userId, pkgName, permissionName); + runCommand(cmd); + } + + protected String runCommand(String command) throws Exception { + final String output = getDevice().executeShellCommand(command); + CLog.v("Output of cmd '" + command + "': '" + output.trim() + "'"); + return output; + } +} diff --git a/hostsidetests/blobstore/src/com/android/cts/host/blob/BlobStoreMultiUserTest.java b/hostsidetests/blobstore/src/com/android/cts/host/blob/BlobStoreMultiUserTest.java index 9a78386495d..73ffb9436e6 100644 --- a/hostsidetests/blobstore/src/com/android/cts/host/blob/BlobStoreMultiUserTest.java +++ b/hostsidetests/blobstore/src/com/android/cts/host/blob/BlobStoreMultiUserTest.java @@ -15,10 +15,10 @@ */ package com.android.cts.host.blob; -import static org.junit.Assume.assumeTrue; - import static com.google.common.truth.Truth.assertThat; +import static org.junit.Assume.assumeTrue; + import com.android.tradefed.invoker.TestInformation; import com.android.tradefed.testtype.DeviceJUnit4ClassRunner; import com.android.tradefed.testtype.junit4.AfterClassWithInfo; @@ -35,6 +35,9 @@ import java.util.Map; public class BlobStoreMultiUserTest extends BaseBlobStoreHostTest { private static final String TEST_CLASS = TARGET_PKG + ".DataCleanupTest"; + private static final String PERM_ACCESS_BLOBS_ACROSS_USERS = + "android.permission.ACCESS_BLOBS_ACROSS_USERS"; + private static int mPrimaryUserId; private static int mSecondaryUserId; @@ -60,6 +63,10 @@ public class BlobStoreMultiUserTest extends BaseBlobStoreHostTest { // want the ACCESS_BLOBS_ACROSS_USERS permission to be granted by default. installPackageAsUser(TARGET_APK_ASSIST, false /* grantPermissions */, mPrimaryUserId); installPackageAsUser(TARGET_APK_ASSIST, false /* grantPermissions */, mSecondaryUserId); + // Explicitly revoke the permission, in order to deal with + // http://b/233710271 which was causing the permission to be pre-granted. + revokePermission(TARGET_PKG_ASSIST, PERM_ACCESS_BLOBS_ACROSS_USERS, mPrimaryUserId); + revokePermission(TARGET_PKG_ASSIST, PERM_ACCESS_BLOBS_ACROSS_USERS, mSecondaryUserId); } @AfterClassWithInfo |