From 4c4170bc379ff7c89326ece892db93f12340dd81 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Thu, 5 Oct 2023 17:15:54 +0900 Subject: [PATCH] test: modernize test-journal-flush (cherry picked from commit ff95b60d1abddf01a57c7e39d30142326e2373e8) Related: RHEL-11591 --- src/journal/test-journal-flush.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/journal/test-journal-flush.c b/src/journal/test-journal-flush.c index c734aa02ca..015604780f 100644 --- a/src/journal/test-journal-flush.c +++ b/src/journal/test-journal-flush.c @@ -12,14 +12,15 @@ #include "managed-journal-file.h" #include "path-util.h" #include "string-util.h" +#include "tests.h" -static void test_journal_flush(int argc, char *argv[]) { +static void test_journal_flush_one(int argc, char *argv[]) { _cleanup_(mmap_cache_unrefp) MMapCache *m = NULL; _cleanup_free_ char *fn = NULL; char dn[] = "/var/tmp/test-journal-flush.XXXXXX"; - ManagedJournalFile *new_journal = NULL; - sd_journal *j = NULL; - unsigned n = 0; + _cleanup_(managed_journal_file_closep) ManagedJournalFile *new_journal = NULL; + _cleanup_(sd_journal_closep) sd_journal *j = NULL; + unsigned n, limit; int r; m = mmap_cache_new(); @@ -40,6 +41,8 @@ static void test_journal_flush(int argc, char *argv[]) { sd_journal_set_data_threshold(j, 0); + n = 0; + limit = slow_tests_enabled() ? 10000 : 1000; SD_JOURNAL_FOREACH(j) { Object *o; JournalFile *f; @@ -60,24 +63,22 @@ static void test_journal_flush(int argc, char *argv[]) { -EPROTONOSUPPORT, /* unsupported compression */ -EIO)); /* file rotated */ - if (++n >= 10000) + if (++n >= limit) break; } - sd_journal_close(j); - - (void) managed_journal_file_close(new_journal); - unlink(fn); assert_se(rmdir(dn) == 0); } -int main(int argc, char *argv[]) { +TEST(journal_flush) { assert_se(setenv("SYSTEMD_JOURNAL_COMPACT", "0", 1) >= 0); - test_journal_flush(argc, argv); + test_journal_flush_one(saved_argc, saved_argv); +} +TEST(journal_flush_compact) { assert_se(setenv("SYSTEMD_JOURNAL_COMPACT", "1", 1) >= 0); - test_journal_flush(argc, argv); - - return 0; + test_journal_flush_one(saved_argc, saved_argv); } + +DEFINE_TEST_MAIN(LOG_INFO);