summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/host/board.h1
-rw-r--r--test/lid_sw.c10
-rw-r--r--test/power_button.c10
3 files changed, 21 insertions, 0 deletions
diff --git a/board/host/board.h b/board/host/board.h
index 9301d24e00..9eed6678b5 100644
--- a/board/host/board.h
+++ b/board/host/board.h
@@ -15,6 +15,7 @@
#define CONFIG_POWER_BUTTON
#undef CONFIG_WATCHDOG
#define CONFIG_PWM
+#define CONFIG_SWITCH
#undef CONFIG_CONSOLE_HISTORY
#define CONFIG_CONSOLE_HISTORY 4
diff --git a/test/lid_sw.c b/test/lid_sw.c
index cf04d91efb..52a4d033cb 100644
--- a/test/lid_sw.c
+++ b/test/lid_sw.c
@@ -30,6 +30,12 @@ static void lid_change_hook(void)
}
DECLARE_HOOK(HOOK_LID_CHANGE, lid_change_hook, HOOK_PRIO_DEFAULT);
+int lid_memmap_state(void)
+{
+ uint8_t *memmap = host_get_memmap(EC_MEMMAP_SWITCHES);
+ return *memmap & EC_SWITCH_LID_OPEN;
+}
+
static int test_hook(void)
{
/* Close lid for testing */
@@ -44,6 +50,7 @@ static int test_hook(void)
msleep(50);
TEST_ASSERT(lid_hook_count == 1);
TEST_ASSERT(lid_is_open());
+ TEST_ASSERT(lid_memmap_state());
TEST_ASSERT(host_get_events() &
EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN));
@@ -52,6 +59,7 @@ static int test_hook(void)
msleep(50);
TEST_ASSERT(lid_hook_count == 2);
TEST_ASSERT(!lid_is_open());
+ TEST_ASSERT(!lid_memmap_state());
TEST_ASSERT(host_get_events() &
EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_CLOSED));
@@ -72,6 +80,7 @@ static int test_debounce(void)
msleep(20);
TEST_ASSERT(lid_hook_count == 0);
TEST_ASSERT(!lid_is_open());
+ TEST_ASSERT(!lid_memmap_state());
TEST_ASSERT(!(host_get_events() &
EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN)));
@@ -80,6 +89,7 @@ static int test_debounce(void)
msleep(50);
TEST_ASSERT(lid_hook_count == 0);
TEST_ASSERT(!lid_is_open());
+ TEST_ASSERT(!lid_memmap_state());
TEST_ASSERT(!(host_get_events() &
EC_HOST_EVENT_MASK(EC_HOST_EVENT_LID_OPEN)));
diff --git a/test/power_button.c b/test/power_button.c
index 7ed2211cc6..5f7231b9f4 100644
--- a/test/power_button.c
+++ b/test/power_button.c
@@ -36,6 +36,12 @@ static void pb_change_hook(void)
}
DECLARE_HOOK(HOOK_POWER_BUTTON_CHANGE, pb_change_hook, HOOK_PRIO_DEFAULT);
+int pb_memmap_state(void)
+{
+ uint8_t *memmap = host_get_memmap(EC_MEMMAP_SWITCHES);
+ return *memmap & EC_SWITCH_POWER_BUTTON_PRESSED;
+}
+
static int test_hook(void)
{
/* Release power button for testing */
@@ -50,6 +56,7 @@ static int test_hook(void)
msleep(50);
TEST_ASSERT(pb_hook_count == 1);
TEST_ASSERT(power_button_is_pressed());
+ TEST_ASSERT(pb_memmap_state());
TEST_ASSERT(host_get_events() &
EC_HOST_EVENT_MASK(EC_HOST_EVENT_POWER_BUTTON));
host_clear_events(0xffffffff);
@@ -59,6 +66,7 @@ static int test_hook(void)
msleep(50);
TEST_ASSERT(pb_hook_count == 2);
TEST_ASSERT(!power_button_is_pressed());
+ TEST_ASSERT(!pb_memmap_state());
TEST_ASSERT(!(host_get_events() &
EC_HOST_EVENT_MASK(EC_HOST_EVENT_POWER_BUTTON)));
@@ -79,6 +87,7 @@ static int test_debounce(void)
msleep(20);
TEST_ASSERT(pb_hook_count == 0);
TEST_ASSERT(!power_button_is_pressed());
+ TEST_ASSERT(!pb_memmap_state());
TEST_ASSERT(!(host_get_events() &
EC_HOST_EVENT_MASK(EC_HOST_EVENT_POWER_BUTTON)));
@@ -87,6 +96,7 @@ static int test_debounce(void)
msleep(50);
TEST_ASSERT(pb_hook_count == 0);
TEST_ASSERT(!power_button_is_pressed());
+ TEST_ASSERT(!pb_memmap_state());
TEST_ASSERT(!(host_get_events() &
EC_HOST_EVENT_MASK(EC_HOST_EVENT_POWER_BUTTON)));