journal: ensure test-journal-stream doesn't get confused by crappy clocks

This ensures that we write strictly monotonic timestamps into the
journal files, to ensure that we can properly interleave everything
correctly.

See #175 for details.
This commit is contained in:
Lennart Poettering 2015-06-17 20:37:19 +02:00
parent 07d210255b
commit 98d2a53417

View file

@ -80,6 +80,7 @@ int main(int argc, char *argv[]) {
char *z;
const void *data;
size_t l;
dual_timestamp previous_ts = DUAL_TIMESTAMP_NULL;
/* journal_file_open requires a valid machine id */
if (access("/etc/machine-id", F_OK) != 0)
@ -101,6 +102,14 @@ int main(int argc, char *argv[]) {
dual_timestamp_get(&ts);
if (ts.monotonic <= previous_ts.monotonic)
ts.monotonic = previous_ts.monotonic + 1;
if (ts.realtime <= previous_ts.realtime)
ts.realtime = previous_ts.realtime + 1;
previous_ts = ts;
assert_se(asprintf(&p, "NUMBER=%u", i) >= 0);
iovec[0].iov_base = p;
iovec[0].iov_len = strlen(p);