summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSudheer Shanka <sudheersai@google.com>2022-06-16 12:08:46 -0700
committerHugo Drumond Jacob <hugojacob@google.com>2023-04-18 12:41:10 +0000
commit142ce156142ab0f932909054a75212454e17309a (patch)
tree771b9b1ce7361fda824645d2dca30f53f2d52fc8
parent82293fa97c0bb3736d27cec7a02e381628d62f3b (diff)
downloadcts-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.java20
-rw-r--r--hostsidetests/blobstore/src/com/android/cts/host/blob/BlobStoreMultiUserTest.java11
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