From: Bartosz Golaszewski Date: Wed, 12 Jul 2017 18:09:45 +0000 (+0200) Subject: line: add a test case for empty consumer strings X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=259dd5c64bec65dab0d514d28fcdb2d6d3640964;p=qemu-gpiodev%2Flibgpiod.git line: add a test case for empty consumer strings Check that both libgpiod and the kernel behave correctly when passed an empty string as the consumer name. Signed-off-by: Bartosz Golaszewski --- diff --git a/tests/tests-line.c b/tests/tests-line.c index fab2998..75ac680 100644 --- a/tests/tests-line.c +++ b/tests/tests-line.c @@ -434,3 +434,41 @@ static void line_null_consumer(void) TEST_DEFINE(line_null_consumer, "line request - NULL consumer string", 0, { 8 }); + +static void line_empty_consumer(void) +{ + TEST_CLEANUP(test_close_chip) struct gpiod_chip *chip = NULL; + struct gpiod_line_request_config config; + struct gpiod_line *line; + int rv; + + chip = gpiod_chip_open(test_chip_path(0)); + TEST_ASSERT_NOT_NULL(chip); + + line = gpiod_chip_get_line(chip, 2); + TEST_ASSERT_NOT_NULL(line); + + config.request_type = GPIOD_REQUEST_DIRECTION_INPUT; + config.consumer = ""; + config.active_state = GPIOD_REQUEST_ACTIVE_HIGH; + config.flags = 0; + + rv = gpiod_line_request(line, &config, 0); + TEST_ASSERT_RET_OK(rv); + TEST_ASSERT_STR_EQ(gpiod_line_consumer(line), "?"); + + gpiod_line_release(line); + + /* + * Internally we use different structures for event requests, so we + * need to test that explicitly too. + */ + config.request_type = GPIOD_REQUEST_EVENT_BOTH_EDGES; + + rv = gpiod_line_request(line, &config, 0); + TEST_ASSERT_RET_OK(rv); + TEST_ASSERT_STR_EQ(gpiod_line_consumer(line), "?"); +} +TEST_DEFINE(line_empty_consumer, + "line request - empty consumer string", + 0, { 8 });