tests: move the test case for duplicate configured offsets
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Thu, 27 Apr 2023 13:28:18 +0000 (15:28 +0200)
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Thu, 27 Apr 2023 13:28:18 +0000 (15:28 +0200)
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>
tests/tests-line-config.c
tests/tests-line-request.c

index cf3e9d10bbe9697e387fb06386d87264e5e86928..469500b833b6a78f71f6bd28fc9b4c8994bba77e 100644 (file)
@@ -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);
+}
index 47ba98619924007a55edb5c82eba556bded508d6..0b985e274187f14f7dfce40fe15aa4fc80d16fdc 100644 (file)
@@ -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 };