diff options
author | Bartosz Golaszewski <bartosz.golaszewski@linaro.org> | 2023-04-27 15:28:18 +0200 |
---|---|---|
committer | Bartosz Golaszewski <bartosz.golaszewski@linaro.org> | 2023-04-27 15:28:18 +0200 |
commit | a62c5fbc630ebca8b30735f1c38c08d17cf0aa51 (patch) | |
tree | d8d6a03dd64610f0333a3add63af697b7b2bfb55 | |
parent | e35621c4476b3ef563ed5e0c756d77c2b2c6c977 (diff) | |
download | libgpiod-a62c5fbc630ebca8b30735f1c38c08d17cf0aa51.tar.gz |
tests: move the test case for duplicate configured offsets
This test case lives in tests-line-request.c but it doesn't really test
request functionality but rather only the behavior of line-config. Limit
it to only testing struct gpiod_line_config and move it to
tests-line-config.c.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
-rw-r--r-- | tests/tests-line-config.c | 23 | ||||
-rw-r--r-- | tests/tests-line-request.c | 28 |
2 files changed, 23 insertions, 28 deletions
diff --git a/tests/tests-line-config.c b/tests/tests-line-config.c index cf3e9d10..469500b8 100644 --- a/tests/tests-line-config.c +++ b/tests/tests-line-config.c @@ -445,3 +445,26 @@ GPIOD_TEST_CASE(get_num_configured_offsets) g_assert_cmpuint(gpiod_line_config_get_num_configured_offsets(config), ==, 4); } + +GPIOD_TEST_CASE(handle_duplicate_offsets) +{ + static const guint offsets[] = { 0, 2, 2, 3 }; + + g_autoptr(struct_gpiod_line_config) config = NULL; + size_t num_retrieved; + guint retrieved[3]; + + config = gpiod_test_create_line_config_or_fail(); + + gpiod_test_line_config_add_line_settings_or_fail(config, offsets, 4, + NULL); + + g_assert_cmpuint(gpiod_line_config_get_num_configured_offsets(config), + ==, 3); + num_retrieved = gpiod_line_config_get_configured_offsets(config, + retrieved, 3); + g_assert_cmpuint(num_retrieved, ==, 3); + g_assert_cmpuint(retrieved[0], ==, 0); + g_assert_cmpuint(retrieved[1], ==, 2); + g_assert_cmpuint(retrieved[2], ==, 3); +} diff --git a/tests/tests-line-request.c b/tests/tests-line-request.c index 47ba9861..0b985e27 100644 --- a/tests/tests-line-request.c +++ b/tests/tests-line-request.c @@ -39,34 +39,6 @@ GPIOD_TEST_CASE(request_fails_with_no_line_config) gpiod_test_expect_errno(EINVAL); } -GPIOD_TEST_CASE(request_fails_with_duplicate_offsets) -{ - static const guint offsets[] = { 0, 2, 2, 3 }; - - g_autoptr(GPIOSimChip) sim = g_gpiosim_chip_new("num-lines", 4, NULL); - g_autoptr(struct_gpiod_chip) chip = NULL; - g_autoptr(struct_gpiod_line_config) line_cfg = NULL; - g_autoptr(struct_gpiod_line_request) request = NULL; - size_t num_requested_offsets; - guint requested_offsets[3]; - - chip = gpiod_test_open_chip_or_fail(g_gpiosim_chip_get_dev_path(sim)); - line_cfg = gpiod_test_create_line_config_or_fail(); - - gpiod_test_line_config_add_line_settings_or_fail(line_cfg, offsets, 4, - NULL); - - request = gpiod_chip_request_lines(chip, NULL, line_cfg); - g_assert_nonnull(request); - num_requested_offsets = - gpiod_line_request_get_num_requested_lines(request); - g_assert_cmpuint(num_requested_offsets, ==, 3); - gpiod_line_request_get_requested_offsets(request, requested_offsets, 4); - g_assert_cmpuint(requested_offsets[0], ==, 0); - g_assert_cmpuint(requested_offsets[1], ==, 2); - g_assert_cmpuint(requested_offsets[2], ==, 3); -} - GPIOD_TEST_CASE(request_fails_with_offset_out_of_bounds) { static const guint offsets[] = { 2, 6 }; |