tests: gpioget: test the --active-low flag
authorBartosz Golaszewski <bartekgola@gmail.com>
Mon, 12 Jun 2017 19:44:13 +0000 (21:44 +0200)
committerBartosz Golaszewski <bartekgola@gmail.com>
Mon, 12 Jun 2017 19:44:13 +0000 (21:44 +0200)
Read all lines, change their values and re-read but this time pass
the --active-low flag to gpioget.

Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
tests/tests-gpioget.c

index c64ff30de31213fa74d91484eeeb66a74e18ca81..ef8401a0f2cbebbe148ed26f7c5dcba101abb137 100644 (file)
@@ -51,6 +51,47 @@ TEST_DEFINE(gpioget_read_all_lines,
            "tools: gpioget - read all lines",
            0, { 8, 8, 8 });
 
+static void gpioget_read_all_lines_active_low(void)
+{
+       unsigned int offsets[4];
+       int rv, values[4];
+
+       test_tool_run("gpioget", "--active-low", "gpiochip1",
+                     "0", "1", "2", "3", "4", "5", "6", "7", (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(), "1 1 1 1 1 1 1 1\n");
+
+       offsets[0] = 2;
+       offsets[1] = 3;
+       offsets[2] = 5;
+       offsets[3] = 7;
+
+       values[0] = values[1] = values[2] = values[3] = 1;
+
+       rv = gpiod_simple_set_value_multiple(TEST_CONSUMER, test_chip_name(1),
+                                            offsets, values, 4, false,
+                                            NULL, NULL);
+       TEST_ASSERT_RET_OK(rv);
+
+       test_tool_run("gpioget", "--active-low", "gpiochip1",
+                     "0", "1", "2", "3", "4", "5", "6", "7", (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(), "1 1 0 0 1 0 1 0\n");
+}
+TEST_DEFINE(gpioget_read_all_lines_active_low,
+           "tools: gpioget - read all lines (active-low)",
+           0, { 8, 8, 8 });
+
 static void gpioget_read_some_lines(void)
 {
        unsigned int offsets[3];