]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/journal/test-journal-flush.c
43925cf9a2a43bcf32eae2409944f2ebdfb916ca
1 /* SPDX-License-Identifier: LGPL-2.1+ */
3 This file is part of systemd.
5 Copyright 2013 Lennart Poettering
10 #include "sd-journal.h"
12 #include "alloc-util.h"
13 #include "journal-file.h"
14 #include "journal-internal.h"
16 #include "string-util.h"
18 int main(int argc
, char *argv
[]) {
19 _cleanup_free_
char *fn
= NULL
;
20 char dn
[] = "/var/tmp/test-journal-flush.XXXXXX";
21 JournalFile
*new_journal
= NULL
;
26 assert_se(mkdtemp(dn
));
27 fn
= strappend(dn
, "/test.journal");
29 r
= journal_file_open(-1, fn
, O_CREAT
|O_RDWR
, 0644, false, 0, false, NULL
, NULL
, NULL
, NULL
, &new_journal
);
32 r
= sd_journal_open(&j
, 0);
35 sd_journal_set_data_threshold(j
, 0);
37 SD_JOURNAL_FOREACH(j
) {
42 assert_se(f
&& f
->current_offset
> 0);
44 r
= journal_file_move_to_object(f
, OBJECT_ENTRY
, f
->current_offset
, &o
);
47 r
= journal_file_copy_entry(f
, new_journal
, o
, f
->current_offset
);
57 (void) journal_file_close(new_journal
);
60 assert_se(rmdir(dn
) == 0);