summaryrefslogtreecommitdiff
path: root/tests/PackageWatchdog/src
diff options
context:
space:
mode:
authorJW Wang <wangchun@google.com>2019-09-05 15:28:42 +0800
committerJW Wang <wangchun@google.com>2019-09-06 19:05:00 +0800
commit43e265f065263e9839d2fd483cbbb93249f004d1 (patch)
tree6e73a1aa068910cf68a1276df70d9e53fc81b943 /tests/PackageWatchdog/src
parentdcd029cda3cb9d5eeed478cd4402edee498419df (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.java40
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));
}
/**