[systemd-devel] [PATCH 2/2] test-strv.c: added STRV_FOREACH and STRV_FOREACH_BACKWARDS

Daniel Buch boogiewasthere at gmail.com
Sun Oct 27 12:45:53 CET 2013


---
 src/test/test-strv.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/src/test/test-strv.c b/src/test/test-strv.c
index c3d536d..de5cef0 100644
--- a/src/test/test-strv.c
+++ b/src/test/test-strv.c
@@ -282,6 +282,34 @@ static void test_strv_append(void) {
         assert_se(streq(c[0], "test3"));
 }
 
+static void test_strv_foreach(void) {
+	_cleanup_strv_free_ char **a;
+	unsigned i = 0;
+	char **check;
+
+	a = strv_new("one", "two", "three", NULL);
+
+	assert_se(a);
+
+	STRV_FOREACH(check, a) {
+		assert_se(streq(*check, input_table_multiple[i++]));
+	}
+}
+
+static void test_strv_foreach_backwards(void) {
+	_cleanup_strv_free_ char **a;
+	unsigned i = 2;
+	char **check;
+
+	a = strv_new("one", "two", "three", NULL);
+
+	assert_se(a);
+
+	STRV_FOREACH_BACKWARDS(check, a) {
+		assert_se(streq(*check, input_table_multiple[i--]));
+	}
+}
+
 static void test_strv_foreach_pair(void) {
         _cleanup_strv_free_ char **a = NULL;
         char **x, **y;
@@ -298,6 +326,8 @@ static void test_strv_foreach_pair(void) {
 
 int main(int argc, char *argv[]) {
         test_specifier_printf();
+        test_strv_foreach();
+        test_strv_foreach_backwards();
         test_strv_foreach_pair();
         test_strv_find();
         test_strv_find_prefix();
-- 
1.8.4.1



More information about the systemd-devel mailing list