Disable binder caches for unit tests

Bug: 152451909

Disable binder caches for the following tests:
 * PackageManagerSettingsTests
 * UserManagerServiceCreateProfileTest
 * UserManagerServiceIdRecyclingTest
 * UserManagerServiceUserInfoTest

Test: run the above tests and verify no failures related
to system property privileges.  All tests pass except for
the first one.  In PackageManagerSettingsTests, two of
the 18 tests fail for reasons unrelated to binder caches.
Ran all the tests in frameworks/base/services/tests/
servicestests/src/com/android/server/pm.  Only a few
failures were seen but no SELinux issues.

Change-Id: I105c9d8d0fae78705d73c21f44953657ad744232
This commit is contained in:
Lee Shombert
2020-04-27 17:37:56 -07:00
parent cf2562437b
commit 78d60a6e8b
4 changed files with 19 additions and 1 deletions

View File

@@ -35,6 +35,7 @@ import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import android.annotation.NonNull;
import android.app.PropertyInvalidatedCache;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
@@ -91,6 +92,12 @@ public class PackageManagerSettingsTests {
MockitoAnnotations.initMocks(this);
}
@Before
public void setup() {
// Disable binder caches in this process.
PropertyInvalidatedCache.disableForTestMode();
}
/** make sure our initialized KeySetManagerService metadata matches packages.xml */
@Test
public void testReadKeySetSettings()

View File

@@ -21,6 +21,7 @@ import static android.os.UserManager.USER_TYPE_PROFILE_MANAGED;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import android.app.PropertyInvalidatedCache;
import android.content.pm.UserInfo;
import android.os.Looper;
import android.os.ServiceSpecificException;
@@ -60,6 +61,9 @@ public class UserManagerServiceCreateProfileTest {
if (Looper.myLooper() == null) {
Looper.prepare();
}
// Disable binder caches in this process.
PropertyInvalidatedCache.disableForTestMode();
LocalServices.removeServiceForTest(UserManagerInternal.class);
mUserManagerService = new UserManagerService(InstrumentationRegistry.getContext());

View File

@@ -20,6 +20,7 @@ import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import android.app.PropertyInvalidatedCache;
import android.content.pm.UserInfo;
import android.os.Looper;
import android.os.UserManagerInternal;
@@ -57,6 +58,9 @@ public class UserManagerServiceIdRecyclingTest {
if (Looper.myLooper() == null) {
Looper.prepare();
}
// Disable binder caches in this process.
PropertyInvalidatedCache.disableForTestMode();
LocalServices.removeServiceForTest(UserManagerInternal.class);
mUserManagerService = new UserManagerService(InstrumentationRegistry.getContext());
}
@@ -122,4 +126,3 @@ public class UserManagerServiceIdRecyclingTest {
return new UserInfo(userId, "User " + userId, 0);
}
}

View File

@@ -37,6 +37,7 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import android.annotation.UserIdInt;
import android.app.PropertyInvalidatedCache;
import android.content.pm.UserInfo;
import android.content.pm.UserInfo.UserInfoFlag;
import android.os.Looper;
@@ -78,6 +79,9 @@ public class UserManagerServiceUserInfoTest {
if (Looper.myLooper() == null) {
Looper.prepare();
}
// Disable binder caches in this process.
PropertyInvalidatedCache.disableForTestMode();
LocalServices.removeServiceForTest(UserManagerInternal.class);
mUserManagerService = new UserManagerService(InstrumentationRegistry.getContext());