diff options
author | JW Wang <wangchun@google.com> | 2019-09-05 15:28:42 +0800 |
---|---|---|
committer | JW Wang <wangchun@google.com> | 2019-09-06 19:05:00 +0800 |
commit | 43e265f065263e9839d2fd483cbbb93249f004d1 (patch) | |
tree | 6e73a1aa068910cf68a1276df70d9e53fc81b943 /tests/PackageWatchdog/src | |
parent | dcd029cda3cb9d5eeed478cd4402edee498419df (diff) |
Rewrite PackageWatchdogTest#testPersistence (4/n)
Bug: 140472424
Test: atest PackageWatchdogTest
Change-Id: I094a7a4d5ebcff673345403156b35c69f5407bca
Diffstat (limited to 'tests/PackageWatchdog/src')
-rw-r--r-- | tests/PackageWatchdog/src/com/android/server/PackageWatchdogTest.java | 40 |
1 files changed, 12 insertions, 28 deletions
diff --git a/tests/PackageWatchdog/src/com/android/server/PackageWatchdogTest.java b/tests/PackageWatchdog/src/com/android/server/PackageWatchdogTest.java index c661065b9949..05826a69049f 100644 --- a/tests/PackageWatchdog/src/com/android/server/PackageWatchdogTest.java +++ b/tests/PackageWatchdog/src/com/android/server/PackageWatchdogTest.java @@ -309,47 +309,31 @@ public class PackageWatchdogTest { * Test package observers are persisted and loaded on startup */ @Test - public void testPersistence() throws Exception { + public void testPersistence() { PackageWatchdog watchdog1 = createWatchdog(); TestObserver observer1 = new TestObserver(OBSERVER_NAME_1); TestObserver observer2 = new TestObserver(OBSERVER_NAME_2); watchdog1.startObservingHealth(observer1, Arrays.asList(APP_A), SHORT_DURATION); watchdog1.startObservingHealth(observer2, Arrays.asList(APP_A, APP_B), SHORT_DURATION); - - // Verify 2 observers are registered and saved internally - // 1 - assertEquals(1, watchdog1.getPackages(observer1).size()); - assertTrue(watchdog1.getPackages(observer1).contains(APP_A)); - // 2 - assertEquals(2, watchdog1.getPackages(observer2).size()); - assertTrue(watchdog1.getPackages(observer2).contains(APP_A)); - assertTrue(watchdog1.getPackages(observer2).contains(APP_B)); - // Then advance time and run IO Handler so file is saved mTestLooper.dispatchAll(); - // Then start a new watchdog PackageWatchdog watchdog2 = createWatchdog(); - - // Verify the new watchdog loads observers on startup but nothing registered - assertEquals(0, watchdog2.getPackages(observer1).size()); - assertEquals(0, watchdog2.getPackages(observer2).size()); - // Verify random observer not saved returns null - assertNull(watchdog2.getPackages(new TestObserver(OBSERVER_NAME_3))); - - // Then register observer1 + // Then resume observer1 and observer2 watchdog2.registerHealthObserver(observer1); watchdog2.registerHealthObserver(observer2); + raiseFatalFailure(watchdog2, Arrays.asList(new VersionedPackage(APP_A, VERSION_CODE), + new VersionedPackage(APP_B, VERSION_CODE))); + mTestLooper.dispatchAll(); - // Verify 2 observers are registered after reload - // 1 - assertEquals(1, watchdog1.getPackages(observer1).size()); - assertTrue(watchdog1.getPackages(observer1).contains(APP_A)); - // 2 - assertEquals(2, watchdog1.getPackages(observer2).size()); - assertTrue(watchdog1.getPackages(observer2).contains(APP_A)); - assertTrue(watchdog1.getPackages(observer2).contains(APP_B)); + // We should receive failed packages as expected to ensure observers are persisted and + // resumed correctly + assertEquals(1, observer1.mHealthCheckFailedPackages.size()); + assertEquals(2, observer2.mHealthCheckFailedPackages.size()); + assertTrue(observer1.mHealthCheckFailedPackages.contains(APP_A)); + assertTrue(observer1.mHealthCheckFailedPackages.contains(APP_A)); + assertTrue(observer2.mHealthCheckFailedPackages.contains(APP_B)); } /** |