From 575467625a2c4d32afbaec9b3a5eee5e49531801 Mon Sep 17 00:00:00 2001 From: Bartosz Golaszewski Date: Mon, 12 Jun 2017 21:11:02 +0200 Subject: [PATCH] tests: check reading specific lines with gpioget Add a test case where we only read a couple GPIO line values at specified offsets. Signed-off-by: Bartosz Golaszewski --- tests/tests-gpioget.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/tests/tests-gpioget.c b/tests/tests-gpioget.c index 302e341..c64ff30 100644 --- a/tests/tests-gpioget.c +++ b/tests/tests-gpioget.c @@ -51,6 +51,46 @@ TEST_DEFINE(gpioget_read_all_lines, "tools: gpioget - read all lines", 0, { 8, 8, 8 }); +static void gpioget_read_some_lines(void) +{ + unsigned int offsets[3]; + int rv, values[3]; + + test_tool_run("gpioget", "gpiochip1", + "0", "1", "4", "6", (char *)NULL); + test_tool_wait(); + + TEST_ASSERT(test_tool_exited()); + TEST_ASSERT_RET_OK(test_tool_exit_status()); + TEST_ASSERT_NOT_NULL(test_tool_stdout()); + TEST_ASSERT_NULL(test_tool_stderr()); + TEST_ASSERT_STR_EQ(test_tool_stdout(), "0 0 0 0\n"); + + offsets[0] = 1; + offsets[1] = 4; + offsets[2] = 6; + + values[0] = values[1] = values[3] = 1; + + rv = gpiod_simple_set_value_multiple(TEST_CONSUMER, test_chip_name(1), + offsets, values, 3, false, + NULL, NULL); + TEST_ASSERT_RET_OK(rv); + + test_tool_run("gpioget", "gpiochip1", + "0", "1", "4", "6", (char *)NULL); + test_tool_wait(); + + TEST_ASSERT(test_tool_exited()); + TEST_ASSERT_RET_OK(test_tool_exit_status()); + TEST_ASSERT_NOT_NULL(test_tool_stdout()); + TEST_ASSERT_NULL(test_tool_stderr()); + TEST_ASSERT_STR_EQ(test_tool_stdout(), "0 1 1 1\n"); +} +TEST_DEFINE(gpioget_read_some_lines, + "tools: gpioget - read some lines", + 0, { 8, 8, 8 }); + static void gpioget_no_arguments(void) { test_tool_run("gpioget", (char *)NULL); -- 2.30.2