libusbgx: tests: Try to iterate over all gadget attributes
authorKrzysztof Opasiak <k.opasiak@samsung.com>
Wed, 25 Feb 2015 08:56:39 +0000 (09:56 +0100)
committerKrzysztof Opasiak <k.opasiak@samsung.com>
Tue, 22 Dec 2015 20:45:34 +0000 (21:45 +0100)
Change-Id: I0fa869ecf50ead08171ee1da4b7a5326694efbdc
Signed-off-by: Krzysztof Opasiak <k.opasiak@samsung.com>
tests/test.c

index 3102466..6d18c9e 100644 (file)
@@ -1155,13 +1155,27 @@ static void test_get_gadget_attr_str(void **state)
        };
 
        const char *str;
-       int i;
+       int i, j;
 
        for (i = 0; i < ARRAY_SIZE(attrs); i++) {
                str = usbg_get_gadget_attr_str(attrs[i].attr);
                assert_non_null(str);
                assert_string_equal(str, attrs[i].str);
        }
+
+       /* Check if iteration over values works */
+       for (i = USBG_GADGET_ATTR_MIN; i < USBG_GADGET_ATTR_MAX; ++i) {
+               str = usbg_get_gadget_attr_str(i);
+               assert_non_null(str);
+
+               for (j = 0; j < ARRAY_SIZE(attrs); ++j)
+                       if (attrs[j].attr == i) {
+                               assert_string_equal(str, attrs[j].str);
+                               break;
+                       }
+
+               assert_int_not_equal(j, ARRAY_SIZE(attrs));
+       }
 }
 
 static void test_get_gadget_attr_str_fail(void **state)