summaryrefslogtreecommitdiff
path: root/src/test
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2014-03-19 00:54:41 +0100
committerLennart Poettering <lennart@poettering.net>2014-03-19 00:54:41 +0100
commitc4a7b2c56e907e39fa9a6cdb21c1970464abd44e (patch)
tree0ad70957d5736341e0cc068e50557c08d99a9aac /src/test
parentcb9da7f24fb057813606c87f9a73fdb941baa78c (diff)
util: add new FOREACH_STRING() macro as syntactic sugar to iterate through a number of fixed strings
Diffstat (limited to 'src/test')
-rw-r--r--src/test/test-util.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/test/test-util.c b/src/test/test-util.c
index 1d952ebf1d..93929cd9fc 100644
--- a/src/test/test-util.c
+++ b/src/test/test-util.c
@@ -656,6 +656,25 @@ static void test_log2i(void) {
assert_se(log2i(INT_MAX) == sizeof(int)*8-2);
}
+static void test_foreach_string(void) {
+ const char * const t[] = {
+ "foo",
+ "bar",
+ "waldo",
+ NULL
+ };
+ const char *x;
+ unsigned i = 0;
+
+ FOREACH_STRING(x, "foo", "bar", "waldo")
+ assert_se(streq_ptr(t[i++], x));
+
+ assert_se(i == 3);
+
+ FOREACH_STRING(x, "zzz")
+ assert_se(streq(x, "zzz"));
+}
+
int main(int argc, char *argv[]) {
log_parse_environment();
log_open();
@@ -699,6 +718,7 @@ int main(int argc, char *argv[]) {
test_writing_tmpfile();
test_hexdump();
test_log2i();
+ test_foreach_string();
return 0;
}