diff options
author | Aaron Massey <aaronmassey@google.com> | 2022-10-13 12:41:17 -0600 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-10-14 21:20:29 +0000 |
commit | 9997063cc4b98a9563a9ede8084c729cd2ae8af1 (patch) | |
tree | 3620c355c535fc3b46b77e286969237b43ce4e68 | |
parent | 2d6218fb9b24695fd1b83965339317747fd1d83f (diff) | |
download | chrome-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.c | 15 |
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); |