13
13
#include "path-util.h"
14
14
#include "rm-rf.h"
15
15
#include "string-util.h"
16
+ #include "tests.h"
16
17
#include "tmpfile-util.h"
17
18
18
- static void test_journal_flush (int argc , char * argv []) {
19
+ static void test_journal_flush_one (int argc , char * argv []) {
19
20
_cleanup_ (mmap_cache_unrefp ) MMapCache * m = NULL ;
20
21
_cleanup_free_ char * fn = NULL ;
21
22
_cleanup_ (rm_rf_physical_and_freep ) char * dn = NULL ;
22
- JournalFile * new_journal = NULL ;
23
- sd_journal * j = NULL ;
24
- unsigned n = 0 ;
23
+ _cleanup_ ( journal_file_offline_closep ) JournalFile * new_journal = NULL ;
24
+ _cleanup_ ( sd_journal_closep ) sd_journal * j = NULL ;
25
+ unsigned n , limit ;
25
26
int r ;
26
27
27
28
assert_se (m = mmap_cache_new ());
@@ -41,6 +42,8 @@ static void test_journal_flush(int argc, char *argv[]) {
41
42
42
43
sd_journal_set_data_threshold (j , 0 );
43
44
45
+ n = 0 ;
46
+ limit = slow_tests_enabled () ? 10000 : 1000 ;
44
47
SD_JOURNAL_FOREACH (j ) {
45
48
Object * o ;
46
49
JournalFile * f ;
@@ -62,21 +65,19 @@ static void test_journal_flush(int argc, char *argv[]) {
62
65
- EIO , /* file rotated */
63
66
- EREMCHG )); /* clock rollback */
64
67
65
- if (++ n >= 10000 )
68
+ if (++ n >= limit )
66
69
break ;
67
70
}
68
-
69
- sd_journal_close (j );
70
-
71
- (void ) journal_file_offline_close (new_journal );
72
71
}
73
72
74
- int main ( int argc , char * argv [] ) {
73
+ TEST ( journal_flush ) {
75
74
assert_se (setenv ("SYSTEMD_JOURNAL_COMPACT" , "0" , 1 ) >= 0 );
76
- test_journal_flush (argc , argv );
75
+ test_journal_flush_one (saved_argc , saved_argv );
76
+ }
77
77
78
+ TEST (journal_flush_compact ) {
78
79
assert_se (setenv ("SYSTEMD_JOURNAL_COMPACT" , "1" , 1 ) >= 0 );
79
- test_journal_flush (argc , argv );
80
-
81
- return 0 ;
80
+ test_journal_flush_one (saved_argc , saved_argv );
82
81
}
82
+
83
+ DEFINE_TEST_MAIN (LOG_INFO );
0 commit comments