aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>2023-03-15 20:53:23 +0100
committerBartosz Golaszewski <bartosz.golaszewski@linaro.org>2023-03-15 20:56:21 +0100
commit10febcbe0b4d70099af8dfd11d398772a69ac6bd (patch)
tree64b379510887b2cf1b29198f7a145da60e493f3a
parentb9851e07c2d711e5332aad14653c2fdcd2eda7fd (diff)
downloadlibgpiod-10febcbe0b4d70099af8dfd11d398772a69ac6bd.tar.gz
tests: add a test case for gpiod_line_config_add_line_settings()
Add a more detailed test case for input arguments sanitization for gpiod_line_config_add_line_settings(). Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
-rw-r--r--tests/tests-line-config.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/tests-line-config.c b/tests/tests-line-config.c
index 38bc0030..f6cfacf8 100644
--- a/tests/tests-line-config.c
+++ b/tests/tests-line-config.c
@@ -150,6 +150,26 @@ GPIOD_TEST_CASE(null_settings)
GPIOD_LINE_DIRECTION_AS_IS);
}
+GPIOD_TEST_CASE(null_and_0_offsets)
+{
+ static const guint offsets[] = { 0, 1, 2, 3 };
+
+ g_autoptr(struct_gpiod_line_config) config = NULL;
+ g_autoptr(struct_gpiod_line_settings) settings = NULL;
+ gint ret;
+
+ config = gpiod_test_create_line_config_or_fail();
+ settings = gpiod_test_create_line_settings_or_fail();
+
+ ret = gpiod_line_config_add_line_settings(config, NULL, 4, settings);
+ g_assert_cmpint(ret, ==, -1);
+ gpiod_test_expect_errno(EINVAL);
+
+ ret = gpiod_line_config_add_line_settings(config, offsets, 0, settings);
+ g_assert_cmpint(ret, ==, -1);
+ gpiod_test_expect_errno(EINVAL);
+}
+
GPIOD_TEST_CASE(reset_config)
{
static const guint offsets[] = { 0, 1, 2, 3 };