From 79d6164a836ee4afbc5d6f71942e824797cd75d6 Mon Sep 17 00:00:00 2001 From: Felka Chang Date: Thu, 18 Nov 2021 23:46:37 +0800 Subject: Fix wrong matcher for PackageSetting.keySetData The copy constructor of PackageSetting is using `new PacakgeKeySetData(other.keySetData)` in copyPackageSetting function. The current test compare the expected result by comparing reference. It should compare the expected result by comparing the individual private member fields in PackageKeySetData. * mProperSigningKeySet * mUpgradeKeySets * mKeySetAliases Fixes: 206929914 Test: TP="FrameworksServicesTests"; atest \ ${TP}:com.android.server.pm.PackageManagerSettingsTests Change-Id: I993be33b10dfe0483ca4c3b874a49c5f1fdae41d --- .../com/android/server/pm/PackageManagerSettingsTests.java | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java b/services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java index 5d93e3dfadde..ab37e9bf6deb 100644 --- a/services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java +++ b/services/tests/servicestests/src/com/android/server/pm/PackageManagerSettingsTests.java @@ -25,6 +25,7 @@ import static android.content.pm.SuspendDialogInfo.BUTTON_ACTION_UNSUSPEND; import static android.content.pm.parsing.ParsingPackageUtils.parsePublicKey; import static android.content.res.Resources.ID_NULL; +import static org.hamcrest.CoreMatchers.equalTo; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.not; import static org.hamcrest.CoreMatchers.notNullValue; @@ -86,7 +87,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; -import java.util.Map; import java.util.Set; import java.util.UUID; import java.util.concurrent.CountDownLatch; @@ -1004,6 +1004,13 @@ public class PackageManagerSettingsTests { } } + private void verifyKeySetData(PackageKeySetData originalData, PackageKeySetData testData) { + assertThat(originalData.getProperSigningKeySet(), + equalTo(testData.getProperSigningKeySet())); + assertThat(originalData.getUpgradeKeySets(), is(testData.getUpgradeKeySets())); + assertThat(originalData.getAliases(), is(testData.getAliases())); + } + private void verifySettingCopy(PackageSetting origPkgSetting, PackageSetting testPkgSetting) { assertThat(origPkgSetting, is(not(testPkgSetting))); assertThat(origPkgSetting.getAppId(), is(testPkgSetting.getAppId())); @@ -1018,8 +1025,7 @@ public class PackageManagerSettingsTests { assertSame(origPkgSetting.getInstallSource(), testPkgSetting.getInstallSource()); assertThat(origPkgSetting.isInstallPermissionsFixed(), is(testPkgSetting.isInstallPermissionsFixed())); - assertSame(origPkgSetting.getKeySetData(), testPkgSetting.getKeySetData()); - assertThat(origPkgSetting.getKeySetData(), is(testPkgSetting.getKeySetData())); + verifyKeySetData(origPkgSetting.getKeySetData(), testPkgSetting.getKeySetData()); assertThat(origPkgSetting.getLastUpdateTime(), is(testPkgSetting.getLastUpdateTime())); assertSame(origPkgSetting.getLegacyNativeLibraryPath(), testPkgSetting.getLegacyNativeLibraryPath()); -- cgit v1.2.3-59-g8ed1b