summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron Massey <aaronmassey@google.com>2022-10-13 12:41:17 -0600
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-10-14 21:20:29 +0000
commit9997063cc4b98a9563a9ede8084c729cd2ae8af1 (patch)
tree3620c355c535fc3b46b77e286969237b43ce4e68
parent2d6218fb9b24695fd1b83965339317747fd1d83f (diff)
downloadchrome-ec-9997063cc4b98a9563a9ede8084c729cd2ae8af1.tar.gz
test: host_sleep sleep_start_suspend infinite time
Add a test that weakly verifies a call to sleep_start_suspend() with an infinite timeout adds a hook with infinite deferred time meaning it never gets executed and call chip-specific handlers. This is a weak verification because it cannot prove the deferred call would never be executed. BRANCH=none BUG=b:252887178 TEST=twister -s zephyr/test/drivers/drivers.power_host_sleep Signed-off-by: Aaron Massey <aaronmassey@google.com> Change-Id: Iee1b59096248c83fe6b513ec327f3309d1954772 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3953316 Reviewed-by: Keith Short <keithshort@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
-rw-r--r--zephyr/test/drivers/power_host_sleep/src/test_power_host_sleep.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/zephyr/test/drivers/power_host_sleep/src/test_power_host_sleep.c b/zephyr/test/drivers/power_host_sleep/src/test_power_host_sleep.c
index f1c3a2bcc9..a30f4c77b2 100644
--- a/zephyr/test/drivers/power_host_sleep/src/test_power_host_sleep.c
+++ b/zephyr/test/drivers/power_host_sleep/src/test_power_host_sleep.c
@@ -200,5 +200,20 @@ ZTEST(power_host_sleep, test_sleep_start_suspend_default_timeout)
SLEEP_HANG_S0IX_SUSPEND);
}
+ZTEST(power_host_sleep, test_sleep_start_suspend_infinite_timeout)
+{
+ struct host_sleep_event_context context = {
+ .sleep_timeout_ms = EC_HOST_SLEEP_TIMEOUT_INFINITE,
+ };
+
+ sleep_start_suspend(&context);
+
+ k_sleep(K_MSEC(CONFIG_SLEEP_TIMEOUT_MS * 2));
+
+ /* Verify that default handlers were never called */
+ zassert_equal(power_chipset_handle_sleep_hang_fake.call_count, 0);
+ zassert_equal(power_board_handle_sleep_hang_fake.call_count, 0);
+}
+
ZTEST_SUITE(power_host_sleep, drivers_predicate_post_main, NULL,
power_host_sleep_before_after, power_host_sleep_before_after, NULL);