X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fjournal%2Ftest-journal-match.c;h=a3187053c9c62993a82972ddd80f6fc33dc3b0a0;hb=455971c1493fc6dc3125d235cf4ea6102cac626d;hp=fa228144f5ead7da9b75de5cd835f8c906db01d9;hpb=cbdca8525b4f36297cb9e5cb090a9648763ed1bf;p=elogind.git diff --git a/src/journal/test-journal-match.c b/src/journal/test-journal-match.c index fa228144f..a3187053c 100644 --- a/src/journal/test-journal-match.c +++ b/src/journal/test-journal-match.c @@ -21,15 +21,15 @@ #include -#include +#include "systemd/sd-journal.h" #include "journal-internal.h" #include "util.h" #include "log.h" int main(int argc, char *argv[]) { - sd_journal *j; - char *t; + _cleanup_journal_close_ sd_journal*j; + _cleanup_free_ char *t; log_set_max_level(LOG_DEBUG); @@ -54,14 +54,23 @@ int main(int argc, char *argv[]) { assert_se(sd_journal_add_match(j, "ONE=two", 0) >= 0); assert_se(sd_journal_add_match(j, "TWO=two", 0) >= 0); - assert_se(t = journal_make_match_string(j)); + assert_se(sd_journal_add_conjunction(j) >= 0); + + assert_se(sd_journal_add_match(j, "L4_1=yes", 0) >= 0); + assert_se(sd_journal_add_match(j, "L4_1=ok", 0) >= 0); + assert_se(sd_journal_add_match(j, "L4_2=yes", 0) >= 0); + assert_se(sd_journal_add_match(j, "L4_2=ok", 0) >= 0); + + assert_se(sd_journal_add_disjunction(j) >= 0); + + assert_se(sd_journal_add_match(j, "L3=yes", 0) >= 0); + assert_se(sd_journal_add_match(j, "L3=ok", 0) >= 0); - assert_se(streq(t, "((TWO=two AND (ONE=two OR ONE=one)) OR (PIFF=paff AND (QUUX=yyyyy OR QUUX=xxxxx OR QUUX=mmmm) AND (HALLO= OR HALLO=WALDO)))")); + assert_se(t = journal_make_match_string(j)); printf("resulting match expression is: %s\n", t); - free(t); - sd_journal_close(j); + assert_se(streq(t, "(((L3=ok OR L3=yes) OR ((L4_2=ok OR L4_2=yes) AND (L4_1=ok OR L4_1=yes))) AND ((TWO=two AND (ONE=two OR ONE=one)) OR (PIFF=paff AND (QUUX=yyyyy OR QUUX=xxxxx OR QUUX=mmmm) AND (HALLO= OR HALLO=WALDO))))")); return 0; }