summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author JW Wang <wangchun@google.com> 2021-01-19 14:05:24 +0800
committer JW Wang <wangchun@google.com> 2021-01-19 16:36:33 +0800
commit324a5d898dea83a024704db3425c1e1e3a1599f7 (patch)
tree31b06e72201c88f5c644620d5cc5355c1fe33c10
parente71690f67ff57bba9c2e6bab31ae5e31c1d11da2 (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
-rw-r--r--tests/RollbackTest/StagedRollbackTest/src/com/android/tests/rollback/host/StagedRollbackTest.java34
-rw-r--r--tests/RollbackTest/lib/src/com/android/tests/rollback/host/WatchdogEventLogger.java28
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();
+ }
+ }
}