summaryrefslogtreecommitdiff
path: root/test/lid_sw.c
diff options
context:
space:
mode:
authorVic Yang <victoryang@chromium.org>2013-09-25 20:28:19 +0800
committerchrome-internal-fetch <chrome-internal-fetch@google.com>2013-09-25 19:18:15 +0000
commit45bcffd91a16d23340abd4a7c85e889c1e853573 (patch)
treebb42e321ca591beb90eae89513b890e9fe586b0e /test/lid_sw.c
parent20724deae60e461d439eaa69589ca2c9cd08b604 (diff)
downloadchrome-ec-45bcffd91a16d23340abd4a7c85e889c1e853573.tar.gz
Add test for memory-mapped switch information
This checks power button and lid switch states are updated correctly to memory-mapped region. BUG=chrome-os-partner:19236 TEST=Pass power_button and lid_sw tests BRANCH=None Change-Id: Ia49b5a3142b5fd47985bc6f53b1bbffd6d4bbeac Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/170438 Reviewed-by: Randall Spangler <rspangler@chromium.org>
Diffstat (limited to 'test/lid_sw.c')
-rw-r--r--test/lid_sw.c10
1 files changed, 10 insertions, 0 deletions
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)));