diff options
author | 2021-01-19 14:05:24 +0800 | |
---|---|---|
committer | 2021-01-19 16:36:33 +0800 | |
commit | 324a5d898dea83a024704db3425c1e1e3a1599f7 (patch) | |
tree | 31b06e72201c88f5c644620d5cc5355c1fe33c10 | |
parent | e71690f67ff57bba9c2e6bab31ae5e31c1d11da2 (diff) |
Add a Subject to simplify WatchdogEventLogger assertion (2/n)
It also gives more descriptive messages when assertion fails.
Bug: 177861067
Test: atest StagedRollbackTest
Change-Id: Id1340420f7e1f9f263ae3873a22339a0f9971d70
2 files changed, 42 insertions, 20 deletions
diff --git a/tests/RollbackTest/StagedRollbackTest/src/com/android/tests/rollback/host/StagedRollbackTest.java b/tests/RollbackTest/StagedRollbackTest/src/com/android/tests/rollback/host/StagedRollbackTest.java index 55c59bb7fd65..94950dc456ca 100644 --- a/tests/RollbackTest/StagedRollbackTest/src/com/android/tests/rollback/host/StagedRollbackTest.java +++ b/tests/RollbackTest/StagedRollbackTest/src/com/android/tests/rollback/host/StagedRollbackTest.java @@ -16,6 +16,8 @@ package com.android.tests.rollback.host; +import static com.android.tests.rollback.host.WatchdogEventLogger.Subject.assertThat; + import static com.google.common.truth.Truth.assertThat; import static com.google.common.truth.Truth.assertWithMessage; @@ -154,11 +156,9 @@ public class StagedRollbackTest extends BaseHostJUnit4Test { runPhase("testBadApkOnly_Phase4"); - assertThat(mLogger.watchdogEventOccurred(ROLLBACK_INITIATE, null, - REASON_APP_CRASH, TESTAPP_A)).isTrue(); - assertThat(mLogger.watchdogEventOccurred(ROLLBACK_BOOT_TRIGGERED, null, - null, null)).isTrue(); - assertThat(mLogger.watchdogEventOccurred(ROLLBACK_SUCCESS, null, null, null)).isTrue(); + assertThat(mLogger).eventOccurred(ROLLBACK_INITIATE, null, REASON_APP_CRASH, TESTAPP_A); + assertThat(mLogger).eventOccurred(ROLLBACK_BOOT_TRIGGERED, null, null, null); + assertThat(mLogger).eventOccurred(ROLLBACK_SUCCESS, null, null, null); } @Test @@ -187,11 +187,9 @@ public class StagedRollbackTest extends BaseHostJUnit4Test { // verify rollback committed runPhase("testNativeWatchdogTriggersRollback_Phase3"); - assertThat(mLogger.watchdogEventOccurred(ROLLBACK_INITIATE, null, - REASON_NATIVE_CRASH, null)).isTrue(); - assertThat(mLogger.watchdogEventOccurred(ROLLBACK_BOOT_TRIGGERED, null, - null, null)).isTrue(); - assertThat(mLogger.watchdogEventOccurred(ROLLBACK_SUCCESS, null, null, null)).isTrue(); + assertThat(mLogger).eventOccurred(ROLLBACK_INITIATE, null, REASON_NATIVE_CRASH, null); + assertThat(mLogger).eventOccurred(ROLLBACK_BOOT_TRIGGERED, null, null, null); + assertThat(mLogger).eventOccurred(ROLLBACK_SUCCESS, null, null, null); } @Test @@ -227,11 +225,9 @@ public class StagedRollbackTest extends BaseHostJUnit4Test { // verify all available rollbacks have been committed runPhase("testNativeWatchdogTriggersRollbackForAll_Phase4"); - assertThat(mLogger.watchdogEventOccurred(ROLLBACK_INITIATE, null, - REASON_NATIVE_CRASH, null)).isTrue(); - assertThat(mLogger.watchdogEventOccurred(ROLLBACK_BOOT_TRIGGERED, null, - null, null)).isTrue(); - assertThat(mLogger.watchdogEventOccurred(ROLLBACK_SUCCESS, null, null, null)).isTrue(); + assertThat(mLogger).eventOccurred(ROLLBACK_INITIATE, null, REASON_NATIVE_CRASH, null); + assertThat(mLogger).eventOccurred(ROLLBACK_BOOT_TRIGGERED, null, null, null); + assertThat(mLogger).eventOccurred(ROLLBACK_SUCCESS, null, null, null); } /** @@ -309,11 +305,9 @@ public class StagedRollbackTest extends BaseHostJUnit4Test { // Verify rollback occurred due to crash of apk-in-apex runPhase("testRollbackApexWithApkCrashing_Phase3"); - assertThat(mLogger.watchdogEventOccurred(ROLLBACK_INITIATE, null, - REASON_APP_CRASH, TESTAPP_A)).isTrue(); - assertThat(mLogger.watchdogEventOccurred(ROLLBACK_BOOT_TRIGGERED, null, - null, null)).isTrue(); - assertThat(mLogger.watchdogEventOccurred(ROLLBACK_SUCCESS, null, null, null)).isTrue(); + assertThat(mLogger).eventOccurred(ROLLBACK_INITIATE, null, REASON_APP_CRASH, TESTAPP_A); + assertThat(mLogger).eventOccurred(ROLLBACK_BOOT_TRIGGERED, null, null, null); + assertThat(mLogger).eventOccurred(ROLLBACK_SUCCESS, null, null, null); } /** diff --git a/tests/RollbackTest/lib/src/com/android/tests/rollback/host/WatchdogEventLogger.java b/tests/RollbackTest/lib/src/com/android/tests/rollback/host/WatchdogEventLogger.java index 6b0d1f860956..8c16079dca85 100644 --- a/tests/RollbackTest/lib/src/com/android/tests/rollback/host/WatchdogEventLogger.java +++ b/tests/RollbackTest/lib/src/com/android/tests/rollback/host/WatchdogEventLogger.java @@ -17,6 +17,8 @@ package com.android.tests.rollback.host; import com.android.tradefed.device.ITestDevice; +import com.google.common.truth.FailureMetadata; +import com.google.common.truth.Truth; import static com.google.common.truth.Truth.assertThat; @@ -76,4 +78,30 @@ public class WatchdogEventLogger { && matchProperty(type, "rollbackReason", rollbackReason) && matchProperty(type, "failedPackageName", failedPackageName); } + + static class Subject extends com.google.common.truth.Subject { + private final WatchdogEventLogger mActual; + + private Subject(FailureMetadata failureMetadata, WatchdogEventLogger subject) { + super(failureMetadata, subject); + mActual = subject; + } + + private static com.google.common.truth.Subject.Factory<Subject, + WatchdogEventLogger> loggers() { + return Subject::new; + } + + static Subject assertThat(WatchdogEventLogger actual) { + return Truth.assertAbout(loggers()).that(actual); + } + + void eventOccurred(String type, String logPackage, String rollbackReason, + String failedPackageName) throws Exception { + check("watchdogEventOccurred(type=%s, logPackage=%s, rollbackReason=%s, " + + "failedPackageName=%s)", type, logPackage, rollbackReason, failedPackageName) + .that(mActual.watchdogEventOccurred(type, logPackage, rollbackReason, + failedPackageName)).isTrue(); + } + } } |