]> git.ipfire.org Git - thirdparty/systemd.git/blame - src/journal/test-journal-init.c
Update mailmap and contributor list (#7006)
[thirdparty/systemd.git] / src / journal / test-journal-init.c
CommitLineData
3b6c7e78
ZJS
1/***
2 This file is part of systemd.
3
4 Copyright 2013 Zbigniew Jędrzejewski-Szmek
5
6 systemd is free software; you can redistribute it and/or modify it
7 under the terms of the GNU Lesser General Public License as published by
8 the Free Software Foundation; either version 2.1 of the License, or
9 (at your option) any later version.
10
11 systemd is distributed in the hope that it will be useful, but
12 WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Lesser General Public License for more details.
15
16 You should have received a copy of the GNU Lesser General Public License
17 along with systemd; If not, see <http://www.gnu.org/licenses/>.
18***/
19
3ffd4af2 20#include "sd-journal.h"
3b6c7e78
ZJS
21
22#include "log.h"
6bedfcbb 23#include "parse-util.h"
c6878637 24#include "rm-rf.h"
3ffd4af2 25#include "util.h"
3b6c7e78
ZJS
26
27int main(int argc, char *argv[]) {
28 sd_journal *j;
29 int r, i, I = 100;
30 char t[] = "/tmp/journal-stream-XXXXXX";
31
32 log_set_max_level(LOG_DEBUG);
33
cbb452e7
TA
34 if (argc >= 2) {
35 r = safe_atoi(argv[1], &I);
36 if (r < 0)
37 log_info("Could not parse loop count argument. Using default.");
38 }
39
3b6c7e78
ZJS
40 log_info("Running %d loops", I);
41
42 assert_se(mkdtemp(t));
43
44 for (i = 0; i < I; i++) {
45 r = sd_journal_open(&j, SD_JOURNAL_LOCAL_ONLY);
46 assert_se(r == 0);
47
48 sd_journal_close(j);
49
50 r = sd_journal_open_directory(&j, t, 0);
51 assert_se(r == 0);
52
53 sd_journal_close(j);
54
55 j = NULL;
56 r = sd_journal_open_directory(&j, t, SD_JOURNAL_LOCAL_ONLY);
57 assert_se(r == -EINVAL);
58 assert_se(j == NULL);
59 }
60
c6878637 61 assert_se(rm_rf(t, REMOVE_ROOT|REMOVE_PHYSICAL) >= 0);
3b6c7e78
ZJS
62
63 return 0;
64}