From 63c70aa398566196edb3238fea6c3e7b37534659 Mon Sep 17 00:00:00 2001 From: Bartosz Golaszewski Date: Wed, 27 Sep 2017 11:09:37 +0200 Subject: [PATCH] tests: simple-api: new test case Add a test case for gpiod_simple_event_loop_multiple(). Signed-off-by: Bartosz Golaszewski --- tests/tests-simple-api.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tests/tests-simple-api.c b/tests/tests-simple-api.c index e9f38bf..55dcb71 100644 --- a/tests/tests-simple-api.c +++ b/tests/tests-simple-api.c @@ -164,3 +164,32 @@ static void simple_event_loop(void) TEST_DEFINE(simple_event_loop, "gpiod_simple_event_loop() - single event", 0, { 8 }); + +static void simple_event_loop_multiple(void) +{ + struct simple_event_data evdata = { false, false, 0, 0 }; + struct timespec ts = { 1, 0 }; + unsigned int offsets[4]; + int status; + + offsets[0] = 2; + offsets[1] = 3; + offsets[2] = 5; + offsets[3] = 6; + + test_set_event(0, 3, TEST_EVENT_ALTERNATING, 100); + + status = gpiod_simple_event_loop_multiple(TEST_CONSUMER, + test_chip_name(0), offsets, + 4, false, &ts, NULL, + simple_event_cb, &evdata); + + TEST_ASSERT_RET_OK(status); + TEST_ASSERT(evdata.got_rising_edge); + TEST_ASSERT(evdata.got_falling_edge); + TEST_ASSERT_EQ(evdata.count, 2); + TEST_ASSERT_EQ(evdata.offset, 3); +} +TEST_DEFINE(simple_event_loop_multiple, + "gpiod_simple_event_loop_multiple() - single event", + 0, { 8 }); -- 2.30.2