From 78e83b64ad522cf80c35e418ddd53171875a6f5c Mon Sep 17 00:00:00 2001
From: Pawel Szewczyk
Date: Wed, 18 Feb 2015 11:51:20 +0100
Subject: [PATCH] libusbgx: tests: Add getting binding test
Signed-off-by: Pawel Szewczyk
Fix coding style.
Change-Id: I1ae18bc2393067cd0735ab812ec720e900ef3161
Signed-off-by: Krzysztof Opasiak
---
tests/test.c | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 98 insertions(+)
diff --git a/tests/test.c b/tests/test.c
index 26115ba..41bc9c1 100644
--- a/tests/test.c
+++ b/tests/test.c
@@ -1299,6 +1299,80 @@ static void test_get_gadget_strs(void **data)
}
}
+/**
+ * @brief Get binding target
+ * @details Check if given function is target of given binding
+ * @param[in] tb Test function
+ * @param[in] b Binding
+ */
+static void try_get_binding_target(struct test_binding *tb, usbg_binding *b)
+{
+ usbg_function *f;
+
+ f = usbg_get_binding_target(b);
+ assert_non_null(f);
+ assert_func_equal(f, tb->target);
+}
+
+/**
+ * @brief Test get binding target
+ * @details Test all bindings present in given state
+ * @param[in, out] state Pointer to pointer to correctly initialized test state,
+ * will point to usbg state when finished.
+ */
+static void test_get_binding_target(void **state)
+{
+ for_each_binding(state, try_get_binding_target);
+}
+
+/**
+ * @brief Get binding name
+ * @details Check if name of given binding is equal name of given function
+ * @param[in] tb Test function
+ * @param[in] b Binding
+ */
+static void try_get_binding_name(struct test_binding *tb, usbg_binding *b)
+{
+ const char *s;
+
+ s = usbg_get_binding_name(b);
+ assert_non_null(s);
+ assert_string_equal(s, tb->name);
+}
+
+/**
+ * @brief Test get bindig name from all binding present in state
+ * @param[in, out] state Pointer to pointer to correctly initialized test state,
+ * will point to usbg state when finished.
+ */
+static void test_get_binding_name(void **state)
+{
+ for_each_binding(state, try_get_binding_name);
+}
+
+/**
+ * @brief Get binding name length
+ * @param[in] tb Test function
+ * @param[in] b Binding
+ */
+static void try_get_binding_name_len(struct test_binding *tb, usbg_binding *b)
+{
+ int n;
+
+ n = usbg_get_binding_name_len(b);
+ assert_int_equal(n, strlen(tb->name));
+}
+
+/**
+ * @brief Test get binding name length from all bindings present in state
+ * @param[in, out] state Pointer to pointer to correctly initialized test state,
+ * will point to usbg state when finished.
+ */
+static void test_get_binding_name_len(void **state)
+{
+ for_each_binding(state, try_get_binding_name_len);
+}
+
/**
* @brief cleanup usbg state
*/
@@ -1658,6 +1732,30 @@ static UnitTest tests[] = {
*/
USBG_TEST_TS("test_get_gadget_strs_random",
test_get_gadget_strs, setup_random_len_gadget_strs_data),
+ /**
+ * @usbg_test
+ * @test_desc{test_get_binding_target_simple,
+ * Get binding target,
+ * usbg_get_binding_target}
+ */
+ USBG_TEST_TS("test_get_binding_target_simple",
+ test_get_binding_target, setup_simple_state),
+ /**
+ * @usbg_test
+ * @test_desc{test_get_binding_name_simple,
+ * Get binding name,
+ * usbg_get_binding_name}
+ */
+ USBG_TEST_TS("test_get_binding_name_simple",
+ test_get_binding_name, setup_simple_state),
+ /**
+ * @usbg_test
+ * @test_desc{test_get_binding_name_len_simple,
+ * Get binding name length,
+ * usbg_get_binding_name_len}
+ */
+ USBG_TEST_TS("test_get_binding_name_len_simple",
+ test_get_binding_name_len, setup_simple_state),
#ifndef DOXYGEN
};