From 8d16e1b7de9c9faf1b11045d130b6df2a8203ca1 Mon Sep 17 00:00:00 2001 From: utzcoz Date: Fri, 26 Jun 2020 14:13:07 +0800 Subject: Fix failed tests for ApplicationPackageManagerTest The getPackageCandidateVolumes of ApplicationPackageManager is protected and @VisibleForTest, but ApplicationPackageManagerTest uses MockApplicationPackageManager to extend it, and @VisibleForTest is lost after extending. So this patch just adds override for this method, and adds @VisibleForTest back for it. Also, the Mockito.anyString() for isPackageDeviceAdminOnAnyUser mock doesn't work correctly, so this patch replace it with real input parameter - appInfo.packageName. Test: atest android.app.ApplicationPackageManagerTest Change-Id: I9261a432911756a48978a7028781e60039cb4c85 Signed-off-by: utzcoz --- .../src/android/app/ApplicationPackageManagerTest.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/core/tests/coretests/src/android/app/ApplicationPackageManagerTest.java b/core/tests/coretests/src/android/app/ApplicationPackageManagerTest.java index 95da532045ac..d72a400c0078 100644 --- a/core/tests/coretests/src/android/app/ApplicationPackageManagerTest.java +++ b/core/tests/coretests/src/android/app/ApplicationPackageManagerTest.java @@ -26,8 +26,11 @@ import android.content.pm.PackageInfo; import android.os.storage.StorageManager; import android.os.storage.VolumeInfo; +import androidx.annotation.NonNull; import androidx.test.filters.LargeTest; +import com.android.internal.annotations.VisibleForTesting; + import junit.framework.TestCase; import org.mockito.Mockito; @@ -110,6 +113,13 @@ public class ApplicationPackageManagerTest extends TestCase { public boolean isAllow3rdPartyOnInternal(Context context) { return mAllow3rdPartyOnInternal; } + + @Override + @VisibleForTesting + protected @NonNull List getPackageCandidateVolumes(ApplicationInfo app, + StorageManager storageManager, IPackageManager pm) { + return super.getPackageCandidateVolumes(app, storageManager, pm); + } } private StorageManager getMockedStorageManager() { @@ -223,7 +233,7 @@ public class ApplicationPackageManagerTest extends TestCase { appInfo.flags = 0; appInfo.volumeUuid = sInternalVolUuid; - Mockito.when(pm.isPackageDeviceAdminOnAnyUser(Mockito.anyString())).thenReturn(false); + Mockito.when(pm.isPackageDeviceAdminOnAnyUser(appInfo.packageName)).thenReturn(false); appPkgMgr.setAllow3rdPartyOnInternal(true); List candidates = appPkgMgr.getPackageCandidateVolumes( appInfo, storageManager, pm); @@ -231,7 +241,7 @@ public class ApplicationPackageManagerTest extends TestCase { appInfo.volumeUuid = sInternalVolUuid; appPkgMgr.setAllow3rdPartyOnInternal(true); - Mockito.when(pm.isPackageDeviceAdminOnAnyUser(Mockito.anyString())).thenReturn(true); + Mockito.when(pm.isPackageDeviceAdminOnAnyUser(appInfo.packageName)).thenReturn(true); candidates = appPkgMgr.getPackageCandidateVolumes(appInfo, storageManager, pm); verifyReturnedVolumes(candidates, sInternalVol); -- cgit v1.2.3-59-g8ed1b