diff options
author | Lennart Poettering <lennart@poettering.net> | 2014-03-19 00:54:41 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2014-03-19 00:54:41 +0100 |
commit | c4a7b2c56e907e39fa9a6cdb21c1970464abd44e (patch) | |
tree | 0ad70957d5736341e0cc068e50557c08d99a9aac /src/test/test-util.c | |
parent | cb9da7f24fb057813606c87f9a73fdb941baa78c (diff) |
util: add new FOREACH_STRING() macro as syntactic sugar to iterate through a number of fixed strings
Diffstat (limited to 'src/test/test-util.c')
-rw-r--r-- | src/test/test-util.c | 20 |
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; } |