summaryrefslogtreecommitdiffstats
path: root/tests/expected
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-14 19:33:32 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-14 19:33:32 +0000
commit8bb05ac73a5b448b339ce0bc8d396c82c459b47f (patch)
tree1fdda006866bca20d41cb206767ea5241e36852f /tests/expected
parentAdding debian version 2.39.3-11. (diff)
downloadutil-linux-8bb05ac73a5b448b339ce0bc8d396c82c459b47f.tar.xz
util-linux-8bb05ac73a5b448b339ce0bc8d396c82c459b47f.zip
Merging upstream version 2.40.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r--libsmartcols/src/filter-parser.stamp (renamed from tests/expected/mount/special)0
-rw-r--r--tests/expected/blkid/low-probe-bcache-B2
-rw-r--r--tests/expected/blkid/low-probe-bcache-C2
-rw-r--r--tests/expected/blkid/low-probe-bcache-journal4
-rw-r--r--tests/expected/blkid/low-probe-swap-luks8
-rw-r--r--tests/expected/blkid/low-probe-vxfs-be6
-rw-r--r--tests/expected/blkid/low-probe-vxfs-le6
-rw-r--r--tests/expected/build-sys/config-all15
-rw-r--r--tests/expected/build-sys/config-all-devel1
-rw-r--r--tests/expected/build-sys/config-all-non-nls15
-rw-r--r--tests/expected/build-sys/config-audit13
-rw-r--r--tests/expected/build-sys/config-chfnsh-libuser13
-rw-r--r--tests/expected/build-sys/config-chfnsh-no-password13
-rw-r--r--tests/expected/build-sys/config-chfnsh-pam13
-rw-r--r--tests/expected/build-sys/config-core13
-rw-r--r--tests/expected/build-sys/config-cryptsetup15
-rw-r--r--tests/expected/build-sys/config-devel15
-rw-r--r--tests/expected/build-sys/config-devel-new-mount1
-rw-r--r--tests/expected/build-sys/config-devel-non-asan15
-rw-r--r--tests/expected/build-sys/config-devel-non-docs15
-rw-r--r--tests/expected/build-sys/config-non-libblkid11
-rw-r--r--tests/expected/build-sys/config-non-libmount11
-rw-r--r--tests/expected/build-sys/config-non-libs10
-rw-r--r--tests/expected/build-sys/config-non-libsmartcols20
-rw-r--r--tests/expected/build-sys/config-non-libuuid13
-rw-r--r--tests/expected/build-sys/config-non-nls13
-rw-r--r--tests/expected/build-sys/config-non-widechar4
-rw-r--r--tests/expected/build-sys/config-selinux13
-rw-r--r--tests/expected/build-sys/config-slang13
-rw-r--r--tests/expected/build-sys/config-static13
-rw-r--r--tests/expected/column/table-noheaders6
-rw-r--r--tests/expected/dmesg/cid-json535
-rw-r--r--tests/expected/dmesg/cid-kmsg-colors59
-rw-r--r--tests/expected/dmesg/cid-kmsg-console-levels146
-rw-r--r--tests/expected/dmesg/cid-kmsg-decode59
-rw-r--r--tests/expected/dmesg/cid-kmsg-delta59
-rw-r--r--tests/expected/dmesg/cid-kmsg-facilities73
-rw-r--r--tests/expected/dmesg/cid-kmsg-indentation28
-rw-r--r--tests/expected/dmesg/cid-kmsg-json295
-rw-r--r--tests/expected/dmesg/cid-kmsg-limit31
-rw-r--r--tests/expected/dmesg/colors19
-rw-r--r--tests/expected/dmesg/console-levels5
-rw-r--r--tests/expected/dmesg/decode19
-rw-r--r--tests/expected/dmesg/delta1
-rw-r--r--tests/expected/dmesg/facilities8
-rw-r--r--tests/expected/dmesg/json429
-rw-r--r--tests/expected/dmesg/kmsg-file185
-rw-r--r--tests/expected/dmesg/timestamp-format0
-rw-r--r--tests/expected/dmesg/timestamp-format-delta106
-rw-r--r--tests/expected/dmesg/timestamp-format-delta-ctime106
-rw-r--r--tests/expected/dmesg/timestamp-format-delta-raw106
-rw-r--r--tests/expected/dmesg/timestamp-format-multiple106
-rw-r--r--tests/expected/exch/exch4
-rw-r--r--tests/expected/fadvise/drop26
-rw-r--r--tests/expected/fdisk/mbr-nondos-mode-first-sector-at-end1
-rw-r--r--tests/expected/fdisk/resize75
-rw-r--r--tests/expected/fdisk/sunlabel-create-second-partition1
-rw-r--r--tests/expected/fincore/count.409632
-rw-r--r--tests/expected/fincore/count.6553632
-rw-r--r--tests/expected/fincore/count.nosize32
-rw-r--r--tests/expected/hexdump/format-strings-1b_hex41
-rw-r--r--tests/expected/libfdisk/gpt-all-defaults1
-rw-r--r--tests/expected/libfdisk/gpt-all-defaults-with-typo1
-rw-r--r--tests/expected/libmount/optlist-append5
-rw-r--r--tests/expected/libmount/optlist-append-empty-value4
-rw-r--r--tests/expected/libmount/optlist-append-value4
-rw-r--r--tests/expected/libmount/optlist-get4
-rw-r--r--tests/expected/libmount/optlist-get-flg-linux1
-rw-r--r--tests/expected/libmount/optlist-get-flg-user1
-rw-r--r--tests/expected/libmount/optlist-get-str4
-rw-r--r--tests/expected/libmount/optlist-get-str-linux5
-rw-r--r--tests/expected/libmount/optlist-get-str-user5
-rw-r--r--tests/expected/libmount/optlist-get-value4
-rw-r--r--tests/expected/libmount/optlist-prepend4
-rw-r--r--tests/expected/libmount/optlist-prepend-empty-value4
-rw-r--r--tests/expected/libmount/optlist-prepend-list6
-rw-r--r--tests/expected/libmount/optlist-prepend-value4
-rw-r--r--tests/expected/libmount/optlist-remove12
-rw-r--r--tests/expected/libmount/optlist-remove-empty-value12
-rw-r--r--tests/expected/libmount/optlist-remove-quoted12
-rw-r--r--tests/expected/libmount/optlist-remove-value12
-rw-r--r--tests/expected/libmount/optlist-set4
-rw-r--r--tests/expected/libmount/optlist-set-empty1
-rw-r--r--tests/expected/libmount/optlist-set-large1
-rw-r--r--tests/expected/libmount/optlist-set-new1
-rw-r--r--tests/expected/libmount/optlist-set-new-empty1
-rw-r--r--tests/expected/libmount/optlist-set-new-end1
-rw-r--r--tests/expected/libmount/optlist-set-new-end-empty1
-rw-r--r--tests/expected/libmount/optlist-set-remove1
-rw-r--r--tests/expected/libmount/optlist-set-small1
-rw-r--r--tests/expected/libmount/optstr-prepend-list1
-rw-r--r--tests/expected/libsmartcols/continuous-json40
-rw-r--r--tests/expected/libsmartcols/filter1
-rw-r--r--tests/expected/libsmartcols/filter-bool-and7
-rw-r--r--tests/expected/libsmartcols/filter-bool-as-string2
-rw-r--r--tests/expected/libsmartcols/filter-bool-as-string22
-rw-r--r--tests/expected/libsmartcols/filter-bool-eq-false8
-rw-r--r--tests/expected/libsmartcols/filter-bool-eq-false28
-rw-r--r--tests/expected/libsmartcols/filter-bool-eq-false39
-rw-r--r--tests/expected/libsmartcols/filter-bool-eq-true7
-rw-r--r--tests/expected/libsmartcols/filter-bool-eq-true27
-rw-r--r--tests/expected/libsmartcols/filter-bool-eq-true37
-rw-r--r--tests/expected/libsmartcols/filter-bool-is7
-rw-r--r--tests/expected/libsmartcols/filter-bool-ne7
-rw-r--r--tests/expected/libsmartcols/filter-bool-ne28
-rw-r--r--tests/expected/libsmartcols/filter-bool-neg9
-rw-r--r--tests/expected/libsmartcols/filter-bool-or13
-rw-r--r--tests/expected/libsmartcols/filter-broken-bad-column4
-rw-r--r--tests/expected/libsmartcols/filter-broken-bad-float3
-rw-r--r--tests/expected/libsmartcols/filter-broken-bad-number3
-rw-r--r--tests/expected/libsmartcols/filter-broken-bad-oper3
-rw-r--r--tests/expected/libsmartcols/filter-broken-bad-oper23
-rw-r--r--tests/expected/libsmartcols/filter-broken-no-close3
-rw-r--r--tests/expected/libsmartcols/filter-broken-no-column3
-rw-r--r--tests/expected/libsmartcols/filter-broken-no-param3
-rw-r--r--tests/expected/libsmartcols/filter-broken-no-start3
-rw-r--r--tests/expected/libsmartcols/filter-float-and12
-rw-r--r--tests/expected/libsmartcols/filter-float-as-string4
-rw-r--r--tests/expected/libsmartcols/filter-float-as-string24
-rw-r--r--tests/expected/libsmartcols/filter-float-eq4
-rw-r--r--tests/expected/libsmartcols/filter-float-eq24
-rw-r--r--tests/expected/libsmartcols/filter-float-ge11
-rw-r--r--tests/expected/libsmartcols/filter-float-ge210
-rw-r--r--tests/expected/libsmartcols/filter-float-gt6
-rw-r--r--tests/expected/libsmartcols/filter-float-gt25
-rw-r--r--tests/expected/libsmartcols/filter-float-is12
-rw-r--r--tests/expected/libsmartcols/filter-float-le6
-rw-r--r--tests/expected/libsmartcols/filter-float-le27
-rw-r--r--tests/expected/libsmartcols/filter-float-lt5
-rw-r--r--tests/expected/libsmartcols/filter-float-lt26
-rw-r--r--tests/expected/libsmartcols/filter-float-ne12
-rw-r--r--tests/expected/libsmartcols/filter-float-ne212
-rw-r--r--tests/expected/libsmartcols/filter-float-neg4
-rw-r--r--tests/expected/libsmartcols/filter-float-or13
-rw-r--r--tests/expected/libsmartcols/filter-number-and12
-rw-r--r--tests/expected/libsmartcols/filter-number-and-or7
-rw-r--r--tests/expected/libsmartcols/filter-number-as-string4
-rw-r--r--tests/expected/libsmartcols/filter-number-eq4
-rw-r--r--tests/expected/libsmartcols/filter-number-expr-and-expr7
-rw-r--r--tests/expected/libsmartcols/filter-number-expr-or-expr5
-rw-r--r--tests/expected/libsmartcols/filter-number-ge10
-rw-r--r--tests/expected/libsmartcols/filter-number-gt7
-rw-r--r--tests/expected/libsmartcols/filter-number-is12
-rw-r--r--tests/expected/libsmartcols/filter-number-le7
-rw-r--r--tests/expected/libsmartcols/filter-number-lt6
-rw-r--r--tests/expected/libsmartcols/filter-number-ne12
-rw-r--r--tests/expected/libsmartcols/filter-number-neg4
-rw-r--r--tests/expected/libsmartcols/filter-number-or13
-rw-r--r--tests/expected/libsmartcols/filter-string-eq4
-rw-r--r--tests/expected/libsmartcols/filter-string-ge12
-rw-r--r--tests/expected/libsmartcols/filter-string-gt11
-rw-r--r--tests/expected/libsmartcols/filter-string-is13
-rw-r--r--tests/expected/libsmartcols/filter-string-le5
-rw-r--r--tests/expected/libsmartcols/filter-string-lt4
-rw-r--r--tests/expected/libsmartcols/filter-string-ne12
-rw-r--r--tests/expected/libsmartcols/filter-string-neg2
-rw-r--r--tests/expected/libsmartcols/filter-string-nreg12
-rw-r--r--tests/expected/libsmartcols/filter-string-reg4
-rw-r--r--tests/expected/libsmartcols/fromfile-tree-json20
-rw-r--r--tests/expected/libsmartcols/fromfile-wrapzero19
-rw-r--r--tests/expected/libsmartcols/fromfile-wrapzero-tree19
-rw-r--r--tests/expected/lscpu/lscpu-rv64-linux19
-rw-r--r--tests/expected/lscpu/lscpu-rv64-visionfive233
-rw-r--r--tests/expected/lsfd/column-ainodeclass-inotify2
-rw-r--r--tests/expected/lsfd/column-ainodeclass-pidfd2
-rw-r--r--tests/expected/lsfd/column-deleted-make-regular-file2
-rw-r--r--tests/expected/lsfd/column-deleted-ro-regular-file2
-rw-r--r--tests/expected/lsfd/column-name-deleted-file2
-rw-r--r--tests/expected/lsfd/column-name-pidfd2
-rw-r--r--tests/expected/lsfd/column-name-ro-regular-file2
-rw-r--r--tests/expected/lsfd/column-name-socketpair2
-rw-r--r--tests/expected/lsfd/column-source-namespace-ASSOC7
-rw-r--r--tests/expected/lsfd/column-source-with-root-SysVIPC-shmem2
-rw-r--r--tests/expected/lsfd/column-type-inotify2
-rw-r--r--tests/expected/lsfd/column-type-pidfd2
-rw-r--r--tests/expected/lsfd/column-type-ro-regular-file2
-rw-r--r--tests/expected/lsfd/column-type-socketpair2
-rw-r--r--tests/expected/lsfd/column-xmode-MODE-r-bit2
-rw-r--r--tests/expected/lsfd/column-xmode-MODE-w-bit2
-rw-r--r--tests/expected/lsfd/column-xmode-MODE-x-bit2
-rw-r--r--tests/expected/lsfd/column-xmode-XMODE-D-bit2
-rw-r--r--tests/expected/lsfd/column-xmode-XMODE-L-bit-flock-ex2
-rw-r--r--tests/expected/lsfd/column-xmode-XMODE-L-bit-lease-w2
-rw-r--r--tests/expected/lsfd/column-xmode-XMODE-L-bit-ofd--w2
-rw-r--r--tests/expected/lsfd/column-xmode-XMODE-L-bit-ofd-rw2
-rw-r--r--tests/expected/lsfd/column-xmode-XMODE-L-bit-posix--w2
-rw-r--r--tests/expected/lsfd/column-xmode-XMODE-L-bit-posix-rw2
-rw-r--r--tests/expected/lsfd/column-xmode-XMODE-l-bit-flock-sh2
-rw-r--r--tests/expected/lsfd/column-xmode-XMODE-l-bit-lease-r2
-rw-r--r--tests/expected/lsfd/column-xmode-XMODE-l-bit-ofd-r-2
-rw-r--r--tests/expected/lsfd/column-xmode-XMODE-l-bit-posix-r-2
-rw-r--r--tests/expected/lsfd/column-xmode-XMODE-m-bit3
-rw-r--r--tests/expected/lsfd/column-xmode-XMODE-r-bit2
-rw-r--r--tests/expected/lsfd/column-xmode-XMODE-w-bit2
-rw-r--r--tests/expected/lsfd/column-xmode-XMODE-x-bit2
-rw-r--r--tests/expected/lsfd/filter-broken-exp4
-rw-r--r--tests/expected/lsfd/filter-floating-point-nums15
-rw-r--r--tests/expected/lsfd/mkfds-bpf-map2
-rw-r--r--tests/expected/lsfd/mkfds-bpf-prog2
-rw-r--r--tests/expected/lsfd/mkfds-cdev-tun4
-rw-r--r--tests/expected/lsfd/mkfds-directory2
-rw-r--r--tests/expected/lsfd/mkfds-eventfd12
-rw-r--r--tests/expected/lsfd/mkfds-eventpoll16
-rw-r--r--tests/expected/lsfd/mkfds-inotify4
-rw-r--r--tests/expected/lsfd/mkfds-inotify-btrfs4
-rw-r--r--tests/expected/lsfd/mkfds-mapped-packet-socket8
-rw-r--r--tests/expected/lsfd/mkfds-mqueue8
-rw-r--r--tests/expected/lsfd/mkfds-multiplexing-poll13
-rw-r--r--tests/expected/lsfd/mkfds-multiplexing-ppoll13
-rw-r--r--tests/expected/lsfd/mkfds-multiplexing-pselect613
-rw-r--r--tests/expected/lsfd/mkfds-multiplexing-select13
-rw-r--r--tests/expected/lsfd/mkfds-netlink-groups2
-rw-r--r--tests/expected/lsfd/mkfds-netlink-protocol2
-rw-r--r--tests/expected/lsfd/mkfds-netns2
-rw-r--r--tests/expected/lsfd/mkfds-pidfd2
-rw-r--r--tests/expected/lsfd/mkfds-ping-ping4
-rw-r--r--tests/expected/lsfd/mkfds-ping-ping64
-rw-r--r--tests/expected/lsfd/mkfds-pipe-no-fork4
-rw-r--r--tests/expected/lsfd/mkfds-pty10
-rw-r--r--tests/expected/lsfd/mkfds-raw2
-rw-r--r--tests/expected/lsfd/mkfds-raw62
-rw-r--r--tests/expected/lsfd/mkfds-ro-block-device2
-rw-r--r--tests/expected/lsfd/mkfds-ro-regular-file2
-rw-r--r--tests/expected/lsfd/mkfds-rw-character-device2
-rw-r--r--tests/expected/lsfd/mkfds-signalfd2
-rw-r--r--tests/expected/lsfd/mkfds-socketpair3
-rw-r--r--tests/expected/lsfd/mkfds-socketpair-DGRAM3
-rw-r--r--tests/expected/lsfd/mkfds-socketpair-STREAM3
-rw-r--r--tests/expected/lsfd/mkfds-socketpair-STREAM-ENDPOINT3
-rw-r--r--tests/expected/lsfd/mkfds-socketpair-STREAM-ENDPOINT-halfclose3
-rw-r--r--tests/expected/lsfd/mkfds-socketpair-STREAM-SHUTDOWN-STATE3
-rw-r--r--tests/expected/lsfd/mkfds-symlink2
-rw-r--r--tests/expected/lsfd/mkfds-tcp6
-rw-r--r--tests/expected/lsfd/mkfds-tcp66
-rw-r--r--tests/expected/lsfd/mkfds-timerfd0
-rw-r--r--tests/expected/lsfd/mkfds-timerfd-alarm16
-rw-r--r--tests/expected/lsfd/mkfds-timerfd-boottime-interval-only8
-rw-r--r--tests/expected/lsfd/mkfds-timerfd-monotonic-remaining-only8
-rw-r--r--tests/expected/lsfd/mkfds-timerfd-realtime-remaining-and-interval8
-rw-r--r--tests/expected/lsfd/mkfds-udp24
-rw-r--r--tests/expected/lsfd/mkfds-udp624
-rw-r--r--tests/expected/lsfd/mkfds-unix-dgram8
-rw-r--r--tests/expected/lsfd/mkfds-unix-in-netns-dgram4
-rw-r--r--tests/expected/lsfd/mkfds-unix-in-netns-seqpacket4
-rw-r--r--tests/expected/lsfd/mkfds-unix-in-netns-stream4
-rw-r--r--tests/expected/lsfd/mkfds-unix-stream48
-rw-r--r--tests/expected/lsfd/mkfds-unix-stream-requiring-sockdiag8
-rw-r--r--tests/expected/lsfd/option-filter-broken-exp7
-rw-r--r--tests/expected/lsfd/option-inet80
-rw-r--r--tests/expected/lsfd/option-summary6
-rw-r--r--tests/expected/lslocks/lslocks-flock-ex4
-rw-r--r--tests/expected/lslocks/lslocks-flock-ex+HOLDERS2
-rw-r--r--tests/expected/lslocks/lslocks-flock-sh4
-rw-r--r--tests/expected/lslocks/lslocks-flock-sh+HOLDERS2
-rw-r--r--tests/expected/lslocks/lslocks-lease-w4
-rw-r--r--tests/expected/lslocks/lslocks-lease-w+HOLDERS2
-rw-r--r--tests/expected/lslocks/lslocks-ofd--w4
-rw-r--r--tests/expected/lslocks/lslocks-ofd--w+HOLDERS2
-rw-r--r--tests/expected/lslocks/lslocks-ofd-r-4
-rw-r--r--tests/expected/lslocks/lslocks-ofd-r-+HOLDERS2
-rw-r--r--tests/expected/lslocks/lslocks-ofd-rw6
-rw-r--r--tests/expected/lslocks/lslocks-ofd-rw+HOLDERS3
-rw-r--r--tests/expected/lslocks/lslocks-posix--w4
-rw-r--r--tests/expected/lslocks/lslocks-posix-r-4
-rw-r--r--tests/expected/lslocks/lslocks-posix-rw6
-rw-r--r--tests/expected/misc/boilerplate-exec1
-rw-r--r--tests/expected/misc/boilerplate-help24
-rw-r--r--tests/expected/misc/enosys-basic4
-rw-r--r--tests/expected/misc/enosys-exec1
-rw-r--r--tests/expected/misc/enosys-ioctl5
-rw-r--r--tests/expected/misc/lsclocks-basic10
-rw-r--r--tests/expected/misc/lsclocks-cpu1
-rw-r--r--tests/expected/misc/lsclocks-dynamic1
-rw-r--r--tests/expected/misc/lsclocks-rtc1
-rw-r--r--tests/expected/misc/lsclocks-time1
-rw-r--r--tests/expected/misc/setpgid2
-rw-r--r--tests/expected/misc/time_t1
-rw-r--r--tests/expected/mount/special-missing-options1
-rw-r--r--tests/expected/rename/basic1
-rw-r--r--tests/expected/schedutils/chrt-deadline6
-rw-r--r--tests/expected/setpriv/landlock-nothing-allowed1
-rw-r--r--tests/expected/setpriv/landlock-partial-access-fail1
-rw-r--r--tests/expected/utmp/utmpdump-subsecond2
-rw-r--r--tests/expected/wipefs/signatures-bcachefs3
284 files changed, 3992 insertions, 317 deletions
diff --git a/tests/expected/mount/special b/libsmartcols/src/filter-parser.stamp
index e69de29..e69de29 100644
--- a/tests/expected/mount/special
+++ b/libsmartcols/src/filter-parser.stamp
diff --git a/tests/expected/blkid/low-probe-bcache-B b/tests/expected/blkid/low-probe-bcache-B
index 7396632..2753678 100644
--- a/tests/expected/blkid/low-probe-bcache-B
+++ b/tests/expected/blkid/low-probe-bcache-B
@@ -1,4 +1,6 @@
+ID_FS_BLOCK_SIZE=4096
ID_FS_TYPE=bcache
ID_FS_USAGE=other
ID_FS_UUID=8fb7f716-4c19-4517-bfbb-6f4a2becad60
ID_FS_UUID_ENC=8fb7f716-4c19-4517-bfbb-6f4a2becad60
+ID_FS_VERSION=1
diff --git a/tests/expected/blkid/low-probe-bcache-C b/tests/expected/blkid/low-probe-bcache-C
index b3c5f88..da4b314 100644
--- a/tests/expected/blkid/low-probe-bcache-C
+++ b/tests/expected/blkid/low-probe-bcache-C
@@ -1,4 +1,6 @@
+ID_FS_BLOCK_SIZE=4096
ID_FS_TYPE=bcache
ID_FS_USAGE=other
ID_FS_UUID=7a343627-ac87-4bf0-b76f-46067cbc9b8c
ID_FS_UUID_ENC=7a343627-ac87-4bf0-b76f-46067cbc9b8c
+ID_FS_VERSION=0
diff --git a/tests/expected/blkid/low-probe-bcache-journal b/tests/expected/blkid/low-probe-bcache-journal
index c46ba22..cfff870 100644
--- a/tests/expected/blkid/low-probe-bcache-journal
+++ b/tests/expected/blkid/low-probe-bcache-journal
@@ -1,4 +1,8 @@
+ID_FS_BLOCK_SIZE=4096
+ID_FS_LABEL=journal-cache
+ID_FS_LABEL_ENC=journal-cache
ID_FS_TYPE=bcache
ID_FS_USAGE=other
ID_FS_UUID=fc6ea56f-372e-474e-bc5b-2ddc8430ddd1
ID_FS_UUID_ENC=fc6ea56f-372e-474e-bc5b-2ddc8430ddd1
+ID_FS_VERSION=3
diff --git a/tests/expected/blkid/low-probe-swap-luks b/tests/expected/blkid/low-probe-swap-luks
new file mode 100644
index 0000000..97cd5de
--- /dev/null
+++ b/tests/expected/blkid/low-probe-swap-luks
@@ -0,0 +1,8 @@
+ID_FS_ENDIANNESS=LITTLE
+ID_FS_FSBLOCKSIZE=4096
+ID_FS_FSSIZE=258048
+ID_FS_TYPE=swap
+ID_FS_USAGE=other
+ID_FS_UUID=0eb5f96f-188d-4d61-9e9c-d89ce8206846
+ID_FS_UUID_ENC=0eb5f96f-188d-4d61-9e9c-d89ce8206846
+ID_FS_VERSION=1
diff --git a/tests/expected/blkid/low-probe-vxfs-be b/tests/expected/blkid/low-probe-vxfs-be
new file mode 100644
index 0000000..bede9b6
--- /dev/null
+++ b/tests/expected/blkid/low-probe-vxfs-be
@@ -0,0 +1,6 @@
+ID_FS_BLOCK_SIZE=512
+ID_FS_ENDIANNESS=BIG
+ID_FS_FSBLOCKSIZE=512
+ID_FS_TYPE=vxfs
+ID_FS_USAGE=filesystem
+ID_FS_VERSION=3
diff --git a/tests/expected/blkid/low-probe-vxfs-le b/tests/expected/blkid/low-probe-vxfs-le
new file mode 100644
index 0000000..ba29986
--- /dev/null
+++ b/tests/expected/blkid/low-probe-vxfs-le
@@ -0,0 +1,6 @@
+ID_FS_BLOCK_SIZE=512
+ID_FS_ENDIANNESS=LITTLE
+ID_FS_FSBLOCKSIZE=512
+ID_FS_TYPE=vxfs
+ID_FS_USAGE=filesystem
+ID_FS_VERSION=3
diff --git a/tests/expected/build-sys/config-all b/tests/expected/build-sys/config-all
index 0574f23..88b6e06 100644
--- a/tests/expected/build-sys/config-all
+++ b/tests/expected/build-sys/config-all
@@ -10,13 +10,16 @@ findmnt: libblkid libmount libsmartcols libudev
fsck: libblkid libmount
fstrim: libmount
irqtop: libncursesw libsmartcols libtinfo
+lastlog2: liblastlog2
libblkid.so.1.1.0:
libfdisk.so.1.1.0: libblkid libuuid
+liblastlog2.so.2.0.0: libsqlite3
libmount.so.1.1.0: libblkid
libsmartcols.so.1.1.0:
libuuid.so.1.3.0:
losetup: libsmartcols
-lsblk: libblkid libmount libsmartcols libudev
+lsblk: libblkid libmount libsmartcols libtinfo libudev
+lsclocks: libsmartcols
lscpu: libsmartcols
lsfd: libsmartcols
lsipc: libsmartcols
@@ -28,6 +31,7 @@ lsns: libmount libsmartcols
mkswap: libblkid libuuid
mount: libmount
mountpoint: libmount
+pam_lastlog2.so:
partx: libblkid libsmartcols
prlimit: libsmartcols
pylibmount.so: libblkid libmount
@@ -44,7 +48,7 @@ wdctl: libsmartcols
wipefs: libblkid libsmartcols
zramctl: libsmartcols
addpart:
-agetty:
+agetty: libsystemd
blkpr:
blkzone:
blockdev:
@@ -61,6 +65,8 @@ colrm:
ctrlaltdel:
delpart:
dmesg: libtinfo
+enosys:
+exch:
fadvise:
fallocate:
fdformat:
@@ -109,6 +115,7 @@ script:
scriptlive:
scriptreplay:
setarch:
+setpgid:
setpriv: libcap-ng
setsid:
setterm: libtinfo
@@ -123,6 +130,6 @@ unshare:
utmpdump:
vipw:
waitpid:
-wall:
+wall: libsystemd
whereis:
-write:
+write: libsystemd
diff --git a/tests/expected/build-sys/config-all-devel b/tests/expected/build-sys/config-all-devel
index 3e9a720..da9afc1 100644
--- a/tests/expected/build-sys/config-all-devel
+++ b/tests/expected/build-sys/config-all-devel
@@ -89,6 +89,7 @@ readprofile:
renice:
rtcwake:
setarch:
+setpgid:
setsid:
switch_root:
tunelp:
diff --git a/tests/expected/build-sys/config-all-non-nls b/tests/expected/build-sys/config-all-non-nls
index 0574f23..88b6e06 100644
--- a/tests/expected/build-sys/config-all-non-nls
+++ b/tests/expected/build-sys/config-all-non-nls
@@ -10,13 +10,16 @@ findmnt: libblkid libmount libsmartcols libudev
fsck: libblkid libmount
fstrim: libmount
irqtop: libncursesw libsmartcols libtinfo
+lastlog2: liblastlog2
libblkid.so.1.1.0:
libfdisk.so.1.1.0: libblkid libuuid
+liblastlog2.so.2.0.0: libsqlite3
libmount.so.1.1.0: libblkid
libsmartcols.so.1.1.0:
libuuid.so.1.3.0:
losetup: libsmartcols
-lsblk: libblkid libmount libsmartcols libudev
+lsblk: libblkid libmount libsmartcols libtinfo libudev
+lsclocks: libsmartcols
lscpu: libsmartcols
lsfd: libsmartcols
lsipc: libsmartcols
@@ -28,6 +31,7 @@ lsns: libmount libsmartcols
mkswap: libblkid libuuid
mount: libmount
mountpoint: libmount
+pam_lastlog2.so:
partx: libblkid libsmartcols
prlimit: libsmartcols
pylibmount.so: libblkid libmount
@@ -44,7 +48,7 @@ wdctl: libsmartcols
wipefs: libblkid libsmartcols
zramctl: libsmartcols
addpart:
-agetty:
+agetty: libsystemd
blkpr:
blkzone:
blockdev:
@@ -61,6 +65,8 @@ colrm:
ctrlaltdel:
delpart:
dmesg: libtinfo
+enosys:
+exch:
fadvise:
fallocate:
fdformat:
@@ -109,6 +115,7 @@ script:
scriptlive:
scriptreplay:
setarch:
+setpgid:
setpriv: libcap-ng
setsid:
setterm: libtinfo
@@ -123,6 +130,6 @@ unshare:
utmpdump:
vipw:
waitpid:
-wall:
+wall: libsystemd
whereis:
-write:
+write: libsystemd
diff --git a/tests/expected/build-sys/config-audit b/tests/expected/build-sys/config-audit
index bdcd087..749a35b 100644
--- a/tests/expected/build-sys/config-audit
+++ b/tests/expected/build-sys/config-audit
@@ -10,13 +10,16 @@ findmnt: libblkid libmount libsmartcols libudev
fsck: libblkid libmount
fstrim: libmount
irqtop: libncursesw libsmartcols libtinfo
+lastlog2: liblastlog2
libblkid.so.1.1.0:
libfdisk.so.1.1.0: libblkid libuuid
+liblastlog2.so.2.0.0: libsqlite3
libmount.so.1.1.0: libblkid
libsmartcols.so.1.1.0:
libuuid.so.1.3.0:
losetup: libsmartcols
-lsblk: libblkid libmount libsmartcols libudev
+lsblk: libblkid libmount libsmartcols libtinfo libudev
+lsclocks: libsmartcols
lscpu: libsmartcols
lsfd: libsmartcols
lsipc: libsmartcols
@@ -28,6 +31,7 @@ lsns: libmount libsmartcols
mkswap: libblkid libuuid
mount: libmount
mountpoint: libmount
+pam_lastlog2.so:
partx: libblkid libsmartcols
prlimit: libsmartcols
pylibmount.so: libblkid libmount
@@ -44,7 +48,7 @@ wdctl: libsmartcols
wipefs: libblkid libsmartcols
zramctl: libsmartcols
addpart:
-agetty:
+agetty: libsystemd
blkpr:
blkzone:
blockdev:
@@ -61,6 +65,8 @@ colrm:
ctrlaltdel:
delpart:
dmesg: libtinfo
+enosys:
+exch:
fadvise:
fallocate:
flock:
@@ -105,6 +111,7 @@ script:
scriptlive:
scriptreplay:
setarch:
+setpgid:
setpriv: libcap-ng
setsid:
setterm: libtinfo
@@ -117,5 +124,5 @@ ul: libtinfo
unshare:
utmpdump:
waitpid:
-wall:
+wall: libsystemd
whereis:
diff --git a/tests/expected/build-sys/config-chfnsh-libuser b/tests/expected/build-sys/config-chfnsh-libuser
index 97e1ae6..238c150 100644
--- a/tests/expected/build-sys/config-chfnsh-libuser
+++ b/tests/expected/build-sys/config-chfnsh-libuser
@@ -10,13 +10,16 @@ findmnt: libblkid libmount libsmartcols libudev
fsck: libblkid libmount
fstrim: libmount
irqtop: libncursesw libsmartcols libtinfo
+lastlog2: liblastlog2
libblkid.so.1.1.0:
libfdisk.so.1.1.0: libblkid libuuid
+liblastlog2.so.2.0.0: libsqlite3
libmount.so.1.1.0: libblkid libselinux
libsmartcols.so.1.1.0:
libuuid.so.1.3.0:
losetup: libsmartcols
-lsblk: libblkid libmount libsmartcols libudev
+lsblk: libblkid libmount libsmartcols libtinfo libudev
+lsclocks: libsmartcols
lscpu: libsmartcols
lsfd: libsmartcols
lsipc: libsmartcols
@@ -28,6 +31,7 @@ lsns: libmount libsmartcols
mkswap: libblkid libselinux libuuid
mount: libmount libselinux
mountpoint: libmount
+pam_lastlog2.so:
partx: libblkid libsmartcols
prlimit: libsmartcols
pylibmount.so: libblkid libmount libselinux
@@ -44,7 +48,7 @@ wdctl: libsmartcols
wipefs: libblkid libsmartcols
zramctl: libsmartcols
addpart:
-agetty:
+agetty: libsystemd
blkpr:
blkzone:
blockdev:
@@ -61,6 +65,8 @@ colrm:
ctrlaltdel:
delpart:
dmesg: libtinfo
+enosys:
+exch:
fadvise:
fallocate:
flock:
@@ -105,6 +111,7 @@ script:
scriptlive:
scriptreplay:
setarch:
+setpgid:
setpriv: libcap-ng
setsid:
setterm: libtinfo
@@ -117,5 +124,5 @@ ul: libtinfo
unshare:
utmpdump:
waitpid:
-wall:
+wall: libsystemd
whereis:
diff --git a/tests/expected/build-sys/config-chfnsh-no-password b/tests/expected/build-sys/config-chfnsh-no-password
index 734113e..41bd6c5 100644
--- a/tests/expected/build-sys/config-chfnsh-no-password
+++ b/tests/expected/build-sys/config-chfnsh-no-password
@@ -10,13 +10,16 @@ findmnt: libblkid libmount libsmartcols libudev
fsck: libblkid libmount
fstrim: libmount
irqtop: libncursesw libsmartcols libtinfo
+lastlog2: liblastlog2
libblkid.so.1.1.0:
libfdisk.so.1.1.0: libblkid libuuid
+liblastlog2.so.2.0.0: libsqlite3
libmount.so.1.1.0: libblkid libselinux
libsmartcols.so.1.1.0:
libuuid.so.1.3.0:
losetup: libsmartcols
-lsblk: libblkid libmount libsmartcols libudev
+lsblk: libblkid libmount libsmartcols libtinfo libudev
+lsclocks: libsmartcols
lscpu: libsmartcols
lsfd: libsmartcols
lsipc: libsmartcols
@@ -28,6 +31,7 @@ lsns: libmount libsmartcols
mkswap: libblkid libselinux libuuid
mount: libmount libselinux
mountpoint: libmount
+pam_lastlog2.so:
partx: libblkid libsmartcols
prlimit: libsmartcols
pylibmount.so: libblkid libmount libselinux
@@ -44,7 +48,7 @@ wdctl: libsmartcols
wipefs: libblkid libsmartcols
zramctl: libsmartcols
addpart:
-agetty:
+agetty: libsystemd
blkpr:
blkzone:
blockdev:
@@ -61,6 +65,8 @@ colrm:
ctrlaltdel:
delpart:
dmesg: libtinfo
+enosys:
+exch:
fadvise:
fallocate:
flock:
@@ -105,6 +111,7 @@ script:
scriptlive:
scriptreplay:
setarch:
+setpgid:
setpriv: libcap-ng
setsid:
setterm: libtinfo
@@ -117,5 +124,5 @@ ul: libtinfo
unshare:
utmpdump:
waitpid:
-wall:
+wall: libsystemd
whereis:
diff --git a/tests/expected/build-sys/config-chfnsh-pam b/tests/expected/build-sys/config-chfnsh-pam
index 532013c..17cd06c 100644
--- a/tests/expected/build-sys/config-chfnsh-pam
+++ b/tests/expected/build-sys/config-chfnsh-pam
@@ -10,13 +10,16 @@ findmnt: libblkid libmount libsmartcols libudev
fsck: libblkid libmount
fstrim: libmount
irqtop: libncursesw libsmartcols libtinfo
+lastlog2: liblastlog2
libblkid.so.1.1.0:
libfdisk.so.1.1.0: libblkid libuuid
+liblastlog2.so.2.0.0: libsqlite3
libmount.so.1.1.0: libblkid libselinux
libsmartcols.so.1.1.0:
libuuid.so.1.3.0:
losetup: libsmartcols
-lsblk: libblkid libmount libsmartcols libudev
+lsblk: libblkid libmount libsmartcols libtinfo libudev
+lsclocks: libsmartcols
lscpu: libsmartcols
lsfd: libsmartcols
lsipc: libsmartcols
@@ -28,6 +31,7 @@ lsns: libmount libsmartcols
mkswap: libblkid libselinux libuuid
mount: libmount libselinux
mountpoint: libmount
+pam_lastlog2.so:
partx: libblkid libsmartcols
prlimit: libsmartcols
pylibmount.so: libblkid libmount libselinux
@@ -44,7 +48,7 @@ wdctl: libsmartcols
wipefs: libblkid libsmartcols
zramctl: libsmartcols
addpart:
-agetty:
+agetty: libsystemd
blkpr:
blkzone:
blockdev:
@@ -61,6 +65,8 @@ colrm:
ctrlaltdel:
delpart:
dmesg: libtinfo
+enosys:
+exch:
fadvise:
fallocate:
flock:
@@ -105,6 +111,7 @@ script:
scriptlive:
scriptreplay:
setarch:
+setpgid:
setpriv: libcap-ng
setsid:
setterm: libtinfo
@@ -117,5 +124,5 @@ ul: libtinfo
unshare:
utmpdump:
waitpid:
-wall:
+wall: libsystemd
whereis:
diff --git a/tests/expected/build-sys/config-core b/tests/expected/build-sys/config-core
index a20517c..bb4ac01 100644
--- a/tests/expected/build-sys/config-core
+++ b/tests/expected/build-sys/config-core
@@ -10,13 +10,16 @@ findmnt: libblkid libmount libsmartcols libudev
fsck: libblkid libmount
fstrim: libmount
irqtop: libncursesw libsmartcols libtinfo
+lastlog2: liblastlog2
libblkid.so.1.1.0:
libfdisk.so.1.1.0: libblkid libuuid
+liblastlog2.so.2.0.0: libsqlite3
libmount.so.1.1.0: libblkid
libsmartcols.so.1.1.0:
libuuid.so.1.3.0:
losetup: libsmartcols
-lsblk: libblkid libmount libsmartcols libudev
+lsblk: libblkid libmount libsmartcols libtinfo libudev
+lsclocks: libsmartcols
lscpu: libsmartcols
lsfd: libsmartcols
lsipc: libsmartcols
@@ -28,6 +31,7 @@ lsns: libmount libsmartcols
mkswap: libblkid libuuid
mount: libmount
mountpoint: libmount
+pam_lastlog2.so:
partx: libblkid libsmartcols
prlimit: libsmartcols
pylibmount.so: libblkid libmount
@@ -44,7 +48,7 @@ wdctl: libsmartcols
wipefs: libblkid libsmartcols
zramctl: libsmartcols
addpart:
-agetty:
+agetty: libsystemd
blkpr:
blkzone:
blockdev:
@@ -61,6 +65,8 @@ colrm:
ctrlaltdel:
delpart:
dmesg: libtinfo
+enosys:
+exch:
fadvise:
fallocate:
flock:
@@ -105,6 +111,7 @@ script:
scriptlive:
scriptreplay:
setarch:
+setpgid:
setpriv: libcap-ng
setsid:
setterm: libtinfo
@@ -117,5 +124,5 @@ ul: libtinfo
unshare:
utmpdump:
waitpid:
-wall:
+wall: libsystemd
whereis:
diff --git a/tests/expected/build-sys/config-cryptsetup b/tests/expected/build-sys/config-cryptsetup
index c4aae45..b21174e 100644
--- a/tests/expected/build-sys/config-cryptsetup
+++ b/tests/expected/build-sys/config-cryptsetup
@@ -10,13 +10,16 @@ findmnt: libblkid libmount libsmartcols libudev
fsck: libblkid libmount
fstrim: libmount
irqtop: libncursesw libsmartcols libtinfo
+lastlog2: liblastlog2
libblkid.so.1.1.0:
libfdisk.so.1.1.0: libblkid libuuid
+liblastlog2.so.2.0.0: libsqlite3
libmount.so.1.1.0: libblkid libcryptsetup
libsmartcols.so.1.1.0:
libuuid.so.1.3.0:
losetup: libsmartcols
-lsblk: libblkid libmount libsmartcols libudev
+lsblk: libblkid libmount libsmartcols libtinfo libudev
+lsclocks: libsmartcols
lscpu: libsmartcols
lsfd: libsmartcols
lsipc: libsmartcols
@@ -28,6 +31,7 @@ lsns: libmount libsmartcols
mkswap: libblkid libuuid
mount: libmount
mountpoint: libmount
+pam_lastlog2.so:
partx: libblkid libsmartcols
prlimit: libsmartcols
pylibmount.so: libblkid libcryptsetup libmount
@@ -44,7 +48,7 @@ wdctl: libsmartcols
wipefs: libblkid libsmartcols
zramctl: libsmartcols
addpart:
-agetty:
+agetty: libsystemd
blkpr:
blkzone:
blockdev:
@@ -61,6 +65,8 @@ colrm:
ctrlaltdel:
delpart:
dmesg: libtinfo
+enosys:
+exch:
fadvise:
fallocate:
fdformat:
@@ -109,6 +115,7 @@ script:
scriptlive:
scriptreplay:
setarch:
+setpgid:
setpriv: libcap-ng
setsid:
setterm: libtinfo
@@ -123,6 +130,6 @@ unshare:
utmpdump:
vipw:
waitpid:
-wall:
+wall: libsystemd
whereis:
-write:
+write: libsystemd
diff --git a/tests/expected/build-sys/config-devel b/tests/expected/build-sys/config-devel
index 5682413..4b44616 100644
--- a/tests/expected/build-sys/config-devel
+++ b/tests/expected/build-sys/config-devel
@@ -10,13 +10,16 @@ findmnt: libblkid libmount libsmartcols libudev
fsck: libblkid libmount
fstrim: libmount
irqtop: libncursesw libsmartcols libtinfo
+lastlog2: liblastlog2
libblkid.so.1.1.0:
libfdisk.so.1.1.0: libblkid libuuid
+liblastlog2.so.2.0.0: libsqlite3
libmount.so.1.1.0: libblkid libselinux
libsmartcols.so.1.1.0:
libuuid.so.1.3.0:
losetup: libsmartcols
-lsblk: libblkid libmount libsmartcols libudev
+lsblk: libblkid libmount libsmartcols libtinfo libudev
+lsclocks: libsmartcols
lscpu: libsmartcols
lsfd: libsmartcols
lsipc: libsmartcols
@@ -28,6 +31,7 @@ lsns: libmount libsmartcols
mkswap: libblkid libselinux libuuid
mount: libmount libselinux
mountpoint: libmount
+pam_lastlog2.so:
partx: libblkid libsmartcols
prlimit: libsmartcols
pylibmount.so: libblkid libmount libselinux
@@ -44,7 +48,7 @@ wdctl: libsmartcols
wipefs: libblkid libsmartcols
zramctl: libsmartcols
addpart:
-agetty:
+agetty: libsystemd
blkpr:
blkzone:
blockdev:
@@ -61,6 +65,8 @@ colrm:
ctrlaltdel:
delpart:
dmesg: libtinfo
+enosys:
+exch:
fadvise:
fallocate:
fdformat:
@@ -109,6 +115,7 @@ script: libutempter
scriptlive:
scriptreplay:
setarch:
+setpgid:
setpriv: libcap-ng
setsid:
setterm: libtinfo
@@ -123,6 +130,6 @@ unshare:
utmpdump:
vipw: libselinux
waitpid:
-wall:
+wall: libsystemd
whereis:
-write:
+write: libsystemd
diff --git a/tests/expected/build-sys/config-devel-new-mount b/tests/expected/build-sys/config-devel-new-mount
index 9ac8272..8befe4c 100644
--- a/tests/expected/build-sys/config-devel-new-mount
+++ b/tests/expected/build-sys/config-devel-new-mount
@@ -94,6 +94,7 @@ readprofile:
renice:
rtcwake:
setarch:
+setpgid:
setsid:
switch_root:
tunelp:
diff --git a/tests/expected/build-sys/config-devel-non-asan b/tests/expected/build-sys/config-devel-non-asan
index 5682413..4b44616 100644
--- a/tests/expected/build-sys/config-devel-non-asan
+++ b/tests/expected/build-sys/config-devel-non-asan
@@ -10,13 +10,16 @@ findmnt: libblkid libmount libsmartcols libudev
fsck: libblkid libmount
fstrim: libmount
irqtop: libncursesw libsmartcols libtinfo
+lastlog2: liblastlog2
libblkid.so.1.1.0:
libfdisk.so.1.1.0: libblkid libuuid
+liblastlog2.so.2.0.0: libsqlite3
libmount.so.1.1.0: libblkid libselinux
libsmartcols.so.1.1.0:
libuuid.so.1.3.0:
losetup: libsmartcols
-lsblk: libblkid libmount libsmartcols libudev
+lsblk: libblkid libmount libsmartcols libtinfo libudev
+lsclocks: libsmartcols
lscpu: libsmartcols
lsfd: libsmartcols
lsipc: libsmartcols
@@ -28,6 +31,7 @@ lsns: libmount libsmartcols
mkswap: libblkid libselinux libuuid
mount: libmount libselinux
mountpoint: libmount
+pam_lastlog2.so:
partx: libblkid libsmartcols
prlimit: libsmartcols
pylibmount.so: libblkid libmount libselinux
@@ -44,7 +48,7 @@ wdctl: libsmartcols
wipefs: libblkid libsmartcols
zramctl: libsmartcols
addpart:
-agetty:
+agetty: libsystemd
blkpr:
blkzone:
blockdev:
@@ -61,6 +65,8 @@ colrm:
ctrlaltdel:
delpart:
dmesg: libtinfo
+enosys:
+exch:
fadvise:
fallocate:
fdformat:
@@ -109,6 +115,7 @@ script: libutempter
scriptlive:
scriptreplay:
setarch:
+setpgid:
setpriv: libcap-ng
setsid:
setterm: libtinfo
@@ -123,6 +130,6 @@ unshare:
utmpdump:
vipw: libselinux
waitpid:
-wall:
+wall: libsystemd
whereis:
-write:
+write: libsystemd
diff --git a/tests/expected/build-sys/config-devel-non-docs b/tests/expected/build-sys/config-devel-non-docs
index 5682413..4b44616 100644
--- a/tests/expected/build-sys/config-devel-non-docs
+++ b/tests/expected/build-sys/config-devel-non-docs
@@ -10,13 +10,16 @@ findmnt: libblkid libmount libsmartcols libudev
fsck: libblkid libmount
fstrim: libmount
irqtop: libncursesw libsmartcols libtinfo
+lastlog2: liblastlog2
libblkid.so.1.1.0:
libfdisk.so.1.1.0: libblkid libuuid
+liblastlog2.so.2.0.0: libsqlite3
libmount.so.1.1.0: libblkid libselinux
libsmartcols.so.1.1.0:
libuuid.so.1.3.0:
losetup: libsmartcols
-lsblk: libblkid libmount libsmartcols libudev
+lsblk: libblkid libmount libsmartcols libtinfo libudev
+lsclocks: libsmartcols
lscpu: libsmartcols
lsfd: libsmartcols
lsipc: libsmartcols
@@ -28,6 +31,7 @@ lsns: libmount libsmartcols
mkswap: libblkid libselinux libuuid
mount: libmount libselinux
mountpoint: libmount
+pam_lastlog2.so:
partx: libblkid libsmartcols
prlimit: libsmartcols
pylibmount.so: libblkid libmount libselinux
@@ -44,7 +48,7 @@ wdctl: libsmartcols
wipefs: libblkid libsmartcols
zramctl: libsmartcols
addpart:
-agetty:
+agetty: libsystemd
blkpr:
blkzone:
blockdev:
@@ -61,6 +65,8 @@ colrm:
ctrlaltdel:
delpart:
dmesg: libtinfo
+enosys:
+exch:
fadvise:
fallocate:
fdformat:
@@ -109,6 +115,7 @@ script: libutempter
scriptlive:
scriptreplay:
setarch:
+setpgid:
setpriv: libcap-ng
setsid:
setterm: libtinfo
@@ -123,6 +130,6 @@ unshare:
utmpdump:
vipw: libselinux
waitpid:
-wall:
+wall: libsystemd
whereis:
-write:
+write: libsystemd
diff --git a/tests/expected/build-sys/config-non-libblkid b/tests/expected/build-sys/config-non-libblkid
index ed38eb5..0cce945 100644
--- a/tests/expected/build-sys/config-non-libblkid
+++ b/tests/expected/build-sys/config-non-libblkid
@@ -3,10 +3,13 @@ column: libsmartcols
fdisk: libfdisk libreadline libsmartcols libtinfo
fincore: libsmartcols
irqtop: libncursesw libsmartcols libtinfo
+lastlog2: liblastlog2
libfdisk.so.1.1.0: libuuid
+liblastlog2.so.2.0.0: libsqlite3
libsmartcols.so.1.1.0:
libuuid.so.1.3.0:
losetup: libsmartcols
+lsclocks: libsmartcols
lscpu: libsmartcols
lsfd: libsmartcols
lsipc: libsmartcols
@@ -14,6 +17,7 @@ lsirq: libsmartcols
lslogins: libsmartcols libsystemd
lsmem: libsmartcols
mkswap: libuuid
+pam_lastlog2.so:
prlimit: libsmartcols
rfkill: libsmartcols
sfdisk: libfdisk libreadline libsmartcols libtinfo
@@ -22,7 +26,7 @@ uuidgen: libuuid
uuidparse: libsmartcols libuuid
wdctl: libsmartcols
zramctl: libsmartcols
-agetty:
+agetty: libsystemd
blkdiscard:
blkpr:
blkzone:
@@ -39,6 +43,8 @@ colcrt:
colrm:
ctrlaltdel:
dmesg: libtinfo
+enosys:
+exch:
fadvise:
fallocate:
flock:
@@ -82,6 +88,7 @@ script:
scriptlive:
scriptreplay:
setarch:
+setpgid:
setpriv: libcap-ng
setsid:
setterm: libtinfo
@@ -94,5 +101,5 @@ ul: libtinfo
unshare:
utmpdump:
waitpid:
-wall:
+wall: libsystemd
whereis:
diff --git a/tests/expected/build-sys/config-non-libmount b/tests/expected/build-sys/config-non-libmount
index 45ff711..ed8895b 100644
--- a/tests/expected/build-sys/config-non-libmount
+++ b/tests/expected/build-sys/config-non-libmount
@@ -6,11 +6,14 @@ fdisk: libfdisk libreadline libsmartcols libtinfo
fincore: libsmartcols
findfs: libblkid
irqtop: libncursesw libsmartcols libtinfo
+lastlog2: liblastlog2
libblkid.so.1.1.0:
libfdisk.so.1.1.0: libblkid libuuid
+liblastlog2.so.2.0.0: libsqlite3
libsmartcols.so.1.1.0:
libuuid.so.1.3.0:
losetup: libsmartcols
+lsclocks: libsmartcols
lscpu: libsmartcols
lsfd: libsmartcols
lsipc: libsmartcols
@@ -18,6 +21,7 @@ lsirq: libsmartcols
lslogins: libsmartcols libsystemd
lsmem: libsmartcols
mkswap: libblkid libuuid
+pam_lastlog2.so:
partx: libblkid libsmartcols
prlimit: libsmartcols
rfkill: libsmartcols
@@ -30,7 +34,7 @@ wdctl: libsmartcols
wipefs: libblkid libsmartcols
zramctl: libsmartcols
addpart:
-agetty:
+agetty: libsystemd
blkpr:
blkzone:
blockdev:
@@ -47,6 +51,8 @@ colrm:
ctrlaltdel:
delpart:
dmesg: libtinfo
+enosys:
+exch:
fadvise:
fallocate:
flock:
@@ -91,6 +97,7 @@ script:
scriptlive:
scriptreplay:
setarch:
+setpgid:
setpriv: libcap-ng
setsid:
setterm: libtinfo
@@ -103,5 +110,5 @@ ul: libtinfo
unshare:
utmpdump:
waitpid:
-wall:
+wall: libsystemd
whereis:
diff --git a/tests/expected/build-sys/config-non-libs b/tests/expected/build-sys/config-non-libs
index b88a6a1..f517ba5 100644
--- a/tests/expected/build-sys/config-non-libs
+++ b/tests/expected/build-sys/config-non-libs
@@ -1,4 +1,7 @@
-agetty:
+lastlog2: liblastlog2
+liblastlog2.so.2.0.0: libsqlite3
+pam_lastlog2.so:
+agetty: libsystemd
blkdiscard:
blkpr:
blkzone:
@@ -15,6 +18,8 @@ colcrt:
colrm:
ctrlaltdel:
dmesg: libtinfo
+enosys:
+exch:
fadvise:
fallocate:
flock:
@@ -59,6 +64,7 @@ script:
scriptlive:
scriptreplay:
setarch:
+setpgid:
setpriv: libcap-ng
setsid:
setterm: libtinfo
@@ -71,5 +77,5 @@ ul: libtinfo
unshare:
utmpdump:
waitpid:
-wall:
+wall: libsystemd
whereis:
diff --git a/tests/expected/build-sys/config-non-libsmartcols b/tests/expected/build-sys/config-non-libsmartcols
index 28ff817..6889c74 100644
--- a/tests/expected/build-sys/config-non-libsmartcols
+++ b/tests/expected/build-sys/config-non-libsmartcols
@@ -1,22 +1,25 @@
blkdiscard: libblkid
blkid: libblkid
-eject: libmount
+eject: libblkid libmount
findfs: libblkid
fsck: libblkid libmount
-fstrim: libmount
+fstrim: libblkid libmount
+lastlog2: liblastlog2 libsqlite3
libblkid.so.1.1.0:
libfdisk.so.1.1.0: libblkid libuuid
+liblastlog2.so.2.0.0: libsqlite3
libmount.so.1.1.0: libblkid
libuuid.so.1.3.0:
mkswap: libblkid libuuid
-mount: libmount
-mountpoint: libmount
+mount: libblkid libmount
+mountpoint: libblkid libmount
+pam_lastlog2.so:
pylibmount.so: libblkid libmount
swaplabel: libblkid libuuid
-umount: libmount
+umount: libblkid libmount
uuidd: libsystemd libuuid
uuidgen: libuuid
-agetty:
+agetty: libsystemd
blkpr:
blkzone:
blockdev:
@@ -32,6 +35,8 @@ colcrt:
colrm:
ctrlaltdel:
dmesg: libtinfo
+enosys:
+exch:
fadvise:
fallocate:
flock:
@@ -75,6 +80,7 @@ script:
scriptlive:
scriptreplay:
setarch:
+setpgid:
setpriv: libcap-ng
setsid:
setterm: libtinfo
@@ -87,5 +93,5 @@ ul: libtinfo
unshare:
utmpdump:
waitpid:
-wall:
+wall: libsystemd
whereis:
diff --git a/tests/expected/build-sys/config-non-libuuid b/tests/expected/build-sys/config-non-libuuid
index 3e5a295..8d19e47 100644
--- a/tests/expected/build-sys/config-non-libuuid
+++ b/tests/expected/build-sys/config-non-libuuid
@@ -8,11 +8,14 @@ findmnt: libblkid libmount libsmartcols libudev
fsck: libblkid libmount
fstrim: libmount
irqtop: libncursesw libsmartcols libtinfo
+lastlog2: liblastlog2
libblkid.so.1.1.0:
+liblastlog2.so.2.0.0: libsqlite3
libmount.so.1.1.0: libblkid
libsmartcols.so.1.1.0:
losetup: libsmartcols
-lsblk: libblkid libmount libsmartcols libudev
+lsblk: libblkid libmount libsmartcols libtinfo libudev
+lsclocks: libsmartcols
lscpu: libsmartcols
lsfd: libsmartcols
lsipc: libsmartcols
@@ -24,6 +27,7 @@ lsns: libmount libsmartcols
mkswap: libblkid
mount: libmount
mountpoint: libmount
+pam_lastlog2.so:
partx: libblkid libsmartcols
prlimit: libsmartcols
pylibmount.so: libblkid libmount
@@ -36,7 +40,7 @@ wdctl: libsmartcols
wipefs: libblkid libsmartcols
zramctl: libsmartcols
addpart:
-agetty:
+agetty: libsystemd
blkpr:
blkzone:
blockdev:
@@ -53,6 +57,8 @@ colrm:
ctrlaltdel:
delpart:
dmesg: libtinfo
+enosys:
+exch:
fadvise:
fallocate:
flock:
@@ -97,6 +103,7 @@ script:
scriptlive:
scriptreplay:
setarch:
+setpgid:
setpriv: libcap-ng
setsid:
setterm: libtinfo
@@ -109,5 +116,5 @@ ul: libtinfo
unshare:
utmpdump:
waitpid:
-wall:
+wall: libsystemd
whereis:
diff --git a/tests/expected/build-sys/config-non-nls b/tests/expected/build-sys/config-non-nls
index a20517c..bb4ac01 100644
--- a/tests/expected/build-sys/config-non-nls
+++ b/tests/expected/build-sys/config-non-nls
@@ -10,13 +10,16 @@ findmnt: libblkid libmount libsmartcols libudev
fsck: libblkid libmount
fstrim: libmount
irqtop: libncursesw libsmartcols libtinfo
+lastlog2: liblastlog2
libblkid.so.1.1.0:
libfdisk.so.1.1.0: libblkid libuuid
+liblastlog2.so.2.0.0: libsqlite3
libmount.so.1.1.0: libblkid
libsmartcols.so.1.1.0:
libuuid.so.1.3.0:
losetup: libsmartcols
-lsblk: libblkid libmount libsmartcols libudev
+lsblk: libblkid libmount libsmartcols libtinfo libudev
+lsclocks: libsmartcols
lscpu: libsmartcols
lsfd: libsmartcols
lsipc: libsmartcols
@@ -28,6 +31,7 @@ lsns: libmount libsmartcols
mkswap: libblkid libuuid
mount: libmount
mountpoint: libmount
+pam_lastlog2.so:
partx: libblkid libsmartcols
prlimit: libsmartcols
pylibmount.so: libblkid libmount
@@ -44,7 +48,7 @@ wdctl: libsmartcols
wipefs: libblkid libsmartcols
zramctl: libsmartcols
addpart:
-agetty:
+agetty: libsystemd
blkpr:
blkzone:
blockdev:
@@ -61,6 +65,8 @@ colrm:
ctrlaltdel:
delpart:
dmesg: libtinfo
+enosys:
+exch:
fadvise:
fallocate:
flock:
@@ -105,6 +111,7 @@ script:
scriptlive:
scriptreplay:
setarch:
+setpgid:
setpriv: libcap-ng
setsid:
setterm: libtinfo
@@ -117,5 +124,5 @@ ul: libtinfo
unshare:
utmpdump:
waitpid:
-wall:
+wall: libsystemd
whereis:
diff --git a/tests/expected/build-sys/config-non-widechar b/tests/expected/build-sys/config-non-widechar
index e69de29..56e9f2f 100644
--- a/tests/expected/build-sys/config-non-widechar
+++ b/tests/expected/build-sys/config-non-widechar
@@ -0,0 +1,4 @@
+pam_lastlog2.so:
+fsfreeze:
+pivot_root:
+switch_root:
diff --git a/tests/expected/build-sys/config-selinux b/tests/expected/build-sys/config-selinux
index 4d2e5f8..c8aa80c 100644
--- a/tests/expected/build-sys/config-selinux
+++ b/tests/expected/build-sys/config-selinux
@@ -10,13 +10,16 @@ findmnt: libblkid libmount libsmartcols libudev
fsck: libblkid libmount
fstrim: libmount
irqtop: libncursesw libsmartcols libtinfo
+lastlog2: liblastlog2
libblkid.so.1.1.0:
libfdisk.so.1.1.0: libblkid libuuid
+liblastlog2.so.2.0.0: libsqlite3
libmount.so.1.1.0: libblkid libselinux
libsmartcols.so.1.1.0:
libuuid.so.1.3.0:
losetup: libsmartcols
-lsblk: libblkid libmount libsmartcols libudev
+lsblk: libblkid libmount libsmartcols libtinfo libudev
+lsclocks: libsmartcols
lscpu: libsmartcols
lsfd: libsmartcols
lsipc: libsmartcols
@@ -28,6 +31,7 @@ lsns: libmount libsmartcols
mkswap: libblkid libselinux libuuid
mount: libmount libselinux
mountpoint: libmount
+pam_lastlog2.so:
partx: libblkid libsmartcols
prlimit: libsmartcols
pylibmount.so: libblkid libmount libselinux
@@ -44,7 +48,7 @@ wdctl: libsmartcols
wipefs: libblkid libsmartcols
zramctl: libsmartcols
addpart:
-agetty:
+agetty: libsystemd
blkpr:
blkzone:
blockdev:
@@ -61,6 +65,8 @@ colrm:
ctrlaltdel:
delpart:
dmesg: libtinfo
+enosys:
+exch:
fadvise:
fallocate:
flock:
@@ -105,6 +111,7 @@ script:
scriptlive:
scriptreplay:
setarch:
+setpgid:
setpriv: libcap-ng
setsid:
setterm: libtinfo
@@ -117,5 +124,5 @@ ul: libtinfo
unshare:
utmpdump:
waitpid:
-wall:
+wall: libsystemd
whereis:
diff --git a/tests/expected/build-sys/config-slang b/tests/expected/build-sys/config-slang
index 5a3ac99..6b676cc 100644
--- a/tests/expected/build-sys/config-slang
+++ b/tests/expected/build-sys/config-slang
@@ -10,13 +10,16 @@ findmnt: libblkid libmount libsmartcols libudev
fsck: libblkid libmount
fstrim: libmount
irqtop: libslang libsmartcols
+lastlog2: liblastlog2
libblkid.so.1.1.0:
libfdisk.so.1.1.0: libblkid libuuid
+liblastlog2.so.2.0.0: libsqlite3
libmount.so.1.1.0: libblkid
libsmartcols.so.1.1.0:
libuuid.so.1.3.0:
losetup: libsmartcols
-lsblk: libblkid libmount libsmartcols libudev
+lsblk: libblkid libmount libsmartcols libtinfo libudev
+lsclocks: libsmartcols
lscpu: libsmartcols
lsfd: libsmartcols
lsipc: libsmartcols
@@ -28,6 +31,7 @@ lsns: libmount libsmartcols
mkswap: libblkid libuuid
mount: libmount
mountpoint: libmount
+pam_lastlog2.so:
partx: libblkid libsmartcols
prlimit: libsmartcols
pylibmount.so: libblkid libmount
@@ -44,7 +48,7 @@ wdctl: libsmartcols
wipefs: libblkid libsmartcols
zramctl: libsmartcols
addpart:
-agetty:
+agetty: libsystemd
blkpr:
blkzone:
blockdev:
@@ -61,6 +65,8 @@ colrm:
ctrlaltdel:
delpart:
dmesg: libtinfo
+enosys:
+exch:
fadvise:
fallocate:
flock:
@@ -105,6 +111,7 @@ script:
scriptlive:
scriptreplay:
setarch:
+setpgid:
setpriv: libcap-ng
setsid:
setterm: libtinfo
@@ -117,5 +124,5 @@ ul: libtinfo
unshare:
utmpdump:
waitpid:
-wall:
+wall: libsystemd
whereis:
diff --git a/tests/expected/build-sys/config-static b/tests/expected/build-sys/config-static
index 92de9d7..10d1052 100644
--- a/tests/expected/build-sys/config-static
+++ b/tests/expected/build-sys/config-static
@@ -10,13 +10,16 @@ findmnt: libblkid libmount libsmartcols libudev
fsck: libblkid libmount
fstrim: libmount
irqtop: libncursesw libsmartcols libtinfo
+lastlog2: liblastlog2
libblkid.so.1.1.0:
libfdisk.so.1.1.0: libblkid libuuid
+liblastlog2.so.2.0.0: libsqlite3
libmount.so.1.1.0: libblkid
libsmartcols.so.1.1.0:
libuuid.so.1.3.0:
losetup: libsmartcols
-lsblk: libblkid libmount libsmartcols libudev
+lsblk: libblkid libmount libsmartcols libtinfo libudev
+lsclocks: libsmartcols
lscpu: libsmartcols
lsfd: libsmartcols
lsipc: libsmartcols
@@ -28,6 +31,7 @@ lsns: libmount libsmartcols
mkswap: libblkid libuuid
mount: libmount
mountpoint: libmount
+pam_lastlog2.so:
partx: libblkid libsmartcols
prlimit: libsmartcols
pylibmount.so: libblkid libmount
@@ -44,7 +48,7 @@ wdctl: libsmartcols
wipefs: libblkid libsmartcols
zramctl: libsmartcols
addpart:
-agetty:
+agetty: libsystemd
blkid.static: STATIC
blkpr:
blkzone:
@@ -62,6 +66,8 @@ colrm:
ctrlaltdel:
delpart:
dmesg: libtinfo
+enosys:
+exch:
fadvise:
fallocate:
fdisk.static: STATIC
@@ -110,6 +116,7 @@ script:
scriptlive:
scriptreplay:
setarch:
+setpgid:
setpriv: libcap-ng
setsid:
setterm: libtinfo
@@ -125,5 +132,5 @@ unshare:
unshare.static: STATIC
utmpdump:
waitpid:
-wall:
+wall: libsystemd
whereis:
diff --git a/tests/expected/column/table-noheaders b/tests/expected/column/table-noheaders
new file mode 100644
index 0000000..5fc905d
--- /dev/null
+++ b/tests/expected/column/table-noheaders
@@ -0,0 +1,6 @@
+AAA BBBB C DDDD
+A BBB CCCC DDD
+AA BB CCC DD
+AAAA B CC D
+AA BB CC DD
+AAAAA BBB CCC DDDD
diff --git a/tests/expected/dmesg/cid-json b/tests/expected/dmesg/cid-json
new file mode 100644
index 0000000..8a4d0e2
--- /dev/null
+++ b/tests/expected/dmesg/cid-json
@@ -0,0 +1,535 @@
+{
+ "dmesg": [
+ {
+ "pri": 0,
+ "time": 0.000000,
+ "caller": "T0",
+ "msg": "example[0]"
+ },{
+ "pri": 1,
+ "time": 1.000000,
+ "caller": "T1",
+ "msg": "example[1]"
+ },{
+ "pri": 2,
+ "time": 8.000000,
+ "caller": "T2",
+ "msg": "example[2]"
+ },{
+ "pri": 3,
+ "time": 27.000000,
+ "caller": "T3",
+ "msg": "example[3]"
+ },{
+ "pri": 4,
+ "time": 64.000000,
+ "caller": "T4",
+ "msg": "example[4]"
+ },{
+ "pri": 5,
+ "time": 125.000000,
+ "caller": "T5",
+ "msg": "example[5]"
+ },{
+ "pri": 6,
+ "time": 216.000000,
+ "caller": "T6",
+ "msg": "example[6]"
+ },{
+ "pri": 7,
+ "time": 343.000000,
+ "caller": "T7",
+ "msg": "example[7]"
+ },{
+ "pri": 8,
+ "time": 512.000000,
+ "caller": "T8",
+ "msg": "example[8]"
+ },{
+ "pri": 9,
+ "time": 729.000000,
+ "caller": "T9",
+ "msg": "example[9]"
+ },{
+ "pri": 10,
+ "time": 1000.000000,
+ "caller": "T10",
+ "msg": "example[10]"
+ },{
+ "pri": 11,
+ "time": 1331.000000,
+ "caller": "T11",
+ "msg": "example[11]"
+ },{
+ "pri": 12,
+ "time": 1728.000000,
+ "caller": "T12",
+ "msg": "example[12]"
+ },{
+ "pri": 13,
+ "time": 2197.000000,
+ "caller": "T13",
+ "msg": "example[13]"
+ },{
+ "pri": 14,
+ "time": 2744.000000,
+ "caller": "T14",
+ "msg": "example[14]"
+ },{
+ "pri": 15,
+ "time": 3375.000000,
+ "caller": "T15",
+ "msg": "example[15]"
+ },{
+ "pri": 16,
+ "time": 4096.000000,
+ "caller": "T16",
+ "msg": "example[16]"
+ },{
+ "pri": 17,
+ "time": 4913.000000,
+ "caller": "T17",
+ "msg": "example[17]"
+ },{
+ "pri": 18,
+ "time": 5832.000000,
+ "caller": "T18",
+ "msg": "example[18]"
+ },{
+ "pri": 19,
+ "time": 6859.000000,
+ "caller": "T19",
+ "msg": "example[19]"
+ },{
+ "pri": 20,
+ "time": 8000.000000,
+ "caller": "T20",
+ "msg": "example[20]"
+ },{
+ "pri": 21,
+ "time": 9261.000000,
+ "caller": "T21",
+ "msg": "example[21]"
+ },{
+ "pri": 22,
+ "time": 10648.000000,
+ "caller": "T22",
+ "msg": "example[22]"
+ },{
+ "pri": 23,
+ "time": 12167.000000,
+ "caller": "T23",
+ "msg": "example[23]"
+ },{
+ "pri": 24,
+ "time": 13824.000000,
+ "caller": "T24",
+ "msg": "example[24]"
+ },{
+ "pri": 25,
+ "time": 15625.000000,
+ "caller": "T25",
+ "msg": "example[25]"
+ },{
+ "pri": 26,
+ "time": 17576.000000,
+ "caller": "T26",
+ "msg": "example[26]"
+ },{
+ "pri": 27,
+ "time": 19683.000000,
+ "caller": "T27",
+ "msg": "example[27]"
+ },{
+ "pri": 28,
+ "time": 21952.000000,
+ "caller": "T28",
+ "msg": "example[28]"
+ },{
+ "pri": 29,
+ "time": 24389.000000,
+ "caller": "T29",
+ "msg": "example[29]"
+ },{
+ "pri": 30,
+ "time": 27000.000000,
+ "caller": "T10",
+ "msg": "example[30]"
+ },{
+ "pri": 31,
+ "time": 29791.000000,
+ "caller": "T31",
+ "msg": "example[31]"
+ },{
+ "pri": 32,
+ "time": 32768.000000,
+ "caller": "T32",
+ "msg": "example[32]"
+ },{
+ "pri": 33,
+ "time": 35937.000000,
+ "caller": "T33",
+ "msg": "example[33]"
+ },{
+ "pri": 34,
+ "time": 39304.000000,
+ "caller": "T34",
+ "msg": "example[34]"
+ },{
+ "pri": 35,
+ "time": 42875.000000,
+ "caller": "T35",
+ "msg": "example[35]"
+ },{
+ "pri": 36,
+ "time": 46656.000000,
+ "caller": "T36",
+ "msg": "example[36]"
+ },{
+ "pri": 37,
+ "time": 50653.000000,
+ "caller": "T37",
+ "msg": "example[37]"
+ },{
+ "pri": 38,
+ "time": 54872.000000,
+ "caller": "T38",
+ "msg": "example[38]"
+ },{
+ "pri": 39,
+ "time": 59319.000000,
+ "caller": "T39",
+ "msg": "example[39]"
+ },{
+ "pri": 40,
+ "time": 64000.000000,
+ "caller": "T40",
+ "msg": "example[40]"
+ },{
+ "pri": 41,
+ "time": 68921.000000,
+ "caller": "T41",
+ "msg": "example[41]"
+ },{
+ "pri": 42,
+ "time": 74088.000000,
+ "caller": "T42",
+ "msg": "example[42]"
+ },{
+ "pri": 43,
+ "time": 79507.000000,
+ "caller": "T43",
+ "msg": "example[43]"
+ },{
+ "pri": 44,
+ "time": 85184.000000,
+ "caller": "T44",
+ "msg": "example[44]"
+ },{
+ "pri": 45,
+ "time": 91125.000000,
+ "caller": "T45",
+ "msg": "example[45]"
+ },{
+ "pri": 46,
+ "time": 97336.000000,
+ "caller": "T46",
+ "msg": "example[46]"
+ },{
+ "pri": 47,
+ "time": 103823.000000,
+ "caller": "T47",
+ "msg": "example[47]"
+ },{
+ "pri": 48,
+ "time": 110592.000000,
+ "caller": "T48",
+ "msg": "example[48]"
+ },{
+ "pri": 49,
+ "time": 117649.000000,
+ "caller": "T49",
+ "msg": "example[49]"
+ },{
+ "pri": 50,
+ "time": 125000.000000,
+ "caller": "T50",
+ "msg": "example[50]"
+ },{
+ "pri": 51,
+ "time": 132651.000000,
+ "caller": "T51",
+ "msg": "example[51]"
+ },{
+ "pri": 52,
+ "time": 140608.000000,
+ "caller": "T52",
+ "msg": "example[52]"
+ },{
+ "pri": 53,
+ "time": 148877.000000,
+ "caller": "T53",
+ "msg": "example[53]"
+ },{
+ "pri": 54,
+ "time": 157464.000000,
+ "caller": "T54",
+ "msg": "example[54]"
+ },{
+ "pri": 55,
+ "time": 166375.000000,
+ "caller": "T55",
+ "msg": "example[55]"
+ },{
+ "pri": 56,
+ "time": 175616.000000,
+ "caller": "T56",
+ "msg": "example[56]"
+ },{
+ "pri": 57,
+ "time": 185193.000000,
+ "caller": "T57",
+ "msg": "example[57]"
+ },{
+ "pri": 58,
+ "time": 195112.000000,
+ "caller": "T58",
+ "msg": "example[58]"
+ },{
+ "pri": 59,
+ "time": 205379.000000,
+ "caller": "T59",
+ "msg": "example[59]"
+ },{
+ "pri": 60,
+ "time": 216000.000000,
+ "caller": "T60",
+ "msg": "example[60]"
+ },{
+ "pri": 61,
+ "time": 226981.000000,
+ "caller": "T61",
+ "msg": "example[61]"
+ },{
+ "pri": 62,
+ "time": 238328.000000,
+ "caller": "T62",
+ "msg": "example[62]"
+ },{
+ "pri": 63,
+ "time": 250047.000000,
+ "caller": "T63",
+ "msg": "example[63]"
+ },{
+ "pri": 64,
+ "time": 262144.000000,
+ "caller": "T64",
+ "msg": "example[64]"
+ },{
+ "pri": 65,
+ "time": 274625.000000,
+ "caller": "T65",
+ "msg": "example[65]"
+ },{
+ "pri": 66,
+ "time": 287496.000000,
+ "caller": "T66",
+ "msg": "example[66]"
+ },{
+ "pri": 67,
+ "time": 300763.000000,
+ "caller": "T67",
+ "msg": "example[67]"
+ },{
+ "pri": 68,
+ "time": 314432.000000,
+ "caller": "T68",
+ "msg": "example[68]"
+ },{
+ "pri": 69,
+ "time": 328509.000000,
+ "caller": "T69",
+ "msg": "example[69]"
+ },{
+ "pri": 70,
+ "time": 343000.000000,
+ "caller": "T70",
+ "msg": "example[70]"
+ },{
+ "pri": 71,
+ "time": 357911.000000,
+ "caller": "T71",
+ "msg": "example[71]"
+ },{
+ "pri": 72,
+ "time": 373248.000000,
+ "caller": "T72",
+ "msg": "example[72]"
+ },{
+ "pri": 73,
+ "time": 389017.000000,
+ "caller": "T73",
+ "msg": "example[73]"
+ },{
+ "pri": 74,
+ "time": 405224.000000,
+ "caller": "T74",
+ "msg": "example[74]"
+ },{
+ "pri": 75,
+ "time": 421875.000000,
+ "caller": "T75",
+ "msg": "example[75]"
+ },{
+ "pri": 76,
+ "time": 438976.000000,
+ "caller": "T76",
+ "msg": "example[76]"
+ },{
+ "pri": 77,
+ "time": 456533.000000,
+ "caller": "T77",
+ "msg": "example[77]"
+ },{
+ "pri": 78,
+ "time": 474552.000000,
+ "caller": "T78",
+ "msg": "example[78]"
+ },{
+ "pri": 79,
+ "time": 493039.000000,
+ "caller": "T79",
+ "msg": "example[79]"
+ },{
+ "pri": 80,
+ "time": 512000.000000,
+ "caller": "T80",
+ "msg": "example[80]"
+ },{
+ "pri": 81,
+ "time": 531441.000000,
+ "caller": "T81",
+ "msg": "example[81]"
+ },{
+ "pri": 82,
+ "time": 551368.000000,
+ "caller": "T82",
+ "msg": "example[82]"
+ },{
+ "pri": 83,
+ "time": 571787.000000,
+ "caller": "T83",
+ "msg": "example[83]"
+ },{
+ "pri": 84,
+ "time": 592704.000000,
+ "caller": "T84",
+ "msg": "example[84]"
+ },{
+ "pri": 85,
+ "time": 614125.000000,
+ "caller": "T85",
+ "msg": "example[85]"
+ },{
+ "pri": 86,
+ "time": 636056.000000,
+ "caller": "T86",
+ "msg": "example[86]"
+ },{
+ "pri": 87,
+ "time": 658503.000000,
+ "caller": "T87",
+ "msg": "example[87]"
+ },{
+ "pri": 88,
+ "time": 681472.000000,
+ "caller": "T88",
+ "msg": "example[88]"
+ },{
+ "pri": 89,
+ "time": 704969.000000,
+ "caller": "T89",
+ "msg": "example[89]"
+ },{
+ "pri": 90,
+ "time": 729000.000000,
+ "caller": "T90",
+ "msg": "example[90]"
+ },{
+ "pri": 91,
+ "time": 753571.000000,
+ "caller": "T91",
+ "msg": "example[91]"
+ },{
+ "pri": 92,
+ "time": 778688.000000,
+ "caller": "T92",
+ "msg": "example[92]"
+ },{
+ "pri": 93,
+ "time": 804357.000000,
+ "caller": "T93",
+ "msg": "example[93]"
+ },{
+ "pri": 94,
+ "time": 830584.000000,
+ "caller": "T94",
+ "msg": "example[94]"
+ },{
+ "pri": 95,
+ "time": 857375.000000,
+ "caller": "T95",
+ "msg": "example[95]"
+ },{
+ "pri": 96,
+ "time": 884736.000000,
+ "caller": "T96",
+ "msg": "example[96]"
+ },{
+ "pri": 97,
+ "time": 912673.000000,
+ "caller": "T97",
+ "msg": "example[97]"
+ },{
+ "pri": 98,
+ "time": 941192.000000,
+ "caller": "T98",
+ "msg": "example[98]"
+ },{
+ "pri": 99,
+ "time": 970299.000000,
+ "caller": "T99",
+ "msg": "example[99]"
+ },{
+ "pri": 100,
+ "time": 1000000.000000,
+ "caller": "T100",
+ "msg": "example[100]"
+ },{
+ "pri": 101,
+ "time": 1030301.000000,
+ "caller": "T101",
+ "msg": "example[101]"
+ },{
+ "pri": 102,
+ "time": 1061208.000000,
+ "caller": "T102",
+ "msg": "example[102]"
+ },{
+ "pri": 103,
+ "time": 1092727.000000,
+ "caller": "T103",
+ "msg": "example[103]"
+ },{
+ "pri": 104,
+ "time": 1124864.000000,
+ "caller": "T104",
+ "msg": "example[104]"
+ },{
+ "pri": 150,
+ "time": 4557523.000000,
+ "caller": "T105",
+ "msg": "example[105]"
+ }
+ ]
+}
diff --git a/tests/expected/dmesg/cid-kmsg-colors b/tests/expected/dmesg/cid-kmsg-colors
new file mode 100644
index 0000000..d3dbd1e
--- /dev/null
+++ b/tests/expected/dmesg/cid-kmsg-colors
@@ -0,0 +1,59 @@
+kern :emerg : [ 0.000000] [T1] Linux version 6.6.4-arch1-1 (linux@archlinux) (gcc (GCC) 13.2.1 20230801, GNU ld (GNU Binutils) 2.41.0) #1 SMP PREEMPT_DYNAMIC Mon, 04 Dec 2023 00:29:19 +0000
+kern :alert : [ 0.000001] [T2] Command line: initrd=\ucode.img initrd=\initramfs-linux.img rw cryptdevice=/dev/nvme0n1p3:system:discard root=/dev/mapper/system
+kern :crit : [ 0.000002] [T3] BIOS-provided physical RAM map:
+kern :err : [ 0.000003] [T4] BIOS-e820: [mem 0x0000000000000000-0x000000000009efff] usable
+kern :warn : [ 0.000004] [T5] BIOS-e820: [mem 0x000000000009f000-0x00000000000bffff] reserved
+kern :notice: [ 0.000005] [T6] BIOS-e820: [mem 0x0000000000100000-0x0000000009afffff] usable
+kern :info : [ 0.000006] [T7] BIOS-e820: [mem 0x0000000009b00000-0x0000000009dfffff] reserved
+kern :debug : [ 0.000007] [T8] BIOS-e820: [mem 0x0000000009e00000-0x0000000009efffff] usable
+kern :info : [ 0.000008] [T9] BIOS-e820: [mem 0x0000000009f00000-0x0000000009f3bfff] ACPI NVS
+kern :info : [ 0.000009] [T10] BIOS-e820: [mem 0x0000000009f3c000-0x000000004235ffff] usable
+kern :info : [ 0.000010] [T11] BIOS-e820: [mem 0x0000000042360000-0x000000004455ffff] reserved
+kern :info : [ 0.201607] [T12] smp: Bringing up secondary CPUs ...
+kern :info : [ 0.201607] [T13] smpboot: x86: Booting SMP configuration:
+kern :warn : [ 0.209670] [T14]  #1 #3 #5 #7
+kern :info : [ 0.212630] [T15] smp: Brought up 1 node, 16 CPUs
+kern :notice: [ 0.215936] [T16] audit: type=2000 audit(1702926179.015:1): state=initialized audit_enabled=0 res=1
+kern :info : [ 0.215937] [T17] thermal_sys: Registered thermal governor 'fair_share'
+kern :warn : [ 0.215966] [T18] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
+kern :info : [ 0.367657] [T19] ACPI: \_SB_.PCI0.GP19.NHI1.PWRS: New power resource
+kern :info : [ 0.368615] [T20] ACPI: \_SB_.PCI0.GP19.XHC4.PWRS: New power resource
+kern :info : [ 0.376316] [T21] ACPI: \_SB_.PRWL: New power resource
+kern :info : [ 0.376343] [T22] ACPI: \_SB_.PRWB: New power resource
+kern :info : [ 0.377373] [T23] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
+kern :info : [ 0.377378] [T24] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI EDR HPX-Type3]
+kern :info : [ 0.377569] [T25] acpi PNP0A08:00: _OSC: platform does not support [SHPCHotplug AER]
+kern :info : [ 0.377933] [T26] acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug PME PCIeCapability LTR DPC]
+kern :info : [ 0.378458] [T27] PCI host bridge to bus 0000:00
+kern :info : [ 0.378459] [T28] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window]
+kern :info : [ 0.378461] [T29] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window]
+user :notice: [ 9.398562] [T30] user network daemon initialization complete
+daemon:info : [ 10.441520] [T31] systemd[1]: systemd 254.7-1.fc39 running in system mode
+daemon:info : [ 11.441524] [T32] systemd[1]: Detected architecture x86-64.
+daemon:info : [ 12.441525] [T33] systemd[1]: Running in initrd.
+daemon:info : [ 13.541598] [T34] systemd[1]: Hostname set to <catalina>.
+kern :info : [ 15.641860] [T35] usb 3-3: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11
+kern :err : [ 16.690000] [T36] Serial bus multi instantiate pseudo device driver INT3515:00: error -ENXIO: IRQ index 1 not found.
+kern :err : [ 17.710000] [T37] snd_hda_intel 0000:00:1f.3: CORB reset timeout#2, CORBRP = 65535
+syslog:info : [ 18.720000] [T38] systemd-journald[723]: Received client request to flush runtime journal.
+syslog:warn : [ 20.740000] [T39] systemd-journald[723]: File /var/log/journal/a124ea923b144109a12d557d5ac53179/system.journal corrupted or uncleanly shut down, renaming and replacing.
+syslog:info : [ 21.752348] [T40] systemd-journald[723]: /var/log/journal/ad7a2547ac0e4342a342e62a34a3eae4/user-1000.journal: Journal file uses a different sequence number ID, rotating.
+kern :warn : [ 24.761100] [T41] PEFILE: Unsigned PE binary
+kern :err : [ 35.768091] [T42] snd_hda_intel 0000:00:1f.3: CORB reset timeout#2, CORBRP = 65535
+kern :info : [ 137.791785] [C1] usb 3-3.1: device firmware changed
+kern :info : [ 146.803248] [C2] usb 3-3.1: USB disconnect, device number 44
+kern :info : [ 148.821859] [C3] usb 3-3.1: New USB device found, idVendor=17ef, idProduct=6047, bcdDevice= 3.30
+kern :info : [ 149.840480] [C4] perf: interrupt took too long (2518 > 2500)
+kern :info : [ 150.853128] [C5] perf: interrupt took too long (3217 > 3147)
+kern :info : [ 153.859311] [C12] perf: interrupt took too long (3654 > 3239)
+kern :info : [ 155.861908] [C123] perf: interrupt took too long (3789 > 3545)
+kern :info : [ 158.870434] [C1234] perf: interrupt took too long (3891 > 3647)
+kern :info : [ 161.887625] [C12345] perf: interrupt took too long (3947 > 3789)
+kern :info : [ 163.898434] [C123456] perf: interrupt took too long (4011 > 3898)
+kern :info : [ 166.909842] [C1234567] perf: interrupt took too long (4174 > 3987)
+user :warn : [ 169.911147] [T123] User program Dmesg Test Message at warn priority
+user :warn : [ 178.927435] [T1234] User program Dmesg Test Message at warn priority
+user :notice: [ 185.943456] [T12345] User program Dmesg Test Message at notice priority
+user :info : [ 189.963238] [T123456] User program Dmesg Test Message at info priority
+user :debug : [ 207.987439] [T1234567] User program Dmesg Test Message at debug priority
+
diff --git a/tests/expected/dmesg/cid-kmsg-console-levels b/tests/expected/dmesg/cid-kmsg-console-levels
new file mode 100644
index 0000000..ef2e83c
--- /dev/null
+++ b/tests/expected/dmesg/cid-kmsg-console-levels
@@ -0,0 +1,146 @@
+Display console level: -1
+Display console level: 0
+[ 0.000000] [T1] Linux version 6.6.4-arch1-1 (linux@archlinux) (gcc (GCC) 13.2.1 20230801, GNU ld (GNU Binutils) 2.41.0) #1 SMP PREEMPT_DYNAMIC Mon, 04 Dec 2023 00:29:19 +0000
+Display console level: 1
+[ 0.000001] [T2] Command line: initrd=\ucode.img initrd=\initramfs-linux.img rw cryptdevice=/dev/nvme0n1p3:system:discard root=/dev/mapper/system
+Display console level: 2
+[ 0.000002] [T3] BIOS-provided physical RAM map:
+Display console level: 3
+[ 0.000003] [T4] BIOS-e820: [mem 0x0000000000000000-0x000000000009efff] usable
+[ 16.690000] [T36] Serial bus multi instantiate pseudo device driver INT3515:00: error -ENXIO: IRQ index 1 not found.
+[ 17.710000] [T37] snd_hda_intel 0000:00:1f.3: CORB reset timeout#2, CORBRP = 65535
+[ 35.768091] [T42] snd_hda_intel 0000:00:1f.3: CORB reset timeout#2, CORBRP = 65535
+Display console level: 4
+[ 0.000004] [T5] BIOS-e820: [mem 0x000000000009f000-0x00000000000bffff] reserved
+[ 0.209670] [T14] #1 #3 #5 #7
+[ 0.215966] [T18] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
+[ 20.740000] [T39] systemd-journald[723]: File /var/log/journal/a124ea923b144109a12d557d5ac53179/system.journal corrupted or uncleanly shut down, renaming and replacing.
+[ 24.761100] [T41] PEFILE: Unsigned PE binary
+[ 169.911147] [T123] User program Dmesg Test Message at warn priority
+[ 178.927435] [T1234] User program Dmesg Test Message at warn priority
+Display console level: 5
+[ 0.000005] [T6] BIOS-e820: [mem 0x0000000000100000-0x0000000009afffff] usable
+[ 0.215936] [T16] audit: type=2000 audit(1702926179.015:1): state=initialized audit_enabled=0 res=1
+[ 9.398562] [T30] user network daemon initialization complete
+[ 185.943456] [T12345] User program Dmesg Test Message at notice priority
+Display console level: 6
+[ 0.000006] [T7] BIOS-e820: [mem 0x0000000009b00000-0x0000000009dfffff] reserved
+[ 0.000008] [T9] BIOS-e820: [mem 0x0000000009f00000-0x0000000009f3bfff] ACPI NVS
+[ 0.000009] [T10] BIOS-e820: [mem 0x0000000009f3c000-0x000000004235ffff] usable
+[ 0.000010] [T11] BIOS-e820: [mem 0x0000000042360000-0x000000004455ffff] reserved
+[ 0.201607] [T12] smp: Bringing up secondary CPUs ...
+[ 0.201607] [T13] smpboot: x86: Booting SMP configuration:
+[ 0.212630] [T15] smp: Brought up 1 node, 16 CPUs
+[ 0.215937] [T17] thermal_sys: Registered thermal governor 'fair_share'
+[ 0.367657] [T19] ACPI: \_SB_.PCI0.GP19.NHI1.PWRS: New power resource
+[ 0.368615] [T20] ACPI: \_SB_.PCI0.GP19.XHC4.PWRS: New power resource
+[ 0.376316] [T21] ACPI: \_SB_.PRWL: New power resource
+[ 0.376343] [T22] ACPI: \_SB_.PRWB: New power resource
+[ 0.377373] [T23] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
+[ 0.377378] [T24] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI EDR HPX-Type3]
+[ 0.377569] [T25] acpi PNP0A08:00: _OSC: platform does not support [SHPCHotplug AER]
+[ 0.377933] [T26] acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug PME PCIeCapability LTR DPC]
+[ 0.378458] [T27] PCI host bridge to bus 0000:00
+[ 0.378459] [T28] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window]
+[ 0.378461] [T29] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window]
+[ 10.441520] [T31] systemd[1]: systemd 254.7-1.fc39 running in system mode
+[ 11.441524] [T32] systemd[1]: Detected architecture x86-64.
+[ 12.441525] [T33] systemd[1]: Running in initrd.
+[ 13.541598] [T34] systemd[1]: Hostname set to <catalina>.
+[ 15.641860] [T35] usb 3-3: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11
+[ 18.720000] [T38] systemd-journald[723]: Received client request to flush runtime journal.
+[ 21.752348] [T40] systemd-journald[723]: /var/log/journal/ad7a2547ac0e4342a342e62a34a3eae4/user-1000.journal: Journal file uses a different sequence number ID, rotating.
+[ 137.791785] [C1] usb 3-3.1: device firmware changed
+[ 146.803248] [C2] usb 3-3.1: USB disconnect, device number 44
+[ 148.821859] [C3] usb 3-3.1: New USB device found, idVendor=17ef, idProduct=6047, bcdDevice= 3.30
+[ 149.840480] [C4] perf: interrupt took too long (2518 > 2500)
+[ 150.853128] [C5] perf: interrupt took too long (3217 > 3147)
+[ 153.859311] [C12] perf: interrupt took too long (3654 > 3239)
+[ 155.861908] [C123] perf: interrupt took too long (3789 > 3545)
+[ 158.870434] [C1234] perf: interrupt took too long (3891 > 3647)
+[ 161.887625] [C12345] perf: interrupt took too long (3947 > 3789)
+[ 163.898434] [C123456] perf: interrupt took too long (4011 > 3898)
+[ 166.909842] [C1234567] perf: interrupt took too long (4174 > 3987)
+[ 189.963238] [T123456] User program Dmesg Test Message at info priority
+Display console level: 7
+[ 0.000007] [T8] BIOS-e820: [mem 0x0000000009e00000-0x0000000009efffff] usable
+[ 207.987439] [T1234567] User program Dmesg Test Message at debug priority
+
+Display console level: 8
+Display console level: err+
+[ 0.000000] [T1] Linux version 6.6.4-arch1-1 (linux@archlinux) (gcc (GCC) 13.2.1 20230801, GNU ld (GNU Binutils) 2.41.0) #1 SMP PREEMPT_DYNAMIC Mon, 04 Dec 2023 00:29:19 +0000
+[ 0.000001] [T2] Command line: initrd=\ucode.img initrd=\initramfs-linux.img rw cryptdevice=/dev/nvme0n1p3:system:discard root=/dev/mapper/system
+[ 0.000002] [T3] BIOS-provided physical RAM map:
+[ 0.000003] [T4] BIOS-e820: [mem 0x0000000000000000-0x000000000009efff] usable
+[ 16.690000] [T36] Serial bus multi instantiate pseudo device driver INT3515:00: error -ENXIO: IRQ index 1 not found.
+[ 17.710000] [T37] snd_hda_intel 0000:00:1f.3: CORB reset timeout#2, CORBRP = 65535
+[ 35.768091] [T42] snd_hda_intel 0000:00:1f.3: CORB reset timeout#2, CORBRP = 65535
+Display console level: emerg+
+[ 0.000000] [T1] Linux version 6.6.4-arch1-1 (linux@archlinux) (gcc (GCC) 13.2.1 20230801, GNU ld (GNU Binutils) 2.41.0) #1 SMP PREEMPT_DYNAMIC Mon, 04 Dec 2023 00:29:19 +0000
+Display console level: +err
+[ 0.000003] [T4] BIOS-e820: [mem 0x0000000000000000-0x000000000009efff] usable
+[ 0.000004] [T5] BIOS-e820: [mem 0x000000000009f000-0x00000000000bffff] reserved
+[ 0.000005] [T6] BIOS-e820: [mem 0x0000000000100000-0x0000000009afffff] usable
+[ 0.000006] [T7] BIOS-e820: [mem 0x0000000009b00000-0x0000000009dfffff] reserved
+[ 0.000007] [T8] BIOS-e820: [mem 0x0000000009e00000-0x0000000009efffff] usable
+[ 0.000008] [T9] BIOS-e820: [mem 0x0000000009f00000-0x0000000009f3bfff] ACPI NVS
+[ 0.000009] [T10] BIOS-e820: [mem 0x0000000009f3c000-0x000000004235ffff] usable
+[ 0.000010] [T11] BIOS-e820: [mem 0x0000000042360000-0x000000004455ffff] reserved
+[ 0.201607] [T12] smp: Bringing up secondary CPUs ...
+[ 0.201607] [T13] smpboot: x86: Booting SMP configuration:
+[ 0.209670] [T14] #1 #3 #5 #7
+[ 0.212630] [T15] smp: Brought up 1 node, 16 CPUs
+[ 0.215936] [T16] audit: type=2000 audit(1702926179.015:1): state=initialized audit_enabled=0 res=1
+[ 0.215937] [T17] thermal_sys: Registered thermal governor 'fair_share'
+[ 0.215966] [T18] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
+[ 0.367657] [T19] ACPI: \_SB_.PCI0.GP19.NHI1.PWRS: New power resource
+[ 0.368615] [T20] ACPI: \_SB_.PCI0.GP19.XHC4.PWRS: New power resource
+[ 0.376316] [T21] ACPI: \_SB_.PRWL: New power resource
+[ 0.376343] [T22] ACPI: \_SB_.PRWB: New power resource
+[ 0.377373] [T23] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
+[ 0.377378] [T24] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI EDR HPX-Type3]
+[ 0.377569] [T25] acpi PNP0A08:00: _OSC: platform does not support [SHPCHotplug AER]
+[ 0.377933] [T26] acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug PME PCIeCapability LTR DPC]
+[ 0.378458] [T27] PCI host bridge to bus 0000:00
+[ 0.378459] [T28] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window]
+[ 0.378461] [T29] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window]
+[ 9.398562] [T30] user network daemon initialization complete
+[ 10.441520] [T31] systemd[1]: systemd 254.7-1.fc39 running in system mode
+[ 11.441524] [T32] systemd[1]: Detected architecture x86-64.
+[ 12.441525] [T33] systemd[1]: Running in initrd.
+[ 13.541598] [T34] systemd[1]: Hostname set to <catalina>.
+[ 15.641860] [T35] usb 3-3: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11
+[ 16.690000] [T36] Serial bus multi instantiate pseudo device driver INT3515:00: error -ENXIO: IRQ index 1 not found.
+[ 17.710000] [T37] snd_hda_intel 0000:00:1f.3: CORB reset timeout#2, CORBRP = 65535
+[ 18.720000] [T38] systemd-journald[723]: Received client request to flush runtime journal.
+[ 20.740000] [T39] systemd-journald[723]: File /var/log/journal/a124ea923b144109a12d557d5ac53179/system.journal corrupted or uncleanly shut down, renaming and replacing.
+[ 21.752348] [T40] systemd-journald[723]: /var/log/journal/ad7a2547ac0e4342a342e62a34a3eae4/user-1000.journal: Journal file uses a different sequence number ID, rotating.
+[ 24.761100] [T41] PEFILE: Unsigned PE binary
+[ 35.768091] [T42] snd_hda_intel 0000:00:1f.3: CORB reset timeout#2, CORBRP = 65535
+[ 137.791785] [C1] usb 3-3.1: device firmware changed
+[ 146.803248] [C2] usb 3-3.1: USB disconnect, device number 44
+[ 148.821859] [C3] usb 3-3.1: New USB device found, idVendor=17ef, idProduct=6047, bcdDevice= 3.30
+[ 149.840480] [C4] perf: interrupt took too long (2518 > 2500)
+[ 150.853128] [C5] perf: interrupt took too long (3217 > 3147)
+[ 153.859311] [C12] perf: interrupt took too long (3654 > 3239)
+[ 155.861908] [C123] perf: interrupt took too long (3789 > 3545)
+[ 158.870434] [C1234] perf: interrupt took too long (3891 > 3647)
+[ 161.887625] [C12345] perf: interrupt took too long (3947 > 3789)
+[ 163.898434] [C123456] perf: interrupt took too long (4011 > 3898)
+[ 166.909842] [C1234567] perf: interrupt took too long (4174 > 3987)
+[ 169.911147] [T123] User program Dmesg Test Message at warn priority
+[ 178.927435] [T1234] User program Dmesg Test Message at warn priority
+[ 185.943456] [T12345] User program Dmesg Test Message at notice priority
+[ 189.963238] [T123456] User program Dmesg Test Message at info priority
+[ 207.987439] [T1234567] User program Dmesg Test Message at debug priority
+
+Display console level: +debug
+[ 0.000007] [T8] BIOS-e820: [mem 0x0000000009e00000-0x0000000009efffff] usable
+[ 207.987439] [T1234567] User program Dmesg Test Message at debug priority
+
+Display console level: debug
+[ 0.000007] [T8] BIOS-e820: [mem 0x0000000009e00000-0x0000000009efffff] usable
+[ 207.987439] [T1234567] User program Dmesg Test Message at debug priority
+
+Display console level: + (invalid)
+test_dmesg: unknown level '+'
diff --git a/tests/expected/dmesg/cid-kmsg-decode b/tests/expected/dmesg/cid-kmsg-decode
new file mode 100644
index 0000000..e1cecfa
--- /dev/null
+++ b/tests/expected/dmesg/cid-kmsg-decode
@@ -0,0 +1,59 @@
+kern :emerg : [ 0.000000] [T1] Linux version 6.6.4-arch1-1 (linux@archlinux) (gcc (GCC) 13.2.1 20230801, GNU ld (GNU Binutils) 2.41.0) #1 SMP PREEMPT_DYNAMIC Mon, 04 Dec 2023 00:29:19 +0000
+kern :alert : [ 0.000001] [T2] Command line: initrd=\ucode.img initrd=\initramfs-linux.img rw cryptdevice=/dev/nvme0n1p3:system:discard root=/dev/mapper/system
+kern :crit : [ 0.000002] [T3] BIOS-provided physical RAM map:
+kern :err : [ 0.000003] [T4] BIOS-e820: [mem 0x0000000000000000-0x000000000009efff] usable
+kern :warn : [ 0.000004] [T5] BIOS-e820: [mem 0x000000000009f000-0x00000000000bffff] reserved
+kern :notice: [ 0.000005] [T6] BIOS-e820: [mem 0x0000000000100000-0x0000000009afffff] usable
+kern :info : [ 0.000006] [T7] BIOS-e820: [mem 0x0000000009b00000-0x0000000009dfffff] reserved
+kern :debug : [ 0.000007] [T8] BIOS-e820: [mem 0x0000000009e00000-0x0000000009efffff] usable
+kern :info : [ 0.000008] [T9] BIOS-e820: [mem 0x0000000009f00000-0x0000000009f3bfff] ACPI NVS
+kern :info : [ 0.000009] [T10] BIOS-e820: [mem 0x0000000009f3c000-0x000000004235ffff] usable
+kern :info : [ 0.000010] [T11] BIOS-e820: [mem 0x0000000042360000-0x000000004455ffff] reserved
+kern :info : [ 0.201607] [T12] smp: Bringing up secondary CPUs ...
+kern :info : [ 0.201607] [T13] smpboot: x86: Booting SMP configuration:
+kern :warn : [ 0.209670] [T14] #1 #3 #5 #7
+kern :info : [ 0.212630] [T15] smp: Brought up 1 node, 16 CPUs
+kern :notice: [ 0.215936] [T16] audit: type=2000 audit(1702926179.015:1): state=initialized audit_enabled=0 res=1
+kern :info : [ 0.215937] [T17] thermal_sys: Registered thermal governor 'fair_share'
+kern :warn : [ 0.215966] [T18] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
+kern :info : [ 0.367657] [T19] ACPI: \_SB_.PCI0.GP19.NHI1.PWRS: New power resource
+kern :info : [ 0.368615] [T20] ACPI: \_SB_.PCI0.GP19.XHC4.PWRS: New power resource
+kern :info : [ 0.376316] [T21] ACPI: \_SB_.PRWL: New power resource
+kern :info : [ 0.376343] [T22] ACPI: \_SB_.PRWB: New power resource
+kern :info : [ 0.377373] [T23] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
+kern :info : [ 0.377378] [T24] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI EDR HPX-Type3]
+kern :info : [ 0.377569] [T25] acpi PNP0A08:00: _OSC: platform does not support [SHPCHotplug AER]
+kern :info : [ 0.377933] [T26] acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug PME PCIeCapability LTR DPC]
+kern :info : [ 0.378458] [T27] PCI host bridge to bus 0000:00
+kern :info : [ 0.378459] [T28] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window]
+kern :info : [ 0.378461] [T29] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window]
+user :notice: [ 9.398562] [T30] user network daemon initialization complete
+daemon:info : [ 10.441520] [T31] systemd[1]: systemd 254.7-1.fc39 running in system mode
+daemon:info : [ 11.441524] [T32] systemd[1]: Detected architecture x86-64.
+daemon:info : [ 12.441525] [T33] systemd[1]: Running in initrd.
+daemon:info : [ 13.541598] [T34] systemd[1]: Hostname set to <catalina>.
+kern :info : [ 15.641860] [T35] usb 3-3: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11
+kern :err : [ 16.690000] [T36] Serial bus multi instantiate pseudo device driver INT3515:00: error -ENXIO: IRQ index 1 not found.
+kern :err : [ 17.710000] [T37] snd_hda_intel 0000:00:1f.3: CORB reset timeout#2, CORBRP = 65535
+syslog:info : [ 18.720000] [T38] systemd-journald[723]: Received client request to flush runtime journal.
+syslog:warn : [ 20.740000] [T39] systemd-journald[723]: File /var/log/journal/a124ea923b144109a12d557d5ac53179/system.journal corrupted or uncleanly shut down, renaming and replacing.
+syslog:info : [ 21.752348] [T40] systemd-journald[723]: /var/log/journal/ad7a2547ac0e4342a342e62a34a3eae4/user-1000.journal: Journal file uses a different sequence number ID, rotating.
+kern :warn : [ 24.761100] [T41] PEFILE: Unsigned PE binary
+kern :err : [ 35.768091] [T42] snd_hda_intel 0000:00:1f.3: CORB reset timeout#2, CORBRP = 65535
+kern :info : [ 137.791785] [C1] usb 3-3.1: device firmware changed
+kern :info : [ 146.803248] [C2] usb 3-3.1: USB disconnect, device number 44
+kern :info : [ 148.821859] [C3] usb 3-3.1: New USB device found, idVendor=17ef, idProduct=6047, bcdDevice= 3.30
+kern :info : [ 149.840480] [C4] perf: interrupt took too long (2518 > 2500)
+kern :info : [ 150.853128] [C5] perf: interrupt took too long (3217 > 3147)
+kern :info : [ 153.859311] [C12] perf: interrupt took too long (3654 > 3239)
+kern :info : [ 155.861908] [C123] perf: interrupt took too long (3789 > 3545)
+kern :info : [ 158.870434] [C1234] perf: interrupt took too long (3891 > 3647)
+kern :info : [ 161.887625] [C12345] perf: interrupt took too long (3947 > 3789)
+kern :info : [ 163.898434] [C123456] perf: interrupt took too long (4011 > 3898)
+kern :info : [ 166.909842] [C1234567] perf: interrupt took too long (4174 > 3987)
+user :warn : [ 169.911147] [T123] User program Dmesg Test Message at warn priority
+user :warn : [ 178.927435] [T1234] User program Dmesg Test Message at warn priority
+user :notice: [ 185.943456] [T12345] User program Dmesg Test Message at notice priority
+user :info : [ 189.963238] [T123456] User program Dmesg Test Message at info priority
+user :debug : [ 207.987439] [T1234567] User program Dmesg Test Message at debug priority
+
diff --git a/tests/expected/dmesg/cid-kmsg-delta b/tests/expected/dmesg/cid-kmsg-delta
new file mode 100644
index 0000000..e767b2b
--- /dev/null
+++ b/tests/expected/dmesg/cid-kmsg-delta
@@ -0,0 +1,59 @@
+[ 0.000000 < 0.000000>] [T1] Linux version 6.6.4-arch1-1 (linux@archlinux) (gcc (GCC) 13.2.1 20230801, GNU ld (GNU Binutils) 2.41.0) #1 SMP PREEMPT_DYNAMIC Mon, 04 Dec 2023 00:29:19 +0000
+[ 0.000001 < 0.000000>] [T2] Command line: initrd=\ucode.img initrd=\initramfs-linux.img rw cryptdevice=/dev/nvme0n1p3:system:discard root=/dev/mapper/system
+[ 0.000002 < 0.000001>] [T3] BIOS-provided physical RAM map:
+[ 0.000003 < 0.000001>] [T4] BIOS-e820: [mem 0x0000000000000000-0x000000000009efff] usable
+[ 0.000004 < 0.000001>] [T5] BIOS-e820: [mem 0x000000000009f000-0x00000000000bffff] reserved
+[ 0.000005 < 0.000001>] [T6] BIOS-e820: [mem 0x0000000000100000-0x0000000009afffff] usable
+[ 0.000006 < 0.000001>] [T7] BIOS-e820: [mem 0x0000000009b00000-0x0000000009dfffff] reserved
+[ 0.000007 < 0.000001>] [T8] BIOS-e820: [mem 0x0000000009e00000-0x0000000009efffff] usable
+[ 0.000008 < 0.000001>] [T9] BIOS-e820: [mem 0x0000000009f00000-0x0000000009f3bfff] ACPI NVS
+[ 0.000009 < 0.000001>] [T10] BIOS-e820: [mem 0x0000000009f3c000-0x000000004235ffff] usable
+[ 0.000010 < 0.000001>] [T11] BIOS-e820: [mem 0x0000000042360000-0x000000004455ffff] reserved
+[ 0.201607 < 0.201597>] [T12] smp: Bringing up secondary CPUs ...
+[ 0.201607 < 0.000000>] [T13] smpboot: x86: Booting SMP configuration:
+[ 0.209670 < 0.008063>] [T14] #1 #3 #5 #7
+[ 0.212630 < 0.002960>] [T15] smp: Brought up 1 node, 16 CPUs
+[ 0.215936 < 0.003306>] [T16] audit: type=2000 audit(1702926179.015:1): state=initialized audit_enabled=0 res=1
+[ 0.215937 < 0.000001>] [T17] thermal_sys: Registered thermal governor 'fair_share'
+[ 0.215966 < 0.000029>] [T18] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
+[ 0.367657 < 0.151691>] [T19] ACPI: \_SB_.PCI0.GP19.NHI1.PWRS: New power resource
+[ 0.368615 < 0.000958>] [T20] ACPI: \_SB_.PCI0.GP19.XHC4.PWRS: New power resource
+[ 0.376316 < 0.007701>] [T21] ACPI: \_SB_.PRWL: New power resource
+[ 0.376343 < 0.000027>] [T22] ACPI: \_SB_.PRWB: New power resource
+[ 0.377373 < 0.001030>] [T23] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
+[ 0.377378 < 0.000005>] [T24] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI EDR HPX-Type3]
+[ 0.377569 < 0.000191>] [T25] acpi PNP0A08:00: _OSC: platform does not support [SHPCHotplug AER]
+[ 0.377933 < 0.000364>] [T26] acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug PME PCIeCapability LTR DPC]
+[ 0.378458 < 0.000525>] [T27] PCI host bridge to bus 0000:00
+[ 0.378459 < 0.000001>] [T28] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window]
+[ 0.378461 < 0.000002>] [T29] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window]
+[ 9.398562 < 9.020101>] [T30] user network daemon initialization complete
+[ 10.441520 < 1.042958>] [T31] systemd[1]: systemd 254.7-1.fc39 running in system mode
+[ 11.441524 < 1.000004>] [T32] systemd[1]: Detected architecture x86-64.
+[ 12.441525 < 1.000001>] [T33] systemd[1]: Running in initrd.
+[ 13.541598 < 1.100073>] [T34] systemd[1]: Hostname set to <catalina>.
+[ 15.641860 < 2.100262>] [T35] usb 3-3: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11
+[ 16.690000 < 1.048140>] [T36] Serial bus multi instantiate pseudo device driver INT3515:00: error -ENXIO: IRQ index 1 not found.
+[ 17.710000 < 1.020000>] [T37] snd_hda_intel 0000:00:1f.3: CORB reset timeout#2, CORBRP = 65535
+[ 18.720000 < 1.010000>] [T38] systemd-journald[723]: Received client request to flush runtime journal.
+[ 20.740000 < 2.020000>] [T39] systemd-journald[723]: File /var/log/journal/a124ea923b144109a12d557d5ac53179/system.journal corrupted or uncleanly shut down, renaming and replacing.
+[ 21.752348 < 1.012348>] [T40] systemd-journald[723]: /var/log/journal/ad7a2547ac0e4342a342e62a34a3eae4/user-1000.journal: Journal file uses a different sequence number ID, rotating.
+[ 24.761100 < 3.008752>] [T41] PEFILE: Unsigned PE binary
+[ 35.768091 < 11.006991>] [T42] snd_hda_intel 0000:00:1f.3: CORB reset timeout#2, CORBRP = 65535
+[ 137.791785 < 102.023694>] [C1] usb 3-3.1: device firmware changed
+[ 146.803248 < 9.011463>] [C2] usb 3-3.1: USB disconnect, device number 44
+[ 148.821859 < 2.018611>] [C3] usb 3-3.1: New USB device found, idVendor=17ef, idProduct=6047, bcdDevice= 3.30
+[ 149.840480 < 1.018621>] [C4] perf: interrupt took too long (2518 > 2500)
+[ 150.853128 < 1.012648>] [C5] perf: interrupt took too long (3217 > 3147)
+[ 153.859311 < 3.006183>] [C12] perf: interrupt took too long (3654 > 3239)
+[ 155.861908 < 2.002597>] [C123] perf: interrupt took too long (3789 > 3545)
+[ 158.870434 < 3.008526>] [C1234] perf: interrupt took too long (3891 > 3647)
+[ 161.887625 < 3.017191>] [C12345] perf: interrupt took too long (3947 > 3789)
+[ 163.898434 < 2.010809>] [C123456] perf: interrupt took too long (4011 > 3898)
+[ 166.909842 < 3.011408>] [C1234567] perf: interrupt took too long (4174 > 3987)
+[ 169.911147 < 3.001305>] [T123] User program Dmesg Test Message at warn priority
+[ 178.927435 < 9.016288>] [T1234] User program Dmesg Test Message at warn priority
+[ 185.943456 < 7.016021>] [T12345] User program Dmesg Test Message at notice priority
+[ 189.963238 < 4.019782>] [T123456] User program Dmesg Test Message at info priority
+[ 207.987439 < 18.024201>] [T1234567] User program Dmesg Test Message at debug priority
+
diff --git a/tests/expected/dmesg/cid-kmsg-facilities b/tests/expected/dmesg/cid-kmsg-facilities
new file mode 100644
index 0000000..bacfbd1
--- /dev/null
+++ b/tests/expected/dmesg/cid-kmsg-facilities
@@ -0,0 +1,73 @@
+Display facility list: -1
+Display facility list: 0
+kern :emerg : [ 0.000000] [T1] Linux version 6.6.4-arch1-1 (linux@archlinux) (gcc (GCC) 13.2.1 20230801, GNU ld (GNU Binutils) 2.41.0) #1 SMP PREEMPT_DYNAMIC Mon, 04 Dec 2023 00:29:19 +0000
+kern :alert : [ 0.000001] [T2] Command line: initrd=\ucode.img initrd=\initramfs-linux.img rw cryptdevice=/dev/nvme0n1p3:system:discard root=/dev/mapper/system
+kern :crit : [ 0.000002] [T3] BIOS-provided physical RAM map:
+kern :err : [ 0.000003] [T4] BIOS-e820: [mem 0x0000000000000000-0x000000000009efff] usable
+kern :warn : [ 0.000004] [T5] BIOS-e820: [mem 0x000000000009f000-0x00000000000bffff] reserved
+kern :notice: [ 0.000005] [T6] BIOS-e820: [mem 0x0000000000100000-0x0000000009afffff] usable
+kern :info : [ 0.000006] [T7] BIOS-e820: [mem 0x0000000009b00000-0x0000000009dfffff] reserved
+kern :debug : [ 0.000007] [T8] BIOS-e820: [mem 0x0000000009e00000-0x0000000009efffff] usable
+kern :info : [ 0.000008] [T9] BIOS-e820: [mem 0x0000000009f00000-0x0000000009f3bfff] ACPI NVS
+kern :info : [ 0.000009] [T10] BIOS-e820: [mem 0x0000000009f3c000-0x000000004235ffff] usable
+kern :info : [ 0.000010] [T11] BIOS-e820: [mem 0x0000000042360000-0x000000004455ffff] reserved
+kern :info : [ 0.201607] [T12] smp: Bringing up secondary CPUs ...
+kern :info : [ 0.201607] [T13] smpboot: x86: Booting SMP configuration:
+kern :warn : [ 0.209670] [T14] #1 #3 #5 #7
+kern :info : [ 0.212630] [T15] smp: Brought up 1 node, 16 CPUs
+kern :notice: [ 0.215936] [T16] audit: type=2000 audit(1702926179.015:1): state=initialized audit_enabled=0 res=1
+kern :info : [ 0.215937] [T17] thermal_sys: Registered thermal governor 'fair_share'
+kern :warn : [ 0.215966] [T18] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
+kern :info : [ 0.367657] [T19] ACPI: \_SB_.PCI0.GP19.NHI1.PWRS: New power resource
+kern :info : [ 0.368615] [T20] ACPI: \_SB_.PCI0.GP19.XHC4.PWRS: New power resource
+kern :info : [ 0.376316] [T21] ACPI: \_SB_.PRWL: New power resource
+kern :info : [ 0.376343] [T22] ACPI: \_SB_.PRWB: New power resource
+kern :info : [ 0.377373] [T23] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
+kern :info : [ 0.377378] [T24] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI EDR HPX-Type3]
+kern :info : [ 0.377569] [T25] acpi PNP0A08:00: _OSC: platform does not support [SHPCHotplug AER]
+kern :info : [ 0.377933] [T26] acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug PME PCIeCapability LTR DPC]
+kern :info : [ 0.378458] [T27] PCI host bridge to bus 0000:00
+kern :info : [ 0.378459] [T28] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window]
+kern :info : [ 0.378461] [T29] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window]
+kern :info : [ 15.641860] [T35] usb 3-3: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11
+kern :err : [ 16.690000] [T36] Serial bus multi instantiate pseudo device driver INT3515:00: error -ENXIO: IRQ index 1 not found.
+kern :err : [ 17.710000] [T37] snd_hda_intel 0000:00:1f.3: CORB reset timeout#2, CORBRP = 65535
+kern :warn : [ 24.761100] [T41] PEFILE: Unsigned PE binary
+kern :err : [ 35.768091] [T42] snd_hda_intel 0000:00:1f.3: CORB reset timeout#2, CORBRP = 65535
+kern :info : [ 137.791785] [C1] usb 3-3.1: device firmware changed
+kern :info : [ 146.803248] [C2] usb 3-3.1: USB disconnect, device number 44
+kern :info : [ 148.821859] [C3] usb 3-3.1: New USB device found, idVendor=17ef, idProduct=6047, bcdDevice= 3.30
+kern :info : [ 149.840480] [C4] perf: interrupt took too long (2518 > 2500)
+kern :info : [ 150.853128] [C5] perf: interrupt took too long (3217 > 3147)
+kern :info : [ 153.859311] [C12] perf: interrupt took too long (3654 > 3239)
+kern :info : [ 155.861908] [C123] perf: interrupt took too long (3789 > 3545)
+kern :info : [ 158.870434] [C1234] perf: interrupt took too long (3891 > 3647)
+kern :info : [ 161.887625] [C12345] perf: interrupt took too long (3947 > 3789)
+kern :info : [ 163.898434] [C123456] perf: interrupt took too long (4011 > 3898)
+kern :info : [ 166.909842] [C1234567] perf: interrupt took too long (4174 > 3987)
+Display facility list: 1
+user :notice: [ 9.398562] [T30] user network daemon initialization complete
+user :warn : [ 169.911147] [T123] User program Dmesg Test Message at warn priority
+user :warn : [ 178.927435] [T1234] User program Dmesg Test Message at warn priority
+user :notice: [ 185.943456] [T12345] User program Dmesg Test Message at notice priority
+user :info : [ 189.963238] [T123456] User program Dmesg Test Message at info priority
+user :debug : [ 207.987439] [T1234567] User program Dmesg Test Message at debug priority
+
+Display facility list: 2
+Display facility list: 3
+daemon:info : [ 10.441520] [T31] systemd[1]: systemd 254.7-1.fc39 running in system mode
+daemon:info : [ 11.441524] [T32] systemd[1]: Detected architecture x86-64.
+daemon:info : [ 12.441525] [T33] systemd[1]: Running in initrd.
+daemon:info : [ 13.541598] [T34] systemd[1]: Hostname set to <catalina>.
+Display facility list: 4
+Display facility list: 5
+syslog:info : [ 18.720000] [T38] systemd-journald[723]: Received client request to flush runtime journal.
+syslog:warn : [ 20.740000] [T39] systemd-journald[723]: File /var/log/journal/a124ea923b144109a12d557d5ac53179/system.journal corrupted or uncleanly shut down, renaming and replacing.
+syslog:info : [ 21.752348] [T40] systemd-journald[723]: /var/log/journal/ad7a2547ac0e4342a342e62a34a3eae4/user-1000.journal: Journal file uses a different sequence number ID, rotating.
+Display facility list: 6
+Display facility list: 7
+Display facility list: 8
+Display facility list: 9
+Display facility list: 10
+Display facility list: 11
+Display facility list: 12
diff --git a/tests/expected/dmesg/cid-kmsg-indentation b/tests/expected/dmesg/cid-kmsg-indentation
new file mode 100644
index 0000000..28c0199
--- /dev/null
+++ b/tests/expected/dmesg/cid-kmsg-indentation
@@ -0,0 +1,28 @@
+[ 0.000000] [T0] line zero
+[ 1.000000] [T1] new
+[ 2.000000] [T2] two
+[ 3.000000] [T3] three
+[ 0.000000] [T0] line zero
+[ 1.000000] [T1] new
+[ 2.000000] [T2] two
+[ 3.000000] [T3] three
+[< 0.000000>] [T0] line zero
+[< 0.000000>] [T1] new
+[< 1.000000>] [T2] two
+[< 1.000000>] [T3] three
+[T0] line zero
+[T1] new
+[T2] two
+[T3] three
+[Feb13 23:31] [T0] line zero
+[ +0.000000] [T1] new
+[ +1.000000] [T2] two
+[ +1.000000] [T3] three
+[Fri Feb 13 23:31:30 2009] [T0] line zero
+[Fri Feb 13 23:31:31 2009] [T1] new
+[Fri Feb 13 23:31:32 2009] [T2] two
+[Fri Feb 13 23:31:33 2009] [T3] three
+2009-02-13T23:31:30,123456+00:00 [T0] line zero
+2009-02-13T23:31:31,123456+00:00 [T1] new
+2009-02-13T23:31:32,123456+00:00 [T2] two
+2009-02-13T23:31:33,123456+00:00 [T3] three
diff --git a/tests/expected/dmesg/cid-kmsg-json b/tests/expected/dmesg/cid-kmsg-json
new file mode 100644
index 0000000..942506c
--- /dev/null
+++ b/tests/expected/dmesg/cid-kmsg-json
@@ -0,0 +1,295 @@
+{
+ "dmesg": [
+ {
+ "pri": 0,
+ "time": 0.000000,
+ "caller": "T1",
+ "msg": "Linux version 6.6.4-arch1-1 (linux@archlinux) (gcc (GCC) 13.2.1 20230801, GNU ld (GNU Binutils) 2.41.0) #1 SMP PREEMPT_DYNAMIC Mon, 04 Dec 2023 00:29:19 +0000"
+ },{
+ "pri": 1,
+ "time": 0.000001,
+ "caller": "T2",
+ "msg": "Command line: initrd=\\ucode.img initrd=\\initramfs-linux.img rw cryptdevice=/dev/nvme0n1p3:system:discard root=/dev/mapper/system"
+ },{
+ "pri": 2,
+ "time": 0.000002,
+ "caller": "T3",
+ "msg": "BIOS-provided physical RAM map:"
+ },{
+ "pri": 3,
+ "time": 0.000003,
+ "caller": "T4",
+ "msg": "BIOS-e820: [mem 0x0000000000000000-0x000000000009efff] usable"
+ },{
+ "pri": 4,
+ "time": 0.000004,
+ "caller": "T5",
+ "msg": "BIOS-e820: [mem 0x000000000009f000-0x00000000000bffff] reserved"
+ },{
+ "pri": 5,
+ "time": 0.000005,
+ "caller": "T6",
+ "msg": "BIOS-e820: [mem 0x0000000000100000-0x0000000009afffff] usable"
+ },{
+ "pri": 6,
+ "time": 0.000006,
+ "caller": "T7",
+ "msg": "BIOS-e820: [mem 0x0000000009b00000-0x0000000009dfffff] reserved"
+ },{
+ "pri": 7,
+ "time": 0.000007,
+ "caller": "T8",
+ "msg": "BIOS-e820: [mem 0x0000000009e00000-0x0000000009efffff] usable"
+ },{
+ "pri": 6,
+ "time": 0.000008,
+ "caller": "T9",
+ "msg": "BIOS-e820: [mem 0x0000000009f00000-0x0000000009f3bfff] ACPI NVS"
+ },{
+ "pri": 6,
+ "time": 0.000009,
+ "caller": "T10",
+ "msg": "BIOS-e820: [mem 0x0000000009f3c000-0x000000004235ffff] usable"
+ },{
+ "pri": 6,
+ "time": 0.000010,
+ "caller": "T11",
+ "msg": "BIOS-e820: [mem 0x0000000042360000-0x000000004455ffff] reserved"
+ },{
+ "pri": 6,
+ "time": 0.201607,
+ "caller": "T12",
+ "msg": "smp: Bringing up secondary CPUs ..."
+ },{
+ "pri": 6,
+ "time": 0.201607,
+ "caller": "T13",
+ "msg": "smpboot: x86: Booting SMP configuration:"
+ },{
+ "pri": 4,
+ "time": 0.209670,
+ "caller": "T14",
+ "msg": " #1 #3 #5 #7"
+ },{
+ "pri": 6,
+ "time": 0.212630,
+ "caller": "T15",
+ "msg": "smp: Brought up 1 node, 16 CPUs"
+ },{
+ "pri": 5,
+ "time": 0.215936,
+ "caller": "T16",
+ "msg": "audit: type=2000 audit(1702926179.015:1): state=initialized audit_enabled=0 res=1"
+ },{
+ "pri": 6,
+ "time": 0.215937,
+ "caller": "T17",
+ "msg": "thermal_sys: Registered thermal governor 'fair_share'"
+ },{
+ "pri": 4,
+ "time": 0.215966,
+ "caller": "T18",
+ "msg": "ENERGY_PERF_BIAS: Set to 'normal', was 'performance'"
+ },{
+ "pri": 6,
+ "time": 0.367657,
+ "caller": "T19",
+ "msg": "ACPI: \\_SB_.PCI0.GP19.NHI1.PWRS: New power resource"
+ },{
+ "pri": 6,
+ "time": 0.368615,
+ "caller": "T20",
+ "msg": "ACPI: \\_SB_.PCI0.GP19.XHC4.PWRS: New power resource"
+ },{
+ "pri": 6,
+ "time": 0.376316,
+ "caller": "T21",
+ "msg": "ACPI: \\_SB_.PRWL: New power resource"
+ },{
+ "pri": 6,
+ "time": 0.376343,
+ "caller": "T22",
+ "msg": "ACPI: \\_SB_.PRWB: New power resource"
+ },{
+ "pri": 6,
+ "time": 0.377373,
+ "caller": "T23",
+ "msg": "ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])"
+ },{
+ "pri": 6,
+ "time": 0.377378,
+ "caller": "T24",
+ "msg": "acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI EDR HPX-Type3]"
+ },{
+ "pri": 6,
+ "time": 0.377569,
+ "caller": "T25",
+ "msg": "acpi PNP0A08:00: _OSC: platform does not support [SHPCHotplug AER]"
+ },{
+ "pri": 6,
+ "time": 0.377933,
+ "caller": "T26",
+ "msg": "acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug PME PCIeCapability LTR DPC]"
+ },{
+ "pri": 6,
+ "time": 0.378458,
+ "caller": "T27",
+ "msg": "PCI host bridge to bus 0000:00"
+ },{
+ "pri": 6,
+ "time": 0.378459,
+ "caller": "T28",
+ "msg": "pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window]"
+ },{
+ "pri": 6,
+ "time": 0.378461,
+ "caller": "T29",
+ "msg": "pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window]"
+ },{
+ "pri": 13,
+ "time": 9.398562,
+ "caller": "T30",
+ "msg": "user network daemon initialization complete"
+ },{
+ "pri": 30,
+ "time": 10.441520,
+ "caller": "T31",
+ "msg": "systemd[1]: systemd 254.7-1.fc39 running in system mode"
+ },{
+ "pri": 30,
+ "time": 11.441524,
+ "caller": "T32",
+ "msg": "systemd[1]: Detected architecture x86-64."
+ },{
+ "pri": 30,
+ "time": 12.441525,
+ "caller": "T33",
+ "msg": "systemd[1]: Running in initrd."
+ },{
+ "pri": 30,
+ "time": 13.541598,
+ "caller": "T34",
+ "msg": "systemd[1]: Hostname set to <catalina>."
+ },{
+ "pri": 6,
+ "time": 15.641860,
+ "caller": "T35",
+ "msg": "usb 3-3: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11"
+ },{
+ "pri": 3,
+ "time": 16.690000,
+ "caller": "T36",
+ "msg": "Serial bus multi instantiate pseudo device driver INT3515:00: error -ENXIO: IRQ index 1 not found."
+ },{
+ "pri": 3,
+ "time": 17.710000,
+ "caller": "T37",
+ "msg": "snd_hda_intel 0000:00:1f.3: CORB reset timeout#2, CORBRP = 65535"
+ },{
+ "pri": 46,
+ "time": 18.720000,
+ "caller": "T38",
+ "msg": "systemd-journald[723]: Received client request to flush runtime journal."
+ },{
+ "pri": 44,
+ "time": 20.740000,
+ "caller": "T39",
+ "msg": "systemd-journald[723]: File /var/log/journal/a124ea923b144109a12d557d5ac53179/system.journal corrupted or uncleanly shut down, renaming and replacing."
+ },{
+ "pri": 46,
+ "time": 21.752348,
+ "caller": "T40",
+ "msg": "systemd-journald[723]: /var/log/journal/ad7a2547ac0e4342a342e62a34a3eae4/user-1000.journal: Journal file uses a different sequence number ID, rotating."
+ },{
+ "pri": 4,
+ "time": 24.761100,
+ "caller": "T41",
+ "msg": "PEFILE: Unsigned PE binary"
+ },{
+ "pri": 3,
+ "time": 35.768091,
+ "caller": "T42",
+ "msg": "snd_hda_intel 0000:00:1f.3: CORB reset timeout#2, CORBRP = 65535"
+ },{
+ "pri": 6,
+ "time": 137.791785,
+ "caller": "C1",
+ "msg": "usb 3-3.1: device firmware changed"
+ },{
+ "pri": 6,
+ "time": 146.803248,
+ "caller": "C2",
+ "msg": "usb 3-3.1: USB disconnect, device number 44"
+ },{
+ "pri": 6,
+ "time": 148.821859,
+ "caller": "C3",
+ "msg": "usb 3-3.1: New USB device found, idVendor=17ef, idProduct=6047, bcdDevice= 3.30"
+ },{
+ "pri": 6,
+ "time": 149.840480,
+ "caller": "C4",
+ "msg": "perf: interrupt took too long (2518 > 2500)"
+ },{
+ "pri": 6,
+ "time": 150.853128,
+ "caller": "C5",
+ "msg": "perf: interrupt took too long (3217 > 3147)"
+ },{
+ "pri": 6,
+ "time": 153.859311,
+ "caller": "C12",
+ "msg": "perf: interrupt took too long (3654 > 3239)"
+ },{
+ "pri": 6,
+ "time": 155.861908,
+ "caller": "C123",
+ "msg": "perf: interrupt took too long (3789 > 3545)"
+ },{
+ "pri": 6,
+ "time": 158.870434,
+ "caller": "C1234",
+ "msg": "perf: interrupt took too long (3891 > 3647)"
+ },{
+ "pri": 6,
+ "time": 161.887625,
+ "caller": "C12345",
+ "msg": "perf: interrupt took too long (3947 > 3789)"
+ },{
+ "pri": 6,
+ "time": 163.898434,
+ "caller": "C123456",
+ "msg": "perf: interrupt took too long (4011 > 3898)"
+ },{
+ "pri": 6,
+ "time": 166.909842,
+ "caller": "C1234567",
+ "msg": "perf: interrupt took too long (4174 > 3987)"
+ },{
+ "pri": 12,
+ "time": 169.911147,
+ "caller": "T123",
+ "msg": "User program Dmesg Test Message at warn priority"
+ },{
+ "pri": 12,
+ "time": 178.927435,
+ "caller": "T1234",
+ "msg": "User program Dmesg Test Message at warn priority"
+ },{
+ "pri": 13,
+ "time": 185.943456,
+ "caller": "T12345",
+ "msg": "User program Dmesg Test Message at notice priority"
+ },{
+ "pri": 14,
+ "time": 189.963238,
+ "caller": "T123456",
+ "msg": "User program Dmesg Test Message at info priority"
+ },{
+ "pri": 15,
+ "time": 207.987439,
+ "caller": "T1234567",
+ "msg": "User program Dmesg Test Message at debug priority\n"
+ }
+ ]
+}
diff --git a/tests/expected/dmesg/cid-kmsg-limit b/tests/expected/dmesg/cid-kmsg-limit
new file mode 100644
index 0000000..372432d
--- /dev/null
+++ b/tests/expected/dmesg/cid-kmsg-limit
@@ -0,0 +1,31 @@
+[ 0.201607] [T12] smp: Bringing up secondary CPUs ...
+[ 0.201607] [T13] smpboot: x86: Booting SMP configuration:
+[ 0.209670] [T14] #1 #3 #5 #7
+[ 0.212630] [T15] smp: Brought up 1 node, 16 CPUs
+[ 0.215936] [T16] audit: type=2000 audit(1702926179.015:1): state=initialized audit_enabled=0 res=1
+[ 0.215937] [T17] thermal_sys: Registered thermal governor 'fair_share'
+[ 0.215966] [T18] ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
+[ 0.367657] [T19] ACPI: \_SB_.PCI0.GP19.NHI1.PWRS: New power resource
+[ 0.368615] [T20] ACPI: \_SB_.PCI0.GP19.XHC4.PWRS: New power resource
+[ 0.376316] [T21] ACPI: \_SB_.PRWL: New power resource
+[ 0.376343] [T22] ACPI: \_SB_.PRWB: New power resource
+[ 0.377373] [T23] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
+[ 0.377378] [T24] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI EDR HPX-Type3]
+[ 0.377569] [T25] acpi PNP0A08:00: _OSC: platform does not support [SHPCHotplug AER]
+[ 0.377933] [T26] acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug PME PCIeCapability LTR DPC]
+[ 0.378458] [T27] PCI host bridge to bus 0000:00
+[ 0.378459] [T28] pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window]
+[ 0.378461] [T29] pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window]
+[ 9.398562] [T30] user network daemon initialization complete
+[ 10.441520] [T31] systemd[1]: systemd 254.7-1.fc39 running in system mode
+[ 11.441524] [T32] systemd[1]: Detected architecture x86-64.
+[ 12.441525] [T33] systemd[1]: Running in initrd.
+[ 13.541598] [T34] systemd[1]: Hostname set to <catalina>.
+[ 15.641860] [T35] usb 3-3: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11
+[ 16.690000] [T36] Serial bus multi instantiate pseudo device driver INT3515:00: error -ENXIO: IRQ index 1 not found.
+[ 17.710000] [T37] snd_hda_intel 0000:00:1f.3: CORB reset timeout#2, CORBRP = 65535
+[ 18.720000] [T38] systemd-journald[723]: Received client request to flush runtime journal.
+[ 20.740000] [T39] systemd-journald[723]: File /var/log/journal/a124ea923b144109a12d557d5ac53179/system.journal corrupted or uncleanly shut down, renaming and replacing.
+[ 21.752348] [T40] systemd-journald[723]: /var/log/journal/ad7a2547ac0e4342a342e62a34a3eae4/user-1000.journal: Journal file uses a different sequence number ID, rotating.
+[ 24.761100] [T41] PEFILE: Unsigned PE binary
+[ 35.768091] [T42] snd_hda_intel 0000:00:1f.3: CORB reset timeout#2, CORBRP = 65535
diff --git a/tests/expected/dmesg/colors b/tests/expected/dmesg/colors
index 40aca73..7a5035e 100644
--- a/tests/expected/dmesg/colors
+++ b/tests/expected/dmesg/colors
@@ -94,12 +94,13 @@ ftp :warn : [778688.000000] example[92]
ftp :notice: [804357.000000] example[93]
ftp :info : [830584.000000] example[94]
ftp :debug : [857375.000000] example[95]
-[884736.000000] example[96]
-[912673.000000] example[97]
-[941192.000000] example[98]
-[970299.000000] example[99]
-[1000000.000000] example[100]
-[1030301.000000] example[101]
-[1061208.000000] example[102]
-[1092727.000000] example[103]
-[1124864.000000] example[104]
+res0 :emerg : [884736.000000] example[96]
+res0 :alert : [912673.000000] example[97]
+res0 :crit : [941192.000000] example[98]
+res0 :err : [970299.000000] example[99]
+res0 :warn : [1000000.000000] example[100]
+res0 :notice: [1030301.000000] example[101]
+res0 :info : [1061208.000000] example[102]
+res0 :debug : [1092727.000000] example[103]
+res1 :emerg : [1124864.000000] example[104]
+local2:info : [4557523.000000] example[105]
diff --git a/tests/expected/dmesg/console-levels b/tests/expected/dmesg/console-levels
index 43615f8..7229e8c 100644
--- a/tests/expected/dmesg/console-levels
+++ b/tests/expected/dmesg/console-levels
@@ -11,6 +11,7 @@
[512000.000000] example[80]
[681472.000000] example[88]
[884736.000000] example[96]
+[1124864.000000] example[104]
[ 1.000000] example[1]
[ 729.000000] example[9]
[ 4913.000000] example[17]
@@ -89,6 +90,7 @@
[636056.000000] example[86]
[830584.000000] example[94]
[1061208.000000] example[102]
+[4557523.000000] example[105]
[ 343.000000] example[7]
[ 3375.000000] example[15]
[12167.000000] example[23]
@@ -154,6 +156,7 @@
[912673.000000] example[97]
[941192.000000] example[98]
[970299.000000] example[99]
+[1124864.000000] example[104]
[ 0.000000] example[0]
[ 512.000000] example[8]
[ 4096.000000] example[16]
@@ -167,6 +170,7 @@
[512000.000000] example[80]
[681472.000000] example[88]
[884736.000000] example[96]
+[1124864.000000] example[104]
[ 27.000000] example[3]
[ 64.000000] example[4]
[ 125.000000] example[5]
@@ -232,6 +236,7 @@
[1030301.000000] example[101]
[1061208.000000] example[102]
[1092727.000000] example[103]
+[4557523.000000] example[105]
[ 343.000000] example[7]
[ 3375.000000] example[15]
[12167.000000] example[23]
diff --git a/tests/expected/dmesg/decode b/tests/expected/dmesg/decode
index f3541a6..f8088d0 100644
--- a/tests/expected/dmesg/decode
+++ b/tests/expected/dmesg/decode
@@ -94,12 +94,13 @@ ftp :warn : [778688.000000] example[92]
ftp :notice: [804357.000000] example[93]
ftp :info : [830584.000000] example[94]
ftp :debug : [857375.000000] example[95]
-[884736.000000] example[96]
-[912673.000000] example[97]
-[941192.000000] example[98]
-[970299.000000] example[99]
-[1000000.000000] example[100]
-[1030301.000000] example[101]
-[1061208.000000] example[102]
-[1092727.000000] example[103]
-[1124864.000000] example[104]
+res0 :emerg : [884736.000000] example[96]
+res0 :alert : [912673.000000] example[97]
+res0 :crit : [941192.000000] example[98]
+res0 :err : [970299.000000] example[99]
+res0 :warn : [1000000.000000] example[100]
+res0 :notice: [1030301.000000] example[101]
+res0 :info : [1061208.000000] example[102]
+res0 :debug : [1092727.000000] example[103]
+res1 :emerg : [1124864.000000] example[104]
+local2:info : [4557523.000000] example[105]
diff --git a/tests/expected/dmesg/delta b/tests/expected/dmesg/delta
index 01dfec3..d90d494 100644
--- a/tests/expected/dmesg/delta
+++ b/tests/expected/dmesg/delta
@@ -103,3 +103,4 @@
[1061208.000000 <30907.000000>] example[102]
[1092727.000000 <31519.000000>] example[103]
[1124864.000000 <32137.000000>] example[104]
+[4557523.000000 <3432659.000000>] example[105]
diff --git a/tests/expected/dmesg/facilities b/tests/expected/dmesg/facilities
index 9733e56..d5c4c43 100644
--- a/tests/expected/dmesg/facilities
+++ b/tests/expected/dmesg/facilities
@@ -94,3 +94,11 @@
[804357.000000] example[93]
[830584.000000] example[94]
[857375.000000] example[95]
+[884736.000000] example[96]
+[912673.000000] example[97]
+[941192.000000] example[98]
+[970299.000000] example[99]
+[1000000.000000] example[100]
+[1030301.000000] example[101]
+[1061208.000000] example[102]
+[1092727.000000] example[103]
diff --git a/tests/expected/dmesg/json b/tests/expected/dmesg/json
new file mode 100644
index 0000000..894d629
--- /dev/null
+++ b/tests/expected/dmesg/json
@@ -0,0 +1,429 @@
+{
+ "dmesg": [
+ {
+ "pri": 0,
+ "time": 0.000000,
+ "msg": "example[0]"
+ },{
+ "pri": 1,
+ "time": 1.000000,
+ "msg": "example[1]"
+ },{
+ "pri": 2,
+ "time": 8.000000,
+ "msg": "example[2]"
+ },{
+ "pri": 3,
+ "time": 27.000000,
+ "msg": "example[3]"
+ },{
+ "pri": 4,
+ "time": 64.000000,
+ "msg": "example[4]"
+ },{
+ "pri": 5,
+ "time": 125.000000,
+ "msg": "example[5]"
+ },{
+ "pri": 6,
+ "time": 216.000000,
+ "msg": "example[6]"
+ },{
+ "pri": 7,
+ "time": 343.000000,
+ "msg": "example[7]"
+ },{
+ "pri": 8,
+ "time": 512.000000,
+ "msg": "example[8]"
+ },{
+ "pri": 9,
+ "time": 729.000000,
+ "msg": "example[9]"
+ },{
+ "pri": 10,
+ "time": 1000.000000,
+ "msg": "example[10]"
+ },{
+ "pri": 11,
+ "time": 1331.000000,
+ "msg": "example[11]"
+ },{
+ "pri": 12,
+ "time": 1728.000000,
+ "msg": "example[12]"
+ },{
+ "pri": 13,
+ "time": 2197.000000,
+ "msg": "example[13]"
+ },{
+ "pri": 14,
+ "time": 2744.000000,
+ "msg": "example[14]"
+ },{
+ "pri": 15,
+ "time": 3375.000000,
+ "msg": "example[15]"
+ },{
+ "pri": 16,
+ "time": 4096.000000,
+ "msg": "example[16]"
+ },{
+ "pri": 17,
+ "time": 4913.000000,
+ "msg": "example[17]"
+ },{
+ "pri": 18,
+ "time": 5832.000000,
+ "msg": "example[18]"
+ },{
+ "pri": 19,
+ "time": 6859.000000,
+ "msg": "example[19]"
+ },{
+ "pri": 20,
+ "time": 8000.000000,
+ "msg": "example[20]"
+ },{
+ "pri": 21,
+ "time": 9261.000000,
+ "msg": "example[21]"
+ },{
+ "pri": 22,
+ "time": 10648.000000,
+ "msg": "example[22]"
+ },{
+ "pri": 23,
+ "time": 12167.000000,
+ "msg": "example[23]"
+ },{
+ "pri": 24,
+ "time": 13824.000000,
+ "msg": "example[24]"
+ },{
+ "pri": 25,
+ "time": 15625.000000,
+ "msg": "example[25]"
+ },{
+ "pri": 26,
+ "time": 17576.000000,
+ "msg": "example[26]"
+ },{
+ "pri": 27,
+ "time": 19683.000000,
+ "msg": "example[27]"
+ },{
+ "pri": 28,
+ "time": 21952.000000,
+ "msg": "example[28]"
+ },{
+ "pri": 29,
+ "time": 24389.000000,
+ "msg": "example[29]"
+ },{
+ "pri": 30,
+ "time": 27000.000000,
+ "msg": "example[30]"
+ },{
+ "pri": 31,
+ "time": 29791.000000,
+ "msg": "example[31]"
+ },{
+ "pri": 32,
+ "time": 32768.000000,
+ "msg": "example[32]"
+ },{
+ "pri": 33,
+ "time": 35937.000000,
+ "msg": "example[33]"
+ },{
+ "pri": 34,
+ "time": 39304.000000,
+ "msg": "example[34]"
+ },{
+ "pri": 35,
+ "time": 42875.000000,
+ "msg": "example[35]"
+ },{
+ "pri": 36,
+ "time": 46656.000000,
+ "msg": "example[36]"
+ },{
+ "pri": 37,
+ "time": 50653.000000,
+ "msg": "example[37]"
+ },{
+ "pri": 38,
+ "time": 54872.000000,
+ "msg": "example[38]"
+ },{
+ "pri": 39,
+ "time": 59319.000000,
+ "msg": "example[39]"
+ },{
+ "pri": 40,
+ "time": 64000.000000,
+ "msg": "example[40]"
+ },{
+ "pri": 41,
+ "time": 68921.000000,
+ "msg": "example[41]"
+ },{
+ "pri": 42,
+ "time": 74088.000000,
+ "msg": "example[42]"
+ },{
+ "pri": 43,
+ "time": 79507.000000,
+ "msg": "example[43]"
+ },{
+ "pri": 44,
+ "time": 85184.000000,
+ "msg": "example[44]"
+ },{
+ "pri": 45,
+ "time": 91125.000000,
+ "msg": "example[45]"
+ },{
+ "pri": 46,
+ "time": 97336.000000,
+ "msg": "example[46]"
+ },{
+ "pri": 47,
+ "time": 103823.000000,
+ "msg": "example[47]"
+ },{
+ "pri": 48,
+ "time": 110592.000000,
+ "msg": "example[48]"
+ },{
+ "pri": 49,
+ "time": 117649.000000,
+ "msg": "example[49]"
+ },{
+ "pri": 50,
+ "time": 125000.000000,
+ "msg": "example[50]"
+ },{
+ "pri": 51,
+ "time": 132651.000000,
+ "msg": "example[51]"
+ },{
+ "pri": 52,
+ "time": 140608.000000,
+ "msg": "example[52]"
+ },{
+ "pri": 53,
+ "time": 148877.000000,
+ "msg": "example[53]"
+ },{
+ "pri": 54,
+ "time": 157464.000000,
+ "msg": "example[54]"
+ },{
+ "pri": 55,
+ "time": 166375.000000,
+ "msg": "example[55]"
+ },{
+ "pri": 56,
+ "time": 175616.000000,
+ "msg": "example[56]"
+ },{
+ "pri": 57,
+ "time": 185193.000000,
+ "msg": "example[57]"
+ },{
+ "pri": 58,
+ "time": 195112.000000,
+ "msg": "example[58]"
+ },{
+ "pri": 59,
+ "time": 205379.000000,
+ "msg": "example[59]"
+ },{
+ "pri": 60,
+ "time": 216000.000000,
+ "msg": "example[60]"
+ },{
+ "pri": 61,
+ "time": 226981.000000,
+ "msg": "example[61]"
+ },{
+ "pri": 62,
+ "time": 238328.000000,
+ "msg": "example[62]"
+ },{
+ "pri": 63,
+ "time": 250047.000000,
+ "msg": "example[63]"
+ },{
+ "pri": 64,
+ "time": 262144.000000,
+ "msg": "example[64]"
+ },{
+ "pri": 65,
+ "time": 274625.000000,
+ "msg": "example[65]"
+ },{
+ "pri": 66,
+ "time": 287496.000000,
+ "msg": "example[66]"
+ },{
+ "pri": 67,
+ "time": 300763.000000,
+ "msg": "example[67]"
+ },{
+ "pri": 68,
+ "time": 314432.000000,
+ "msg": "example[68]"
+ },{
+ "pri": 69,
+ "time": 328509.000000,
+ "msg": "example[69]"
+ },{
+ "pri": 70,
+ "time": 343000.000000,
+ "msg": "example[70]"
+ },{
+ "pri": 71,
+ "time": 357911.000000,
+ "msg": "example[71]"
+ },{
+ "pri": 72,
+ "time": 373248.000000,
+ "msg": "example[72]"
+ },{
+ "pri": 73,
+ "time": 389017.000000,
+ "msg": "example[73]"
+ },{
+ "pri": 74,
+ "time": 405224.000000,
+ "msg": "example[74]"
+ },{
+ "pri": 75,
+ "time": 421875.000000,
+ "msg": "example[75]"
+ },{
+ "pri": 76,
+ "time": 438976.000000,
+ "msg": "example[76]"
+ },{
+ "pri": 77,
+ "time": 456533.000000,
+ "msg": "example[77]"
+ },{
+ "pri": 78,
+ "time": 474552.000000,
+ "msg": "example[78]"
+ },{
+ "pri": 79,
+ "time": 493039.000000,
+ "msg": "example[79]"
+ },{
+ "pri": 80,
+ "time": 512000.000000,
+ "msg": "example[80]"
+ },{
+ "pri": 81,
+ "time": 531441.000000,
+ "msg": "example[81]"
+ },{
+ "pri": 82,
+ "time": 551368.000000,
+ "msg": "example[82]"
+ },{
+ "pri": 83,
+ "time": 571787.000000,
+ "msg": "example[83]"
+ },{
+ "pri": 84,
+ "time": 592704.000000,
+ "msg": "example[84]"
+ },{
+ "pri": 85,
+ "time": 614125.000000,
+ "msg": "example[85]"
+ },{
+ "pri": 86,
+ "time": 636056.000000,
+ "msg": "example[86]"
+ },{
+ "pri": 87,
+ "time": 658503.000000,
+ "msg": "example[87]"
+ },{
+ "pri": 88,
+ "time": 681472.000000,
+ "msg": "example[88]"
+ },{
+ "pri": 89,
+ "time": 704969.000000,
+ "msg": "example[89]"
+ },{
+ "pri": 90,
+ "time": 729000.000000,
+ "msg": "example[90]"
+ },{
+ "pri": 91,
+ "time": 753571.000000,
+ "msg": "example[91]"
+ },{
+ "pri": 92,
+ "time": 778688.000000,
+ "msg": "example[92]"
+ },{
+ "pri": 93,
+ "time": 804357.000000,
+ "msg": "example[93]"
+ },{
+ "pri": 94,
+ "time": 830584.000000,
+ "msg": "example[94]"
+ },{
+ "pri": 95,
+ "time": 857375.000000,
+ "msg": "example[95]"
+ },{
+ "pri": 96,
+ "time": 884736.000000,
+ "msg": "example[96]"
+ },{
+ "pri": 97,
+ "time": 912673.000000,
+ "msg": "example[97]"
+ },{
+ "pri": 98,
+ "time": 941192.000000,
+ "msg": "example[98]"
+ },{
+ "pri": 99,
+ "time": 970299.000000,
+ "msg": "example[99]"
+ },{
+ "pri": 100,
+ "time": 1000000.000000,
+ "msg": "example[100]"
+ },{
+ "pri": 101,
+ "time": 1030301.000000,
+ "msg": "example[101]"
+ },{
+ "pri": 102,
+ "time": 1061208.000000,
+ "msg": "example[102]"
+ },{
+ "pri": 103,
+ "time": 1092727.000000,
+ "msg": "example[103]"
+ },{
+ "pri": 104,
+ "time": 1124864.000000,
+ "msg": "example[104]"
+ },{
+ "pri": 150,
+ "time": 4557523.000000,
+ "msg": "example[105]"
+ }
+ ]
+}
diff --git a/tests/expected/dmesg/kmsg-file b/tests/expected/dmesg/kmsg-file
new file mode 100644
index 0000000..984588e
--- /dev/null
+++ b/tests/expected/dmesg/kmsg-file
@@ -0,0 +1,185 @@
+{
+ "dmesg": [
+ {
+ "pri": 0,
+ "time": 0.000000,
+ "msg": "Linux version 6.6.4-arch1-1 (linux@archlinux) (gcc (GCC) 13.2.1 20230801, GNU ld (GNU Binutils) 2.41.0) #1 SMP PREEMPT_DYNAMIC Mon, 04 Dec 2023 00:29:19 +0000"
+ },{
+ "pri": 1,
+ "time": 0.000001,
+ "msg": "Command line: initrd=\\ucode.img initrd=\\initramfs-linux.img rw cryptdevice=/dev/nvme0n1p3:system:discard root=/dev/mapper/system"
+ },{
+ "pri": 2,
+ "time": 0.000002,
+ "msg": "BIOS-provided physical RAM map:"
+ },{
+ "pri": 3,
+ "time": 0.000003,
+ "msg": "BIOS-e820: [mem 0x0000000000000000-0x000000000009efff] usable"
+ },{
+ "pri": 4,
+ "time": 0.000004,
+ "msg": "BIOS-e820: [mem 0x000000000009f000-0x00000000000bffff] reserved"
+ },{
+ "pri": 5,
+ "time": 0.000005,
+ "msg": "BIOS-e820: [mem 0x0000000000100000-0x0000000009afffff] usable"
+ },{
+ "pri": 6,
+ "time": 0.000006,
+ "msg": "BIOS-e820: [mem 0x0000000009b00000-0x0000000009dfffff] reserved"
+ },{
+ "pri": 7,
+ "time": 0.000007,
+ "msg": "BIOS-e820: [mem 0x0000000009e00000-0x0000000009efffff] usable"
+ },{
+ "pri": 6,
+ "time": 0.000008,
+ "msg": "BIOS-e820: [mem 0x0000000009f00000-0x0000000009f3bfff] ACPI NVS"
+ },{
+ "pri": 6,
+ "time": 0.000009,
+ "msg": "BIOS-e820: [mem 0x0000000009f3c000-0x000000004235ffff] usable"
+ },{
+ "pri": 6,
+ "time": 0.000010,
+ "msg": "BIOS-e820: [mem 0x0000000042360000-0x000000004455ffff] reserved"
+ },{
+ "pri": 6,
+ "time": 0.201607,
+ "msg": "smp: Bringing up secondary CPUs ..."
+ },{
+ "pri": 6,
+ "time": 0.201607,
+ "msg": "smpboot: x86: Booting SMP configuration:"
+ },{
+ "pri": 4,
+ "time": 0.209670,
+ "msg": " #1 #3 #5 #7"
+ },{
+ "pri": 6,
+ "time": 0.212630,
+ "msg": "smp: Brought up 1 node, 16 CPUs"
+ },{
+ "pri": 5,
+ "time": 0.215936,
+ "msg": "audit: type=2000 audit(1702926179.015:1): state=initialized audit_enabled=0 res=1"
+ },{
+ "pri": 6,
+ "time": 0.215937,
+ "msg": "thermal_sys: Registered thermal governor 'fair_share'"
+ },{
+ "pri": 4,
+ "time": 0.215966,
+ "msg": "ENERGY_PERF_BIAS: Set to 'normal', was 'performance'"
+ },{
+ "pri": 6,
+ "time": 0.367657,
+ "msg": "ACPI: \\_SB_.PCI0.GP19.NHI1.PWRS: New power resource"
+ },{
+ "pri": 6,
+ "time": 0.368615,
+ "msg": "ACPI: \\_SB_.PCI0.GP19.XHC4.PWRS: New power resource"
+ },{
+ "pri": 6,
+ "time": 0.376316,
+ "msg": "ACPI: \\_SB_.PRWL: New power resource"
+ },{
+ "pri": 6,
+ "time": 0.376343,
+ "msg": "ACPI: \\_SB_.PRWB: New power resource"
+ },{
+ "pri": 6,
+ "time": 0.377373,
+ "msg": "ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])"
+ },{
+ "pri": 6,
+ "time": 0.377378,
+ "msg": "acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM Segments MSI EDR HPX-Type3]"
+ },{
+ "pri": 6,
+ "time": 0.377569,
+ "msg": "acpi PNP0A08:00: _OSC: platform does not support [SHPCHotplug AER]"
+ },{
+ "pri": 6,
+ "time": 0.377933,
+ "msg": "acpi PNP0A08:00: _OSC: OS now controls [PCIeHotplug PME PCIeCapability LTR DPC]"
+ },{
+ "pri": 6,
+ "time": 0.378458,
+ "msg": "PCI host bridge to bus 0000:00"
+ },{
+ "pri": 6,
+ "time": 0.378459,
+ "msg": "pci_bus 0000:00: root bus resource [io 0x0000-0x0cf7 window]"
+ },{
+ "pri": 6,
+ "time": 0.378461,
+ "msg": "pci_bus 0000:00: root bus resource [io 0x0d00-0xffff window]"
+ },{
+ "pri": 13,
+ "time": 9.398562,
+ "msg": "user network daemon initialization complete"
+ },{
+ "pri": 30,
+ "time": 10.441520,
+ "msg": "systemd[1]: systemd 254.7-1.fc39 running in system mode"
+ },{
+ "pri": 30,
+ "time": 11.441524,
+ "msg": "systemd[1]: Detected architecture x86-64."
+ },{
+ "pri": 30,
+ "time": 12.441525,
+ "msg": "systemd[1]: Running in initrd."
+ },{
+ "pri": 30,
+ "time": 13.541598,
+ "msg": "systemd[1]: Hostname set to <catalina>."
+ },{
+ "pri": 6,
+ "time": 15.641860,
+ "msg": "usb 3-3: New USB device found, idVendor=1a40, idProduct=0101, bcdDevice= 1.11"
+ },{
+ "pri": 3,
+ "time": 16.690000,
+ "msg": "Serial bus multi instantiate pseudo device driver INT3515:00: error -ENXIO: IRQ index 1 not found."
+ },{
+ "pri": 3,
+ "time": 17.710000,
+ "msg": "snd_hda_intel 0000:00:1f.3: CORB reset timeout#2, CORBRP = 65535"
+ },{
+ "pri": 46,
+ "time": 18.820000,
+ "msg": "systemd-journald[723]: Received client request to flush runtime journal."
+ },{
+ "pri": 44,
+ "time": 20.840000,
+ "msg": "systemd-journald[723]: File /var/log/journal/a124ea923b144109a12d557d5ac53179/system.journal corrupted or uncleanly shut down, renaming and replacing."
+ },{
+ "pri": 46,
+ "time": 21.852348,
+ "msg": "systemd-journald[723]: /var/log/journal/ad7a2547ac0e4342a342e62a34a3eae4/user-1000.journal: Journal file uses a different sequence number ID, rotating."
+ },{
+ "pri": 4,
+ "time": 24.871100,
+ "msg": "PEFILE: Unsigned PE binary"
+ },{
+ "pri": 3,
+ "time": 33.918091,
+ "msg": "snd_hda_intel 0000:00:1f.3: CORB reset timeout#2, CORBRP = 65535"
+ },{
+ "pri": 6,
+ "time": 144.931785,
+ "msg": "usb 3-3.1: device firmware changed"
+ },{
+ "pri": 6,
+ "time": 145.953248,
+ "msg": "usb 3-3.1: USB disconnect, device number 44"
+ },{
+ "pri": 6,
+ "time": 147.981859,
+ "msg": "usb 3-3.1: New USB device found, idVendor=17ef, idProduct=6047, bcdDevice= 3.30"
+ }
+ ]
+}
diff --git a/tests/expected/dmesg/timestamp-format b/tests/expected/dmesg/timestamp-format
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/expected/dmesg/timestamp-format
diff --git a/tests/expected/dmesg/timestamp-format-delta b/tests/expected/dmesg/timestamp-format-delta
new file mode 100644
index 0000000..3eb2ddb
--- /dev/null
+++ b/tests/expected/dmesg/timestamp-format-delta
@@ -0,0 +1,106 @@
+2009-02-13T23:31:30,123456+00:00 [< 0.000000>] example[0]
+2009-02-13T23:31:31,123456+00:00 [< 0.000000>] example[1]
+2009-02-13T23:31:38,123456+00:00 [< 7.000000>] example[2]
+2009-02-13T23:31:57,123456+00:00 [< 19.000000>] example[3]
+2009-02-13T23:32:34,123456+00:00 [< 37.000000>] example[4]
+2009-02-13T23:33:35,123456+00:00 [< 61.000000>] example[5]
+2009-02-13T23:35:06,123456+00:00 [< 91.000000>] example[6]
+2009-02-13T23:37:13,123456+00:00 [< 127.000000>] example[7]
+2009-02-13T23:40:02,123456+00:00 [< 169.000000>] example[8]
+2009-02-13T23:43:39,123456+00:00 [< 217.000000>] example[9]
+2009-02-13T23:48:10,123456+00:00 [< 271.000000>] example[10]
+2009-02-13T23:53:41,123456+00:00 [< 331.000000>] example[11]
+2009-02-14T00:00:18,123456+00:00 [< 397.000000>] example[12]
+2009-02-14T00:08:07,123456+00:00 [< 469.000000>] example[13]
+2009-02-14T00:17:14,123456+00:00 [< 547.000000>] example[14]
+2009-02-14T00:27:45,123456+00:00 [< 631.000000>] example[15]
+2009-02-14T00:39:46,123456+00:00 [< 721.000000>] example[16]
+2009-02-14T00:53:23,123456+00:00 [< 817.000000>] example[17]
+2009-02-14T01:08:42,123456+00:00 [< 919.000000>] example[18]
+2009-02-14T01:25:49,123456+00:00 [< 1027.000000>] example[19]
+2009-02-14T01:44:50,123456+00:00 [< 1141.000000>] example[20]
+2009-02-14T02:05:51,123456+00:00 [< 1261.000000>] example[21]
+2009-02-14T02:28:58,123456+00:00 [< 1387.000000>] example[22]
+2009-02-14T02:54:17,123456+00:00 [< 1519.000000>] example[23]
+2009-02-14T03:21:54,123456+00:00 [< 1657.000000>] example[24]
+2009-02-14T03:51:55,123456+00:00 [< 1801.000000>] example[25]
+2009-02-14T04:24:26,123456+00:00 [< 1951.000000>] example[26]
+2009-02-14T04:59:33,123456+00:00 [< 2107.000000>] example[27]
+2009-02-14T05:37:22,123456+00:00 [< 2269.000000>] example[28]
+2009-02-14T06:17:59,123456+00:00 [< 2437.000000>] example[29]
+2009-02-14T07:01:30,123456+00:00 [< 2611.000000>] example[30]
+2009-02-14T07:48:01,123456+00:00 [< 2791.000000>] example[31]
+2009-02-14T08:37:38,123456+00:00 [< 2977.000000>] example[32]
+2009-02-14T09:30:27,123456+00:00 [< 3169.000000>] example[33]
+2009-02-14T10:26:34,123456+00:00 [< 3367.000000>] example[34]
+2009-02-14T11:26:05,123456+00:00 [< 3571.000000>] example[35]
+2009-02-14T12:29:06,123456+00:00 [< 3781.000000>] example[36]
+2009-02-14T13:35:43,123456+00:00 [< 3997.000000>] example[37]
+2009-02-14T14:46:02,123456+00:00 [< 4219.000000>] example[38]
+2009-02-14T16:00:09,123456+00:00 [< 4447.000000>] example[39]
+2009-02-14T17:18:10,123456+00:00 [< 4681.000000>] example[40]
+2009-02-14T18:40:11,123456+00:00 [< 4921.000000>] example[41]
+2009-02-14T20:06:18,123456+00:00 [< 5167.000000>] example[42]
+2009-02-14T21:36:37,123456+00:00 [< 5419.000000>] example[43]
+2009-02-14T23:11:14,123456+00:00 [< 5677.000000>] example[44]
+2009-02-15T00:50:15,123456+00:00 [< 5941.000000>] example[45]
+2009-02-15T02:33:46,123456+00:00 [< 6211.000000>] example[46]
+2009-02-15T04:21:53,123456+00:00 [< 6487.000000>] example[47]
+2009-02-15T06:14:42,123456+00:00 [< 6769.000000>] example[48]
+2009-02-15T08:12:19,123456+00:00 [< 7057.000000>] example[49]
+2009-02-15T10:14:50,123456+00:00 [< 7351.000000>] example[50]
+2009-02-15T12:22:21,123456+00:00 [< 7651.000000>] example[51]
+2009-02-15T14:34:58,123456+00:00 [< 7957.000000>] example[52]
+2009-02-15T16:52:47,123456+00:00 [< 8269.000000>] example[53]
+2009-02-15T19:15:54,123456+00:00 [< 8587.000000>] example[54]
+2009-02-15T21:44:25,123456+00:00 [< 8911.000000>] example[55]
+2009-02-16T00:18:26,123456+00:00 [< 9241.000000>] example[56]
+2009-02-16T02:58:03,123456+00:00 [< 9577.000000>] example[57]
+2009-02-16T05:43:22,123456+00:00 [< 9919.000000>] example[58]
+2009-02-16T08:34:29,123456+00:00 [<10267.000000>] example[59]
+2009-02-16T11:31:30,123456+00:00 [<10621.000000>] example[60]
+2009-02-16T14:34:31,123456+00:00 [<10981.000000>] example[61]
+2009-02-16T17:43:38,123456+00:00 [<11347.000000>] example[62]
+2009-02-16T20:58:57,123456+00:00 [<11719.000000>] example[63]
+2009-02-17T00:20:34,123456+00:00 [<12097.000000>] example[64]
+2009-02-17T03:48:35,123456+00:00 [<12481.000000>] example[65]
+2009-02-17T07:23:06,123456+00:00 [<12871.000000>] example[66]
+2009-02-17T11:04:13,123456+00:00 [<13267.000000>] example[67]
+2009-02-17T14:52:02,123456+00:00 [<13669.000000>] example[68]
+2009-02-17T18:46:39,123456+00:00 [<14077.000000>] example[69]
+2009-02-17T22:48:10,123456+00:00 [<14491.000000>] example[70]
+2009-02-18T02:56:41,123456+00:00 [<14911.000000>] example[71]
+2009-02-18T07:12:18,123456+00:00 [<15337.000000>] example[72]
+2009-02-18T11:35:07,123456+00:00 [<15769.000000>] example[73]
+2009-02-18T16:05:14,123456+00:00 [<16207.000000>] example[74]
+2009-02-18T20:42:45,123456+00:00 [<16651.000000>] example[75]
+2009-02-19T01:27:46,123456+00:00 [<17101.000000>] example[76]
+2009-02-19T06:20:23,123456+00:00 [<17557.000000>] example[77]
+2009-02-19T11:20:42,123456+00:00 [<18019.000000>] example[78]
+2009-02-19T16:28:49,123456+00:00 [<18487.000000>] example[79]
+2009-02-19T21:44:50,123456+00:00 [<18961.000000>] example[80]
+2009-02-20T03:08:51,123456+00:00 [<19441.000000>] example[81]
+2009-02-20T08:40:58,123456+00:00 [<19927.000000>] example[82]
+2009-02-20T14:21:17,123456+00:00 [<20419.000000>] example[83]
+2009-02-20T20:09:54,123456+00:00 [<20917.000000>] example[84]
+2009-02-21T02:06:55,123456+00:00 [<21421.000000>] example[85]
+2009-02-21T08:12:26,123456+00:00 [<21931.000000>] example[86]
+2009-02-21T14:26:33,123456+00:00 [<22447.000000>] example[87]
+2009-02-21T20:49:22,123456+00:00 [<22969.000000>] example[88]
+2009-02-22T03:20:59,123456+00:00 [<23497.000000>] example[89]
+2009-02-22T10:01:30,123456+00:00 [<24031.000000>] example[90]
+2009-02-22T16:51:01,123456+00:00 [<24571.000000>] example[91]
+2009-02-22T23:49:38,123456+00:00 [<25117.000000>] example[92]
+2009-02-23T06:57:27,123456+00:00 [<25669.000000>] example[93]
+2009-02-23T14:14:34,123456+00:00 [<26227.000000>] example[94]
+2009-02-23T21:41:05,123456+00:00 [<26791.000000>] example[95]
+2009-02-24T05:17:06,123456+00:00 [<27361.000000>] example[96]
+2009-02-24T13:02:43,123456+00:00 [<27937.000000>] example[97]
+2009-02-24T20:58:02,123456+00:00 [<28519.000000>] example[98]
+2009-02-25T05:03:09,123456+00:00 [<29107.000000>] example[99]
+2009-02-25T13:18:10,123456+00:00 [<29701.000000>] example[100]
+2009-02-25T21:43:11,123456+00:00 [<30301.000000>] example[101]
+2009-02-26T06:18:18,123456+00:00 [<30907.000000>] example[102]
+2009-02-26T15:03:37,123456+00:00 [<31519.000000>] example[103]
+2009-02-26T23:59:14,123456+00:00 [<32137.000000>] example[104]
+2009-04-07T17:30:13,123456+00:00 [<3432659.000000>] example[105]
diff --git a/tests/expected/dmesg/timestamp-format-delta-ctime b/tests/expected/dmesg/timestamp-format-delta-ctime
new file mode 100644
index 0000000..a171051
--- /dev/null
+++ b/tests/expected/dmesg/timestamp-format-delta-ctime
@@ -0,0 +1,106 @@
+[Feb13 23:31] [Fri Feb 13 23:31:30 2009 < 0.000000>] example[0]
+[ +0.000000] [Fri Feb 13 23:31:31 2009 < 0.000000>] example[1]
+[ +7.000000] [Fri Feb 13 23:31:38 2009 < 7.000000>] example[2]
+[ +19.000000] [Fri Feb 13 23:31:57 2009 < 19.000000>] example[3]
+[Feb13 23:32] [Fri Feb 13 23:32:34 2009 < 37.000000>] example[4]
+[Feb13 23:33] [Fri Feb 13 23:33:35 2009 < 61.000000>] example[5]
+[Feb13 23:35] [Fri Feb 13 23:35:06 2009 < 91.000000>] example[6]
+[Feb13 23:37] [Fri Feb 13 23:37:13 2009 < 127.000000>] example[7]
+[Feb13 23:40] [Fri Feb 13 23:40:02 2009 < 169.000000>] example[8]
+[Feb13 23:43] [Fri Feb 13 23:43:39 2009 < 217.000000>] example[9]
+[Feb13 23:48] [Fri Feb 13 23:48:10 2009 < 271.000000>] example[10]
+[Feb13 23:53] [Fri Feb 13 23:53:41 2009 < 331.000000>] example[11]
+[Feb14 00:00] [Sat Feb 14 00:00:18 2009 < 397.000000>] example[12]
+[Feb14 00:08] [Sat Feb 14 00:08:07 2009 < 469.000000>] example[13]
+[Feb14 00:17] [Sat Feb 14 00:17:14 2009 < 547.000000>] example[14]
+[Feb14 00:27] [Sat Feb 14 00:27:45 2009 < 631.000000>] example[15]
+[Feb14 00:39] [Sat Feb 14 00:39:46 2009 < 721.000000>] example[16]
+[Feb14 00:53] [Sat Feb 14 00:53:23 2009 < 817.000000>] example[17]
+[Feb14 01:08] [Sat Feb 14 01:08:42 2009 < 919.000000>] example[18]
+[Feb14 01:25] [Sat Feb 14 01:25:49 2009 < 1027.000000>] example[19]
+[Feb14 01:44] [Sat Feb 14 01:44:50 2009 < 1141.000000>] example[20]
+[Feb14 02:05] [Sat Feb 14 02:05:51 2009 < 1261.000000>] example[21]
+[Feb14 02:28] [Sat Feb 14 02:28:58 2009 < 1387.000000>] example[22]
+[Feb14 02:54] [Sat Feb 14 02:54:17 2009 < 1519.000000>] example[23]
+[Feb14 03:21] [Sat Feb 14 03:21:54 2009 < 1657.000000>] example[24]
+[Feb14 03:51] [Sat Feb 14 03:51:55 2009 < 1801.000000>] example[25]
+[Feb14 04:24] [Sat Feb 14 04:24:26 2009 < 1951.000000>] example[26]
+[Feb14 04:59] [Sat Feb 14 04:59:33 2009 < 2107.000000>] example[27]
+[Feb14 05:37] [Sat Feb 14 05:37:22 2009 < 2269.000000>] example[28]
+[Feb14 06:17] [Sat Feb 14 06:17:59 2009 < 2437.000000>] example[29]
+[Feb14 07:01] [Sat Feb 14 07:01:30 2009 < 2611.000000>] example[30]
+[Feb14 07:48] [Sat Feb 14 07:48:01 2009 < 2791.000000>] example[31]
+[Feb14 08:37] [Sat Feb 14 08:37:38 2009 < 2977.000000>] example[32]
+[Feb14 09:30] [Sat Feb 14 09:30:27 2009 < 3169.000000>] example[33]
+[Feb14 10:26] [Sat Feb 14 10:26:34 2009 < 3367.000000>] example[34]
+[Feb14 11:26] [Sat Feb 14 11:26:05 2009 < 3571.000000>] example[35]
+[Feb14 12:29] [Sat Feb 14 12:29:06 2009 < 3781.000000>] example[36]
+[Feb14 13:35] [Sat Feb 14 13:35:43 2009 < 3997.000000>] example[37]
+[Feb14 14:46] [Sat Feb 14 14:46:02 2009 < 4219.000000>] example[38]
+[Feb14 16:00] [Sat Feb 14 16:00:09 2009 < 4447.000000>] example[39]
+[Feb14 17:18] [Sat Feb 14 17:18:10 2009 < 4681.000000>] example[40]
+[Feb14 18:40] [Sat Feb 14 18:40:11 2009 < 4921.000000>] example[41]
+[Feb14 20:06] [Sat Feb 14 20:06:18 2009 < 5167.000000>] example[42]
+[Feb14 21:36] [Sat Feb 14 21:36:37 2009 < 5419.000000>] example[43]
+[Feb14 23:11] [Sat Feb 14 23:11:14 2009 < 5677.000000>] example[44]
+[Feb15 00:50] [Sun Feb 15 00:50:15 2009 < 5941.000000>] example[45]
+[Feb15 02:33] [Sun Feb 15 02:33:46 2009 < 6211.000000>] example[46]
+[Feb15 04:21] [Sun Feb 15 04:21:53 2009 < 6487.000000>] example[47]
+[Feb15 06:14] [Sun Feb 15 06:14:42 2009 < 6769.000000>] example[48]
+[Feb15 08:12] [Sun Feb 15 08:12:19 2009 < 7057.000000>] example[49]
+[Feb15 10:14] [Sun Feb 15 10:14:50 2009 < 7351.000000>] example[50]
+[Feb15 12:22] [Sun Feb 15 12:22:21 2009 < 7651.000000>] example[51]
+[Feb15 14:34] [Sun Feb 15 14:34:58 2009 < 7957.000000>] example[52]
+[Feb15 16:52] [Sun Feb 15 16:52:47 2009 < 8269.000000>] example[53]
+[Feb15 19:15] [Sun Feb 15 19:15:54 2009 < 8587.000000>] example[54]
+[Feb15 21:44] [Sun Feb 15 21:44:25 2009 < 8911.000000>] example[55]
+[Feb16 00:18] [Mon Feb 16 00:18:26 2009 < 9241.000000>] example[56]
+[Feb16 02:58] [Mon Feb 16 02:58:03 2009 < 9577.000000>] example[57]
+[Feb16 05:43] [Mon Feb 16 05:43:22 2009 < 9919.000000>] example[58]
+[Feb16 08:34] [Mon Feb 16 08:34:29 2009 <10267.000000>] example[59]
+[Feb16 11:31] [Mon Feb 16 11:31:30 2009 <10621.000000>] example[60]
+[Feb16 14:34] [Mon Feb 16 14:34:31 2009 <10981.000000>] example[61]
+[Feb16 17:43] [Mon Feb 16 17:43:38 2009 <11347.000000>] example[62]
+[Feb16 20:58] [Mon Feb 16 20:58:57 2009 <11719.000000>] example[63]
+[Feb17 00:20] [Tue Feb 17 00:20:34 2009 <12097.000000>] example[64]
+[Feb17 03:48] [Tue Feb 17 03:48:35 2009 <12481.000000>] example[65]
+[Feb17 07:23] [Tue Feb 17 07:23:06 2009 <12871.000000>] example[66]
+[Feb17 11:04] [Tue Feb 17 11:04:13 2009 <13267.000000>] example[67]
+[Feb17 14:52] [Tue Feb 17 14:52:02 2009 <13669.000000>] example[68]
+[Feb17 18:46] [Tue Feb 17 18:46:39 2009 <14077.000000>] example[69]
+[Feb17 22:48] [Tue Feb 17 22:48:10 2009 <14491.000000>] example[70]
+[Feb18 02:56] [Wed Feb 18 02:56:41 2009 <14911.000000>] example[71]
+[Feb18 07:12] [Wed Feb 18 07:12:18 2009 <15337.000000>] example[72]
+[Feb18 11:35] [Wed Feb 18 11:35:07 2009 <15769.000000>] example[73]
+[Feb18 16:05] [Wed Feb 18 16:05:14 2009 <16207.000000>] example[74]
+[Feb18 20:42] [Wed Feb 18 20:42:45 2009 <16651.000000>] example[75]
+[Feb19 01:27] [Thu Feb 19 01:27:46 2009 <17101.000000>] example[76]
+[Feb19 06:20] [Thu Feb 19 06:20:23 2009 <17557.000000>] example[77]
+[Feb19 11:20] [Thu Feb 19 11:20:42 2009 <18019.000000>] example[78]
+[Feb19 16:28] [Thu Feb 19 16:28:49 2009 <18487.000000>] example[79]
+[Feb19 21:44] [Thu Feb 19 21:44:50 2009 <18961.000000>] example[80]
+[Feb20 03:08] [Fri Feb 20 03:08:51 2009 <19441.000000>] example[81]
+[Feb20 08:40] [Fri Feb 20 08:40:58 2009 <19927.000000>] example[82]
+[Feb20 14:21] [Fri Feb 20 14:21:17 2009 <20419.000000>] example[83]
+[Feb20 20:09] [Fri Feb 20 20:09:54 2009 <20917.000000>] example[84]
+[Feb21 02:06] [Sat Feb 21 02:06:55 2009 <21421.000000>] example[85]
+[Feb21 08:12] [Sat Feb 21 08:12:26 2009 <21931.000000>] example[86]
+[Feb21 14:26] [Sat Feb 21 14:26:33 2009 <22447.000000>] example[87]
+[Feb21 20:49] [Sat Feb 21 20:49:22 2009 <22969.000000>] example[88]
+[Feb22 03:20] [Sun Feb 22 03:20:59 2009 <23497.000000>] example[89]
+[Feb22 10:01] [Sun Feb 22 10:01:30 2009 <24031.000000>] example[90]
+[Feb22 16:51] [Sun Feb 22 16:51:01 2009 <24571.000000>] example[91]
+[Feb22 23:49] [Sun Feb 22 23:49:38 2009 <25117.000000>] example[92]
+[Feb23 06:57] [Mon Feb 23 06:57:27 2009 <25669.000000>] example[93]
+[Feb23 14:14] [Mon Feb 23 14:14:34 2009 <26227.000000>] example[94]
+[Feb23 21:41] [Mon Feb 23 21:41:05 2009 <26791.000000>] example[95]
+[Feb24 05:17] [Tue Feb 24 05:17:06 2009 <27361.000000>] example[96]
+[Feb24 13:02] [Tue Feb 24 13:02:43 2009 <27937.000000>] example[97]
+[Feb24 20:58] [Tue Feb 24 20:58:02 2009 <28519.000000>] example[98]
+[Feb25 05:03] [Wed Feb 25 05:03:09 2009 <29107.000000>] example[99]
+[Feb25 13:18] [Wed Feb 25 13:18:10 2009 <29701.000000>] example[100]
+[Feb25 21:43] [Wed Feb 25 21:43:11 2009 <30301.000000>] example[101]
+[Feb26 06:18] [Thu Feb 26 06:18:18 2009 <30907.000000>] example[102]
+[Feb26 15:03] [Thu Feb 26 15:03:37 2009 <31519.000000>] example[103]
+[Feb26 23:59] [Thu Feb 26 23:59:14 2009 <32137.000000>] example[104]
+[Apr 7 17:30] [Tue Apr 7 17:30:13 2009 <3432659.000000>] example[105]
diff --git a/tests/expected/dmesg/timestamp-format-delta-raw b/tests/expected/dmesg/timestamp-format-delta-raw
new file mode 100644
index 0000000..90d3bb7
--- /dev/null
+++ b/tests/expected/dmesg/timestamp-format-delta-raw
@@ -0,0 +1,106 @@
+[ 0.000000 < 0.000000>] [Fri Feb 13 23:31:30 2009] example[0]
+[ 1.000000 < 0.000000>] [Fri Feb 13 23:31:31 2009] example[1]
+[ 8.000000 < 7.000000>] [Fri Feb 13 23:31:38 2009] example[2]
+[ 27.000000 < 19.000000>] [Fri Feb 13 23:31:57 2009] example[3]
+[ 64.000000 < 37.000000>] [Fri Feb 13 23:32:34 2009] example[4]
+[ 125.000000 < 61.000000>] [Fri Feb 13 23:33:35 2009] example[5]
+[ 216.000000 < 91.000000>] [Fri Feb 13 23:35:06 2009] example[6]
+[ 343.000000 < 127.000000>] [Fri Feb 13 23:37:13 2009] example[7]
+[ 512.000000 < 169.000000>] [Fri Feb 13 23:40:02 2009] example[8]
+[ 729.000000 < 217.000000>] [Fri Feb 13 23:43:39 2009] example[9]
+[ 1000.000000 < 271.000000>] [Fri Feb 13 23:48:10 2009] example[10]
+[ 1331.000000 < 331.000000>] [Fri Feb 13 23:53:41 2009] example[11]
+[ 1728.000000 < 397.000000>] [Sat Feb 14 00:00:18 2009] example[12]
+[ 2197.000000 < 469.000000>] [Sat Feb 14 00:08:07 2009] example[13]
+[ 2744.000000 < 547.000000>] [Sat Feb 14 00:17:14 2009] example[14]
+[ 3375.000000 < 631.000000>] [Sat Feb 14 00:27:45 2009] example[15]
+[ 4096.000000 < 721.000000>] [Sat Feb 14 00:39:46 2009] example[16]
+[ 4913.000000 < 817.000000>] [Sat Feb 14 00:53:23 2009] example[17]
+[ 5832.000000 < 919.000000>] [Sat Feb 14 01:08:42 2009] example[18]
+[ 6859.000000 < 1027.000000>] [Sat Feb 14 01:25:49 2009] example[19]
+[ 8000.000000 < 1141.000000>] [Sat Feb 14 01:44:50 2009] example[20]
+[ 9261.000000 < 1261.000000>] [Sat Feb 14 02:05:51 2009] example[21]
+[10648.000000 < 1387.000000>] [Sat Feb 14 02:28:58 2009] example[22]
+[12167.000000 < 1519.000000>] [Sat Feb 14 02:54:17 2009] example[23]
+[13824.000000 < 1657.000000>] [Sat Feb 14 03:21:54 2009] example[24]
+[15625.000000 < 1801.000000>] [Sat Feb 14 03:51:55 2009] example[25]
+[17576.000000 < 1951.000000>] [Sat Feb 14 04:24:26 2009] example[26]
+[19683.000000 < 2107.000000>] [Sat Feb 14 04:59:33 2009] example[27]
+[21952.000000 < 2269.000000>] [Sat Feb 14 05:37:22 2009] example[28]
+[24389.000000 < 2437.000000>] [Sat Feb 14 06:17:59 2009] example[29]
+[27000.000000 < 2611.000000>] [Sat Feb 14 07:01:30 2009] example[30]
+[29791.000000 < 2791.000000>] [Sat Feb 14 07:48:01 2009] example[31]
+[32768.000000 < 2977.000000>] [Sat Feb 14 08:37:38 2009] example[32]
+[35937.000000 < 3169.000000>] [Sat Feb 14 09:30:27 2009] example[33]
+[39304.000000 < 3367.000000>] [Sat Feb 14 10:26:34 2009] example[34]
+[42875.000000 < 3571.000000>] [Sat Feb 14 11:26:05 2009] example[35]
+[46656.000000 < 3781.000000>] [Sat Feb 14 12:29:06 2009] example[36]
+[50653.000000 < 3997.000000>] [Sat Feb 14 13:35:43 2009] example[37]
+[54872.000000 < 4219.000000>] [Sat Feb 14 14:46:02 2009] example[38]
+[59319.000000 < 4447.000000>] [Sat Feb 14 16:00:09 2009] example[39]
+[64000.000000 < 4681.000000>] [Sat Feb 14 17:18:10 2009] example[40]
+[68921.000000 < 4921.000000>] [Sat Feb 14 18:40:11 2009] example[41]
+[74088.000000 < 5167.000000>] [Sat Feb 14 20:06:18 2009] example[42]
+[79507.000000 < 5419.000000>] [Sat Feb 14 21:36:37 2009] example[43]
+[85184.000000 < 5677.000000>] [Sat Feb 14 23:11:14 2009] example[44]
+[91125.000000 < 5941.000000>] [Sun Feb 15 00:50:15 2009] example[45]
+[97336.000000 < 6211.000000>] [Sun Feb 15 02:33:46 2009] example[46]
+[103823.000000 < 6487.000000>] [Sun Feb 15 04:21:53 2009] example[47]
+[110592.000000 < 6769.000000>] [Sun Feb 15 06:14:42 2009] example[48]
+[117649.000000 < 7057.000000>] [Sun Feb 15 08:12:19 2009] example[49]
+[125000.000000 < 7351.000000>] [Sun Feb 15 10:14:50 2009] example[50]
+[132651.000000 < 7651.000000>] [Sun Feb 15 12:22:21 2009] example[51]
+[140608.000000 < 7957.000000>] [Sun Feb 15 14:34:58 2009] example[52]
+[148877.000000 < 8269.000000>] [Sun Feb 15 16:52:47 2009] example[53]
+[157464.000000 < 8587.000000>] [Sun Feb 15 19:15:54 2009] example[54]
+[166375.000000 < 8911.000000>] [Sun Feb 15 21:44:25 2009] example[55]
+[175616.000000 < 9241.000000>] [Mon Feb 16 00:18:26 2009] example[56]
+[185193.000000 < 9577.000000>] [Mon Feb 16 02:58:03 2009] example[57]
+[195112.000000 < 9919.000000>] [Mon Feb 16 05:43:22 2009] example[58]
+[205379.000000 <10267.000000>] [Mon Feb 16 08:34:29 2009] example[59]
+[216000.000000 <10621.000000>] [Mon Feb 16 11:31:30 2009] example[60]
+[226981.000000 <10981.000000>] [Mon Feb 16 14:34:31 2009] example[61]
+[238328.000000 <11347.000000>] [Mon Feb 16 17:43:38 2009] example[62]
+[250047.000000 <11719.000000>] [Mon Feb 16 20:58:57 2009] example[63]
+[262144.000000 <12097.000000>] [Tue Feb 17 00:20:34 2009] example[64]
+[274625.000000 <12481.000000>] [Tue Feb 17 03:48:35 2009] example[65]
+[287496.000000 <12871.000000>] [Tue Feb 17 07:23:06 2009] example[66]
+[300763.000000 <13267.000000>] [Tue Feb 17 11:04:13 2009] example[67]
+[314432.000000 <13669.000000>] [Tue Feb 17 14:52:02 2009] example[68]
+[328509.000000 <14077.000000>] [Tue Feb 17 18:46:39 2009] example[69]
+[343000.000000 <14491.000000>] [Tue Feb 17 22:48:10 2009] example[70]
+[357911.000000 <14911.000000>] [Wed Feb 18 02:56:41 2009] example[71]
+[373248.000000 <15337.000000>] [Wed Feb 18 07:12:18 2009] example[72]
+[389017.000000 <15769.000000>] [Wed Feb 18 11:35:07 2009] example[73]
+[405224.000000 <16207.000000>] [Wed Feb 18 16:05:14 2009] example[74]
+[421875.000000 <16651.000000>] [Wed Feb 18 20:42:45 2009] example[75]
+[438976.000000 <17101.000000>] [Thu Feb 19 01:27:46 2009] example[76]
+[456533.000000 <17557.000000>] [Thu Feb 19 06:20:23 2009] example[77]
+[474552.000000 <18019.000000>] [Thu Feb 19 11:20:42 2009] example[78]
+[493039.000000 <18487.000000>] [Thu Feb 19 16:28:49 2009] example[79]
+[512000.000000 <18961.000000>] [Thu Feb 19 21:44:50 2009] example[80]
+[531441.000000 <19441.000000>] [Fri Feb 20 03:08:51 2009] example[81]
+[551368.000000 <19927.000000>] [Fri Feb 20 08:40:58 2009] example[82]
+[571787.000000 <20419.000000>] [Fri Feb 20 14:21:17 2009] example[83]
+[592704.000000 <20917.000000>] [Fri Feb 20 20:09:54 2009] example[84]
+[614125.000000 <21421.000000>] [Sat Feb 21 02:06:55 2009] example[85]
+[636056.000000 <21931.000000>] [Sat Feb 21 08:12:26 2009] example[86]
+[658503.000000 <22447.000000>] [Sat Feb 21 14:26:33 2009] example[87]
+[681472.000000 <22969.000000>] [Sat Feb 21 20:49:22 2009] example[88]
+[704969.000000 <23497.000000>] [Sun Feb 22 03:20:59 2009] example[89]
+[729000.000000 <24031.000000>] [Sun Feb 22 10:01:30 2009] example[90]
+[753571.000000 <24571.000000>] [Sun Feb 22 16:51:01 2009] example[91]
+[778688.000000 <25117.000000>] [Sun Feb 22 23:49:38 2009] example[92]
+[804357.000000 <25669.000000>] [Mon Feb 23 06:57:27 2009] example[93]
+[830584.000000 <26227.000000>] [Mon Feb 23 14:14:34 2009] example[94]
+[857375.000000 <26791.000000>] [Mon Feb 23 21:41:05 2009] example[95]
+[884736.000000 <27361.000000>] [Tue Feb 24 05:17:06 2009] example[96]
+[912673.000000 <27937.000000>] [Tue Feb 24 13:02:43 2009] example[97]
+[941192.000000 <28519.000000>] [Tue Feb 24 20:58:02 2009] example[98]
+[970299.000000 <29107.000000>] [Wed Feb 25 05:03:09 2009] example[99]
+[1000000.000000 <29701.000000>] [Wed Feb 25 13:18:10 2009] example[100]
+[1030301.000000 <30301.000000>] [Wed Feb 25 21:43:11 2009] example[101]
+[1061208.000000 <30907.000000>] [Thu Feb 26 06:18:18 2009] example[102]
+[1092727.000000 <31519.000000>] [Thu Feb 26 15:03:37 2009] example[103]
+[1124864.000000 <32137.000000>] [Thu Feb 26 23:59:14 2009] example[104]
+[4557523.000000 <3432659.000000>] [Tue Apr 7 17:30:13 2009] example[105]
diff --git a/tests/expected/dmesg/timestamp-format-multiple b/tests/expected/dmesg/timestamp-format-multiple
new file mode 100644
index 0000000..c64a036
--- /dev/null
+++ b/tests/expected/dmesg/timestamp-format-multiple
@@ -0,0 +1,106 @@
+[ 0.000000] [Fri Feb 13 23:31:30 2009] 2009-02-13T23:31:30,123456+00:00 example[0]
+[ 1.000000] [Fri Feb 13 23:31:31 2009] 2009-02-13T23:31:31,123456+00:00 example[1]
+[ 8.000000] [Fri Feb 13 23:31:38 2009] 2009-02-13T23:31:38,123456+00:00 example[2]
+[ 27.000000] [Fri Feb 13 23:31:57 2009] 2009-02-13T23:31:57,123456+00:00 example[3]
+[ 64.000000] [Fri Feb 13 23:32:34 2009] 2009-02-13T23:32:34,123456+00:00 example[4]
+[ 125.000000] [Fri Feb 13 23:33:35 2009] 2009-02-13T23:33:35,123456+00:00 example[5]
+[ 216.000000] [Fri Feb 13 23:35:06 2009] 2009-02-13T23:35:06,123456+00:00 example[6]
+[ 343.000000] [Fri Feb 13 23:37:13 2009] 2009-02-13T23:37:13,123456+00:00 example[7]
+[ 512.000000] [Fri Feb 13 23:40:02 2009] 2009-02-13T23:40:02,123456+00:00 example[8]
+[ 729.000000] [Fri Feb 13 23:43:39 2009] 2009-02-13T23:43:39,123456+00:00 example[9]
+[ 1000.000000] [Fri Feb 13 23:48:10 2009] 2009-02-13T23:48:10,123456+00:00 example[10]
+[ 1331.000000] [Fri Feb 13 23:53:41 2009] 2009-02-13T23:53:41,123456+00:00 example[11]
+[ 1728.000000] [Sat Feb 14 00:00:18 2009] 2009-02-14T00:00:18,123456+00:00 example[12]
+[ 2197.000000] [Sat Feb 14 00:08:07 2009] 2009-02-14T00:08:07,123456+00:00 example[13]
+[ 2744.000000] [Sat Feb 14 00:17:14 2009] 2009-02-14T00:17:14,123456+00:00 example[14]
+[ 3375.000000] [Sat Feb 14 00:27:45 2009] 2009-02-14T00:27:45,123456+00:00 example[15]
+[ 4096.000000] [Sat Feb 14 00:39:46 2009] 2009-02-14T00:39:46,123456+00:00 example[16]
+[ 4913.000000] [Sat Feb 14 00:53:23 2009] 2009-02-14T00:53:23,123456+00:00 example[17]
+[ 5832.000000] [Sat Feb 14 01:08:42 2009] 2009-02-14T01:08:42,123456+00:00 example[18]
+[ 6859.000000] [Sat Feb 14 01:25:49 2009] 2009-02-14T01:25:49,123456+00:00 example[19]
+[ 8000.000000] [Sat Feb 14 01:44:50 2009] 2009-02-14T01:44:50,123456+00:00 example[20]
+[ 9261.000000] [Sat Feb 14 02:05:51 2009] 2009-02-14T02:05:51,123456+00:00 example[21]
+[10648.000000] [Sat Feb 14 02:28:58 2009] 2009-02-14T02:28:58,123456+00:00 example[22]
+[12167.000000] [Sat Feb 14 02:54:17 2009] 2009-02-14T02:54:17,123456+00:00 example[23]
+[13824.000000] [Sat Feb 14 03:21:54 2009] 2009-02-14T03:21:54,123456+00:00 example[24]
+[15625.000000] [Sat Feb 14 03:51:55 2009] 2009-02-14T03:51:55,123456+00:00 example[25]
+[17576.000000] [Sat Feb 14 04:24:26 2009] 2009-02-14T04:24:26,123456+00:00 example[26]
+[19683.000000] [Sat Feb 14 04:59:33 2009] 2009-02-14T04:59:33,123456+00:00 example[27]
+[21952.000000] [Sat Feb 14 05:37:22 2009] 2009-02-14T05:37:22,123456+00:00 example[28]
+[24389.000000] [Sat Feb 14 06:17:59 2009] 2009-02-14T06:17:59,123456+00:00 example[29]
+[27000.000000] [Sat Feb 14 07:01:30 2009] 2009-02-14T07:01:30,123456+00:00 example[30]
+[29791.000000] [Sat Feb 14 07:48:01 2009] 2009-02-14T07:48:01,123456+00:00 example[31]
+[32768.000000] [Sat Feb 14 08:37:38 2009] 2009-02-14T08:37:38,123456+00:00 example[32]
+[35937.000000] [Sat Feb 14 09:30:27 2009] 2009-02-14T09:30:27,123456+00:00 example[33]
+[39304.000000] [Sat Feb 14 10:26:34 2009] 2009-02-14T10:26:34,123456+00:00 example[34]
+[42875.000000] [Sat Feb 14 11:26:05 2009] 2009-02-14T11:26:05,123456+00:00 example[35]
+[46656.000000] [Sat Feb 14 12:29:06 2009] 2009-02-14T12:29:06,123456+00:00 example[36]
+[50653.000000] [Sat Feb 14 13:35:43 2009] 2009-02-14T13:35:43,123456+00:00 example[37]
+[54872.000000] [Sat Feb 14 14:46:02 2009] 2009-02-14T14:46:02,123456+00:00 example[38]
+[59319.000000] [Sat Feb 14 16:00:09 2009] 2009-02-14T16:00:09,123456+00:00 example[39]
+[64000.000000] [Sat Feb 14 17:18:10 2009] 2009-02-14T17:18:10,123456+00:00 example[40]
+[68921.000000] [Sat Feb 14 18:40:11 2009] 2009-02-14T18:40:11,123456+00:00 example[41]
+[74088.000000] [Sat Feb 14 20:06:18 2009] 2009-02-14T20:06:18,123456+00:00 example[42]
+[79507.000000] [Sat Feb 14 21:36:37 2009] 2009-02-14T21:36:37,123456+00:00 example[43]
+[85184.000000] [Sat Feb 14 23:11:14 2009] 2009-02-14T23:11:14,123456+00:00 example[44]
+[91125.000000] [Sun Feb 15 00:50:15 2009] 2009-02-15T00:50:15,123456+00:00 example[45]
+[97336.000000] [Sun Feb 15 02:33:46 2009] 2009-02-15T02:33:46,123456+00:00 example[46]
+[103823.000000] [Sun Feb 15 04:21:53 2009] 2009-02-15T04:21:53,123456+00:00 example[47]
+[110592.000000] [Sun Feb 15 06:14:42 2009] 2009-02-15T06:14:42,123456+00:00 example[48]
+[117649.000000] [Sun Feb 15 08:12:19 2009] 2009-02-15T08:12:19,123456+00:00 example[49]
+[125000.000000] [Sun Feb 15 10:14:50 2009] 2009-02-15T10:14:50,123456+00:00 example[50]
+[132651.000000] [Sun Feb 15 12:22:21 2009] 2009-02-15T12:22:21,123456+00:00 example[51]
+[140608.000000] [Sun Feb 15 14:34:58 2009] 2009-02-15T14:34:58,123456+00:00 example[52]
+[148877.000000] [Sun Feb 15 16:52:47 2009] 2009-02-15T16:52:47,123456+00:00 example[53]
+[157464.000000] [Sun Feb 15 19:15:54 2009] 2009-02-15T19:15:54,123456+00:00 example[54]
+[166375.000000] [Sun Feb 15 21:44:25 2009] 2009-02-15T21:44:25,123456+00:00 example[55]
+[175616.000000] [Mon Feb 16 00:18:26 2009] 2009-02-16T00:18:26,123456+00:00 example[56]
+[185193.000000] [Mon Feb 16 02:58:03 2009] 2009-02-16T02:58:03,123456+00:00 example[57]
+[195112.000000] [Mon Feb 16 05:43:22 2009] 2009-02-16T05:43:22,123456+00:00 example[58]
+[205379.000000] [Mon Feb 16 08:34:29 2009] 2009-02-16T08:34:29,123456+00:00 example[59]
+[216000.000000] [Mon Feb 16 11:31:30 2009] 2009-02-16T11:31:30,123456+00:00 example[60]
+[226981.000000] [Mon Feb 16 14:34:31 2009] 2009-02-16T14:34:31,123456+00:00 example[61]
+[238328.000000] [Mon Feb 16 17:43:38 2009] 2009-02-16T17:43:38,123456+00:00 example[62]
+[250047.000000] [Mon Feb 16 20:58:57 2009] 2009-02-16T20:58:57,123456+00:00 example[63]
+[262144.000000] [Tue Feb 17 00:20:34 2009] 2009-02-17T00:20:34,123456+00:00 example[64]
+[274625.000000] [Tue Feb 17 03:48:35 2009] 2009-02-17T03:48:35,123456+00:00 example[65]
+[287496.000000] [Tue Feb 17 07:23:06 2009] 2009-02-17T07:23:06,123456+00:00 example[66]
+[300763.000000] [Tue Feb 17 11:04:13 2009] 2009-02-17T11:04:13,123456+00:00 example[67]
+[314432.000000] [Tue Feb 17 14:52:02 2009] 2009-02-17T14:52:02,123456+00:00 example[68]
+[328509.000000] [Tue Feb 17 18:46:39 2009] 2009-02-17T18:46:39,123456+00:00 example[69]
+[343000.000000] [Tue Feb 17 22:48:10 2009] 2009-02-17T22:48:10,123456+00:00 example[70]
+[357911.000000] [Wed Feb 18 02:56:41 2009] 2009-02-18T02:56:41,123456+00:00 example[71]
+[373248.000000] [Wed Feb 18 07:12:18 2009] 2009-02-18T07:12:18,123456+00:00 example[72]
+[389017.000000] [Wed Feb 18 11:35:07 2009] 2009-02-18T11:35:07,123456+00:00 example[73]
+[405224.000000] [Wed Feb 18 16:05:14 2009] 2009-02-18T16:05:14,123456+00:00 example[74]
+[421875.000000] [Wed Feb 18 20:42:45 2009] 2009-02-18T20:42:45,123456+00:00 example[75]
+[438976.000000] [Thu Feb 19 01:27:46 2009] 2009-02-19T01:27:46,123456+00:00 example[76]
+[456533.000000] [Thu Feb 19 06:20:23 2009] 2009-02-19T06:20:23,123456+00:00 example[77]
+[474552.000000] [Thu Feb 19 11:20:42 2009] 2009-02-19T11:20:42,123456+00:00 example[78]
+[493039.000000] [Thu Feb 19 16:28:49 2009] 2009-02-19T16:28:49,123456+00:00 example[79]
+[512000.000000] [Thu Feb 19 21:44:50 2009] 2009-02-19T21:44:50,123456+00:00 example[80]
+[531441.000000] [Fri Feb 20 03:08:51 2009] 2009-02-20T03:08:51,123456+00:00 example[81]
+[551368.000000] [Fri Feb 20 08:40:58 2009] 2009-02-20T08:40:58,123456+00:00 example[82]
+[571787.000000] [Fri Feb 20 14:21:17 2009] 2009-02-20T14:21:17,123456+00:00 example[83]
+[592704.000000] [Fri Feb 20 20:09:54 2009] 2009-02-20T20:09:54,123456+00:00 example[84]
+[614125.000000] [Sat Feb 21 02:06:55 2009] 2009-02-21T02:06:55,123456+00:00 example[85]
+[636056.000000] [Sat Feb 21 08:12:26 2009] 2009-02-21T08:12:26,123456+00:00 example[86]
+[658503.000000] [Sat Feb 21 14:26:33 2009] 2009-02-21T14:26:33,123456+00:00 example[87]
+[681472.000000] [Sat Feb 21 20:49:22 2009] 2009-02-21T20:49:22,123456+00:00 example[88]
+[704969.000000] [Sun Feb 22 03:20:59 2009] 2009-02-22T03:20:59,123456+00:00 example[89]
+[729000.000000] [Sun Feb 22 10:01:30 2009] 2009-02-22T10:01:30,123456+00:00 example[90]
+[753571.000000] [Sun Feb 22 16:51:01 2009] 2009-02-22T16:51:01,123456+00:00 example[91]
+[778688.000000] [Sun Feb 22 23:49:38 2009] 2009-02-22T23:49:38,123456+00:00 example[92]
+[804357.000000] [Mon Feb 23 06:57:27 2009] 2009-02-23T06:57:27,123456+00:00 example[93]
+[830584.000000] [Mon Feb 23 14:14:34 2009] 2009-02-23T14:14:34,123456+00:00 example[94]
+[857375.000000] [Mon Feb 23 21:41:05 2009] 2009-02-23T21:41:05,123456+00:00 example[95]
+[884736.000000] [Tue Feb 24 05:17:06 2009] 2009-02-24T05:17:06,123456+00:00 example[96]
+[912673.000000] [Tue Feb 24 13:02:43 2009] 2009-02-24T13:02:43,123456+00:00 example[97]
+[941192.000000] [Tue Feb 24 20:58:02 2009] 2009-02-24T20:58:02,123456+00:00 example[98]
+[970299.000000] [Wed Feb 25 05:03:09 2009] 2009-02-25T05:03:09,123456+00:00 example[99]
+[1000000.000000] [Wed Feb 25 13:18:10 2009] 2009-02-25T13:18:10,123456+00:00 example[100]
+[1030301.000000] [Wed Feb 25 21:43:11 2009] 2009-02-25T21:43:11,123456+00:00 example[101]
+[1061208.000000] [Thu Feb 26 06:18:18 2009] 2009-02-26T06:18:18,123456+00:00 example[102]
+[1092727.000000] [Thu Feb 26 15:03:37 2009] 2009-02-26T15:03:37,123456+00:00 example[103]
+[1124864.000000] [Thu Feb 26 23:59:14 2009] 2009-02-26T23:59:14,123456+00:00 example[104]
+[4557523.000000] [Tue Apr 7 17:30:13 2009] 2009-04-07T17:30:13,123456+00:00 example[105]
diff --git a/tests/expected/exch/exch b/tests/expected/exch/exch
new file mode 100644
index 0000000..646ff6d
--- /dev/null
+++ b/tests/expected/exch/exch
@@ -0,0 +1,4 @@
+A
+B
+B
+A
diff --git a/tests/expected/fadvise/drop b/tests/expected/fadvise/drop
index f2360b5..e7bb26b 100644
--- a/tests/expected/fadvise/drop
+++ b/tests/expected/fadvise/drop
@@ -1,23 +1,23 @@
- RES PAGES SIZE FILE
- 32K 8 32K ddtest
+ RES SIZE FILE
+ 512K 512K ddtest
whole file
status: 0
-RES PAGES SIZE FILE
- 0B 0 32K ddtest
+RES SIZE FILE
+ 0B 512K ddtest
-offset: 8192
+offset: 131072
status: 0
-RES PAGES SIZE FILE
- 8K 2 32K ddtest
+ RES SIZE FILE
+ 128K 512K ddtest
-length: 16384
+length: 262144
status: 0
- RES PAGES SIZE FILE
- 16K 4 32K ddtest
+ RES SIZE FILE
+ 256K 512K ddtest
-offset: 8192, length: 16384 fd: 42
+offset: 131072, length: 262144 fd: 42
status: 0
- RES PAGES SIZE FILE
- 16K 4 32K ddtest
+ RES SIZE FILE
+ 256K 512K ddtest
diff --git a/tests/expected/fdisk/mbr-nondos-mode-first-sector-at-end b/tests/expected/fdisk/mbr-nondos-mode-first-sector-at-end
index 3656a0b..0251f31 100644
--- a/tests/expected/fdisk/mbr-nondos-mode-first-sector-at-end
+++ b/tests/expected/fdisk/mbr-nondos-mode-first-sector-at-end
@@ -27,7 +27,6 @@ Select (default p): Partition number (2-4, default 2): First sector (2048-19999,
Created a new partition <removed>.
Command (m for help): The partition table has been altered.
-Syncing disks.
---layout----------
diff --git a/tests/expected/fdisk/resize b/tests/expected/fdisk/resize
new file mode 100644
index 0000000..32f9ce2
--- /dev/null
+++ b/tests/expected/fdisk/resize
@@ -0,0 +1,75 @@
+Create initial partitions
+
+---layout----------
+Disk <removed>: 10 MiB, 10485760 bytes, 20480 sectors
+Units: sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / <removed> bytes
+Disklabel type: gpt
+Disk identifier: <removed>
+
+Device Start End Sectors Size Type
+<removed>1 2048 4095 2048 1M Linux filesystem
+<removed>2 8192 10239 2048 1M Linux filesystem
+-------------------
+
+Grow first to max
+
+---layout----------
+Disk <removed>: 10 MiB, 10485760 bytes, 20480 sectors
+Units: sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / <removed> bytes
+Disklabel type: gpt
+Disk identifier: <removed>
+
+Device Start End Sectors Size Type
+<removed>1 2048 8191 6144 3M Linux filesystem
+<removed>2 8192 10239 2048 1M Linux filesystem
+-------------------
+
+Grow second to max
+
+---layout----------
+Disk <removed>: 10 MiB, 10485760 bytes, 20480 sectors
+Units: sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / <removed> bytes
+Disklabel type: gpt
+Disk identifier: <removed>
+
+Device Start End Sectors Size Type
+<removed>1 2048 8191 6144 3M Linux filesystem
+<removed>2 8192 20446 12255 6M Linux filesystem
+-------------------
+
+Resize first to 4096 bytes
+
+---layout----------
+Disk <removed>: 10 MiB, 10485760 bytes, 20480 sectors
+Units: sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / <removed> bytes
+Disklabel type: gpt
+Disk identifier: <removed>
+
+Device Start End Sectors Size Type
+<removed>1 2048 2055 8 4K Linux filesystem
+<removed>2 8192 20446 12255 6M Linux filesystem
+-------------------
+
+Resize second to 8 sectors
+
+---layout----------
+Disk <removed>: 10 MiB, 10485760 bytes, 20480 sectors
+Units: sectors of 1 * 512 = 512 bytes
+Sector size (logical/physical): 512 bytes / 512 bytes
+I/O size (minimum/optimal): 512 bytes / <removed> bytes
+Disklabel type: gpt
+Disk identifier: <removed>
+
+Device Start End Sectors Size Type
+<removed>1 2048 2055 8 4K Linux filesystem
+<removed>2 8192 8199 8 4K Linux filesystem
+-------------------
+
diff --git a/tests/expected/fdisk/sunlabel-create-second-partition b/tests/expected/fdisk/sunlabel-create-second-partition
index f6442d3..124f71b 100644
--- a/tests/expected/fdisk/sunlabel-create-second-partition
+++ b/tests/expected/fdisk/sunlabel-create-second-partition
@@ -8,7 +8,6 @@ Command (m for help): Partition number (2-8, default 2): First cylinder (128-325
Created a new partition <removed>.
Command (m for help): The partition table has been altered.
-Syncing disks.
a87e80830aa13d2d68b766962f052750 sunlabel.img
Disk <removed>: 10 MiB, 10485760 bytes, 20480 sectors
diff --git a/tests/expected/fincore/count.4096 b/tests/expected/fincore/count.4096
index e90044c..a5d764f 100644
--- a/tests/expected/fincore/count.4096
+++ b/tests/expected/fincore/count.4096
@@ -1,36 +1,36 @@
[ NO EXCITING FILE ]
return value: 1
- 0 0 i_EMPTY_FILE
+0 0 i_EMPTY_FILE
return value: 0
- 1 4095 i_PAGESIZE_-1__incore_
+1 4095 i_PAGESIZE_-1__incore_
return value: 0
- 1 4096 i_JUST_PAGESIZE_incore_
+1 4096 i_JUST_PAGESIZE_incore_
return value: 0
- 0 4096 i_JUST_PAGESIZE_directio_
+0 4096 i_JUST_PAGESIZE_directio_
return value: 0
- 2 8192 i_TWO_PAGES_incore_
+2 8192 i_TWO_PAGES_incore_
return value: 0
- 0 8192 i_TWO_PAGES_directio_
+0 8192 i_TWO_PAGES_directio_
return value: 0
- 1 8192 i_TWO_PAGES_mixed_directio_incore_
+1 8192 i_TWO_PAGES_mixed_directio_incore_
return value: 0
- 1 8192 i_TWO_PAGES_mixed_incore_directio_
+1 8192 i_TWO_PAGES_mixed_incore_directio_
return value: 0
- 2 134213632 i_WINDOW_SIZE_incore-sparse-incore_
+2 134213632 i_WINDOW_SIZE_incore-sparse-incore_
return value: 0
- 0 134213632 i_WINDOW_SIZE_directio-sparse-directio_
+0 134213632 i_WINDOW_SIZE_directio-sparse-directio_
return value: 0
- 1 134213632 i_WINDOW_SIZE_incore-sparse-directio_
+1 134213632 i_WINDOW_SIZE_incore-sparse-directio_
return value: 0
- 1 134213632 i_WINDOW_SIZE_directio-sparse-incore_
+1 134213632 i_WINDOW_SIZE_directio-sparse-incore_
return value: 0
- 2 134217728 i_WINDOW_SIZE_+_1_page_incore-sparse-incore_
+2 134217728 i_WINDOW_SIZE_+_1_page_incore-sparse-incore_
return value: 0
- 0 134217728 i_WINDOW_SIZE_+_1_page_directio-sparse-directio_
+0 134217728 i_WINDOW_SIZE_+_1_page_directio-sparse-directio_
return value: 0
- 1 134217728 i_WINDOW_SIZE_+_1_page_incore-sparse-directio_
+1 134217728 i_WINDOW_SIZE_+_1_page_incore-sparse-directio_
return value: 0
- 1 134217728 i_WINDOW_SIZE_+_1_page_directio-sparse-incore_
+1 134217728 i_WINDOW_SIZE_+_1_page_directio-sparse-incore_
return value: 0
[ MULTIPLE FILES ]
PAGES SIZE FILE
diff --git a/tests/expected/fincore/count.65536 b/tests/expected/fincore/count.65536
index 22d6a08..07a97d2 100644
--- a/tests/expected/fincore/count.65536
+++ b/tests/expected/fincore/count.65536
@@ -1,36 +1,36 @@
[ NO EXCITING FILE ]
return value: 1
- 0 0 i_EMPTY_FILE
+0 0 i_EMPTY_FILE
return value: 0
- 1 65535 i_PAGESIZE_-1__incore_
+1 65535 i_PAGESIZE_-1__incore_
return value: 0
- 1 65536 i_JUST_PAGESIZE_incore_
+1 65536 i_JUST_PAGESIZE_incore_
return value: 0
- 0 65536 i_JUST_PAGESIZE_directio_
+0 65536 i_JUST_PAGESIZE_directio_
return value: 0
- 2 131072 i_TWO_PAGES_incore_
+2 131072 i_TWO_PAGES_incore_
return value: 0
- 0 131072 i_TWO_PAGES_directio_
+0 131072 i_TWO_PAGES_directio_
return value: 0
- 1 131072 i_TWO_PAGES_mixed_directio_incore_
+1 131072 i_TWO_PAGES_mixed_directio_incore_
return value: 0
- 1 131072 i_TWO_PAGES_mixed_incore_directio_
+1 131072 i_TWO_PAGES_mixed_incore_directio_
return value: 0
- 2 2147418112 i_WINDOW_SIZE_incore-sparse-incore_
+2 2147418112 i_WINDOW_SIZE_incore-sparse-incore_
return value: 0
- 0 2147418112 i_WINDOW_SIZE_directio-sparse-directio_
+0 2147418112 i_WINDOW_SIZE_directio-sparse-directio_
return value: 0
- 1 2147418112 i_WINDOW_SIZE_incore-sparse-directio_
+1 2147418112 i_WINDOW_SIZE_incore-sparse-directio_
return value: 0
- 1 2147418112 i_WINDOW_SIZE_directio-sparse-incore_
+1 2147418112 i_WINDOW_SIZE_directio-sparse-incore_
return value: 0
- 2 2147483648 i_WINDOW_SIZE_+_1_page_incore-sparse-incore_
+2 2147483648 i_WINDOW_SIZE_+_1_page_incore-sparse-incore_
return value: 0
- 0 2147483648 i_WINDOW_SIZE_+_1_page_directio-sparse-directio_
+0 2147483648 i_WINDOW_SIZE_+_1_page_directio-sparse-directio_
return value: 0
- 1 2147483648 i_WINDOW_SIZE_+_1_page_incore-sparse-directio_
+1 2147483648 i_WINDOW_SIZE_+_1_page_incore-sparse-directio_
return value: 0
- 1 2147483648 i_WINDOW_SIZE_+_1_page_directio-sparse-incore_
+1 2147483648 i_WINDOW_SIZE_+_1_page_directio-sparse-incore_
return value: 0
[ MULTIPLE FILES ]
PAGES SIZE FILE
diff --git a/tests/expected/fincore/count.nosize b/tests/expected/fincore/count.nosize
index 6fdcea0..ec26542 100644
--- a/tests/expected/fincore/count.nosize
+++ b/tests/expected/fincore/count.nosize
@@ -1,36 +1,36 @@
[ NO EXCITING FILE ]
return value: 1
- 0 i_EMPTY_FILE
+0 i_EMPTY_FILE
return value: 0
- 1 i_PAGESIZE_-1__incore_
+1 i_PAGESIZE_-1__incore_
return value: 0
- 1 i_JUST_PAGESIZE_incore_
+1 i_JUST_PAGESIZE_incore_
return value: 0
- 0 i_JUST_PAGESIZE_directio_
+0 i_JUST_PAGESIZE_directio_
return value: 0
- 2 i_TWO_PAGES_incore_
+2 i_TWO_PAGES_incore_
return value: 0
- 0 i_TWO_PAGES_directio_
+0 i_TWO_PAGES_directio_
return value: 0
- 1 i_TWO_PAGES_mixed_directio_incore_
+1 i_TWO_PAGES_mixed_directio_incore_
return value: 0
- 1 i_TWO_PAGES_mixed_incore_directio_
+1 i_TWO_PAGES_mixed_incore_directio_
return value: 0
- 2 i_WINDOW_SIZE_incore-sparse-incore_
+2 i_WINDOW_SIZE_incore-sparse-incore_
return value: 0
- 0 i_WINDOW_SIZE_directio-sparse-directio_
+0 i_WINDOW_SIZE_directio-sparse-directio_
return value: 0
- 1 i_WINDOW_SIZE_incore-sparse-directio_
+1 i_WINDOW_SIZE_incore-sparse-directio_
return value: 0
- 1 i_WINDOW_SIZE_directio-sparse-incore_
+1 i_WINDOW_SIZE_directio-sparse-incore_
return value: 0
- 2 i_WINDOW_SIZE_+_1_page_incore-sparse-incore_
+2 i_WINDOW_SIZE_+_1_page_incore-sparse-incore_
return value: 0
- 0 i_WINDOW_SIZE_+_1_page_directio-sparse-directio_
+0 i_WINDOW_SIZE_+_1_page_directio-sparse-directio_
return value: 0
- 1 i_WINDOW_SIZE_+_1_page_incore-sparse-directio_
+1 i_WINDOW_SIZE_+_1_page_incore-sparse-directio_
return value: 0
- 1 i_WINDOW_SIZE_+_1_page_directio-sparse-incore_
+1 i_WINDOW_SIZE_+_1_page_directio-sparse-incore_
return value: 0
[ MULTIPLE FILES ]
PAGES FILE
diff --git a/tests/expected/hexdump/format-strings-1b_hex b/tests/expected/hexdump/format-strings-1b_hex
new file mode 100644
index 0000000..ecd4960
--- /dev/null
+++ b/tests/expected/hexdump/format-strings-1b_hex
@@ -0,0 +1,41 @@
+0000000 00 20 01 20 02 20 03 20 04 20 05 20 06 20 07 20
+0000010 08 20 09 20 0a 20 0b 20 0c 20 0d 20 0e 20 0f 20
+0000020 10 20 11 20 12 20 13 20 14 20 15 20 16 20 17 20
+0000030 18 20 19 20 1a 20 1b 20 1c 20 1d 20 1e 20 1f 20
+0000040 20 20 21 20 22 20 23 20 24 20 25 20 26 20 27 20
+0000050 28 20 29 20 2a 20 2b 20 2c 20 2d 20 2e 20 2f 20
+0000060 30 20 31 20 32 20 33 20 34 20 35 20 36 20 37 20
+0000070 38 20 39 20 3a 20 3b 20 3c 20 3d 20 3e 20 3f 20
+0000080 40 20 41 20 42 20 43 20 44 20 45 20 46 20 47 20
+0000090 48 20 49 20 4a 20 4b 20 4c 20 4d 20 4e 20 4f 20
+00000a0 50 20 51 20 52 20 53 20 54 20 55 20 56 20 57 20
+00000b0 58 20 59 20 5a 20 5b 20 5c 20 5d 20 5e 20 5f 20
+00000c0 60 20 61 20 62 20 63 20 64 20 65 20 66 20 67 20
+00000d0 68 20 69 20 6a 20 6b 20 6c 20 6d 20 6e 20 6f 20
+00000e0 70 20 71 20 72 20 73 20 74 20 75 20 76 20 77 20
+00000f0 78 20 79 20 7a 20 7b 20 7c 20 7d 20 7e 20 7f 20
+0000100 c2 80 20 c2 81 20 c2 82 20 c2 83 20 c2 84 20 c2
+0000110 85 20 c2 86 20 c2 87 20 c2 88 20 c2 89 20 c2 8a
+0000120 20 c2 8b 20 c2 8c 20 c2 8d 20 c2 8e 20 c2 8f 20
+0000130 c2 90 20 c2 91 20 c2 92 20 c2 93 20 c2 94 20 c2
+0000140 95 20 c2 96 20 c2 97 20 c2 98 20 c2 99 20 c2 9a
+0000150 20 c2 9b 20 c2 9c 20 c2 9d 20 c2 9e 20 c2 9f 20
+0000160 c2 a0 20 c2 a1 20 c2 a2 20 c2 a3 20 c2 a4 20 c2
+0000170 a5 20 c2 a6 20 c2 a7 20 c2 a8 20 c2 a9 20 c2 aa
+0000180 20 c2 ab 20 c2 ac 20 c2 ad 20 c2 ae 20 c2 af 20
+0000190 c2 b0 20 c2 b1 20 c2 b2 20 c2 b3 20 c2 b4 20 c2
+00001a0 b5 20 c2 b6 20 c2 b7 20 c2 b8 20 c2 b9 20 c2 ba
+00001b0 20 c2 bb 20 c2 bc 20 c2 bd 20 c2 be 20 c2 bf 20
+00001c0 c3 80 20 c3 81 20 c3 82 20 c3 83 20 c3 84 20 c3
+00001d0 85 20 c3 86 20 c3 87 20 c3 88 20 c3 89 20 c3 8a
+00001e0 20 c3 8b 20 c3 8c 20 c3 8d 20 c3 8e 20 c3 8f 20
+00001f0 c3 90 20 c3 91 20 c3 92 20 c3 93 20 c3 94 20 c3
+0000200 95 20 c3 96 20 c3 97 20 c3 98 20 c3 99 20 c3 9a
+0000210 20 c3 9b 20 c3 9c 20 c3 9d 20 c3 9e 20 c3 9f 20
+0000220 c3 a0 20 c3 a1 20 c3 a2 20 c3 a3 20 c3 a4 20 c3
+0000230 a5 20 c3 a6 20 c3 a7 20 c3 a8 20 c3 a9 20 c3 aa
+0000240 20 c3 ab 20 c3 ac 20 c3 ad 20 c3 ae 20 c3 af 20
+0000250 c3 b0 20 c3 b1 20 c3 b2 20 c3 b3 20 c3 b4 20 c3
+0000260 b5 20 c3 b6 20 c3 b7 20 c3 b8 20 c3 b9 20 c3 ba
+0000270 20 c3 bb 20 c3 bc 20 c3 bd 20 c3 be 20 c3 bf 20
+0000280
diff --git a/tests/expected/libfdisk/gpt-all-defaults b/tests/expected/libfdisk/gpt-all-defaults
index 218338a..e9df0bd 100644
--- a/tests/expected/libfdisk/gpt-all-defaults
+++ b/tests/expected/libfdisk/gpt-all-defaults
@@ -21,4 +21,3 @@ Device Start End Sectors Size Type
<removed>2 12288 18431 6144 3M Linux filesystem
The partition table has been altered.
-Syncing disks.
diff --git a/tests/expected/libfdisk/gpt-all-defaults-with-typo b/tests/expected/libfdisk/gpt-all-defaults-with-typo
index 218338a..e9df0bd 100644
--- a/tests/expected/libfdisk/gpt-all-defaults-with-typo
+++ b/tests/expected/libfdisk/gpt-all-defaults-with-typo
@@ -21,4 +21,3 @@ Device Start End Sectors Size Type
<removed>2 12288 18431 6144 3M Linux filesystem
The partition table has been altered.
-Syncing disks.
diff --git a/tests/expected/libmount/optlist-append b/tests/expected/libmount/optlist-append
new file mode 100644
index 0000000..d6951ed
--- /dev/null
+++ b/tests/expected/libmount/optlist-append
@@ -0,0 +1,5 @@
+#01 [ unknown ] name:'aaa', value:'(null)'
+#02 [ unknown ] name:'bbb', value:'BBB'
+#03 [ unknown ] name:'context', value:'foo,bar,gogo'
+#04 [ unknown ] name:'ccc', value:'(null)'
+#05 [ unknown ] name:'ddd', value:'(null)'
diff --git a/tests/expected/libmount/optlist-append-empty-value b/tests/expected/libmount/optlist-append-empty-value
new file mode 100644
index 0000000..1ed1028
--- /dev/null
+++ b/tests/expected/libmount/optlist-append-empty-value
@@ -0,0 +1,4 @@
+#01 [ unknown ] name:'aaa', value:'(null)'
+#02 [ unknown ] name:'bbb', value:'BBB'
+#03 [ unknown ] name:'ccc', value:'(null)'
+#04 [ unknown ] name:'ddd', value:'(null)'
diff --git a/tests/expected/libmount/optlist-append-value b/tests/expected/libmount/optlist-append-value
new file mode 100644
index 0000000..24f9115
--- /dev/null
+++ b/tests/expected/libmount/optlist-append-value
@@ -0,0 +1,4 @@
+#01 [ unknown ] name:'aaa', value:'(null)'
+#02 [ unknown ] name:'bbb', value:'BBB'
+#03 [ unknown ] name:'ccc', value:'(null)'
+#04 [ unknown ] name:'ddd', value:'DDD'
diff --git a/tests/expected/libmount/optlist-get b/tests/expected/libmount/optlist-get
new file mode 100644
index 0000000..217a6f7
--- /dev/null
+++ b/tests/expected/libmount/optlist-get
@@ -0,0 +1,4 @@
+Default: rw,aaa,bbb=BBB,ccc
+All: rw,aaa,bbb=BBB,ccc
+Unknown: aaa,bbb=BBB,ccc
+Helpers: rw,aaa,bbb=BBB,ccc
diff --git a/tests/expected/libmount/optlist-get-flg-linux b/tests/expected/libmount/optlist-get-flg-linux
new file mode 100644
index 0000000..f57108b
--- /dev/null
+++ b/tests/expected/libmount/optlist-get-flg-linux
@@ -0,0 +1 @@
+0x00000008
diff --git a/tests/expected/libmount/optlist-get-flg-user b/tests/expected/libmount/optlist-get-flg-user
new file mode 100644
index 0000000..83ab8b2
--- /dev/null
+++ b/tests/expected/libmount/optlist-get-flg-user
@@ -0,0 +1 @@
+0x0000000c
diff --git a/tests/expected/libmount/optlist-get-str b/tests/expected/libmount/optlist-get-str
new file mode 100644
index 0000000..f7f3a13
--- /dev/null
+++ b/tests/expected/libmount/optlist-get-str
@@ -0,0 +1,4 @@
+Default: rw,aaa,bbb=BBB,ccc,defaults
+All: rw,aaa,bbb=BBB,ccc,defaults
+Unknown: aaa,bbb=BBB,ccc
+Helpers: rw,aaa,bbb=BBB,ccc
diff --git a/tests/expected/libmount/optlist-get-str-linux b/tests/expected/libmount/optlist-get-str-linux
new file mode 100644
index 0000000..abe63b4
--- /dev/null
+++ b/tests/expected/libmount/optlist-get-str-linux
@@ -0,0 +1,5 @@
+Default: rw,noexec [0x00000008] (in linux map)
+Default: rw,noexec,noauto,user,defaults
+All: rw,noexec,noauto,user,defaults
+Unknown: (null)
+Helpers: rw,noexec,user
diff --git a/tests/expected/libmount/optlist-get-str-user b/tests/expected/libmount/optlist-get-str-user
new file mode 100644
index 0000000..d047003
--- /dev/null
+++ b/tests/expected/libmount/optlist-get-str-user
@@ -0,0 +1,5 @@
+Default: noauto,user,defaults [0x0000000c] (in user map)
+Default: rw,noexec,noauto,user,defaults
+All: rw,noexec,noauto,user,defaults
+Unknown: (null)
+Helpers: rw,noexec,user
diff --git a/tests/expected/libmount/optlist-get-value b/tests/expected/libmount/optlist-get-value
new file mode 100644
index 0000000..217a6f7
--- /dev/null
+++ b/tests/expected/libmount/optlist-get-value
@@ -0,0 +1,4 @@
+Default: rw,aaa,bbb=BBB,ccc
+All: rw,aaa,bbb=BBB,ccc
+Unknown: aaa,bbb=BBB,ccc
+Helpers: rw,aaa,bbb=BBB,ccc
diff --git a/tests/expected/libmount/optlist-prepend b/tests/expected/libmount/optlist-prepend
new file mode 100644
index 0000000..24c64c6
--- /dev/null
+++ b/tests/expected/libmount/optlist-prepend
@@ -0,0 +1,4 @@
+#01 [ unknown ] name:'ddd', value:'(null)'
+#02 [ unknown ] name:'aaa', value:'(null)'
+#03 [ unknown ] name:'bbb', value:'BBB'
+#04 [ unknown ] name:'ccc', value:'(null)'
diff --git a/tests/expected/libmount/optlist-prepend-empty-value b/tests/expected/libmount/optlist-prepend-empty-value
new file mode 100644
index 0000000..24c64c6
--- /dev/null
+++ b/tests/expected/libmount/optlist-prepend-empty-value
@@ -0,0 +1,4 @@
+#01 [ unknown ] name:'ddd', value:'(null)'
+#02 [ unknown ] name:'aaa', value:'(null)'
+#03 [ unknown ] name:'bbb', value:'BBB'
+#04 [ unknown ] name:'ccc', value:'(null)'
diff --git a/tests/expected/libmount/optlist-prepend-list b/tests/expected/libmount/optlist-prepend-list
new file mode 100644
index 0000000..9e5005f
--- /dev/null
+++ b/tests/expected/libmount/optlist-prepend-list
@@ -0,0 +1,6 @@
+#01 [ unknown ] name:'ddd', value:'(null)'
+#02 [ unknown ] name:'eee', value:'EEE'
+#03 [ unknown ] name:'fff', value:'(null)'
+#04 [ unknown ] name:'aaa', value:'(null)'
+#05 [ unknown ] name:'bbb', value:'BBB'
+#06 [ unknown ] name:'ccc', value:'(null)'
diff --git a/tests/expected/libmount/optlist-prepend-value b/tests/expected/libmount/optlist-prepend-value
new file mode 100644
index 0000000..eed5de5
--- /dev/null
+++ b/tests/expected/libmount/optlist-prepend-value
@@ -0,0 +1,4 @@
+#01 [ unknown ] name:'ddd', value:'DDD'
+#02 [ unknown ] name:'aaa', value:'(null)'
+#03 [ unknown ] name:'bbb', value:'BBB'
+#04 [ unknown ] name:'ccc', value:'(null)'
diff --git a/tests/expected/libmount/optlist-remove b/tests/expected/libmount/optlist-remove
new file mode 100644
index 0000000..08f3898
--- /dev/null
+++ b/tests/expected/libmount/optlist-remove
@@ -0,0 +1,12 @@
+
+Usage:
+ test_mount_optlist <test> [testoptions]
+Tests:
+ --append-str <list> <str> [linux|user] append to the list
+ --prepend-str <list> <str> [linux|user] prepend to the list
+ --set-str <list> <str> [linux|user] set to the list
+ --append-flg <list> <flg> linux|user append to the list
+ --set-flg <list> <flg> linux|user set to the list
+ --get-str <list> [linux|user] all options in string
+ --get-flg <list> linux|user all options by flags
+
diff --git a/tests/expected/libmount/optlist-remove-empty-value b/tests/expected/libmount/optlist-remove-empty-value
new file mode 100644
index 0000000..08f3898
--- /dev/null
+++ b/tests/expected/libmount/optlist-remove-empty-value
@@ -0,0 +1,12 @@
+
+Usage:
+ test_mount_optlist <test> [testoptions]
+Tests:
+ --append-str <list> <str> [linux|user] append to the list
+ --prepend-str <list> <str> [linux|user] prepend to the list
+ --set-str <list> <str> [linux|user] set to the list
+ --append-flg <list> <flg> linux|user append to the list
+ --set-flg <list> <flg> linux|user set to the list
+ --get-str <list> [linux|user] all options in string
+ --get-flg <list> linux|user all options by flags
+
diff --git a/tests/expected/libmount/optlist-remove-quoted b/tests/expected/libmount/optlist-remove-quoted
new file mode 100644
index 0000000..08f3898
--- /dev/null
+++ b/tests/expected/libmount/optlist-remove-quoted
@@ -0,0 +1,12 @@
+
+Usage:
+ test_mount_optlist <test> [testoptions]
+Tests:
+ --append-str <list> <str> [linux|user] append to the list
+ --prepend-str <list> <str> [linux|user] prepend to the list
+ --set-str <list> <str> [linux|user] set to the list
+ --append-flg <list> <flg> linux|user append to the list
+ --set-flg <list> <flg> linux|user set to the list
+ --get-str <list> [linux|user] all options in string
+ --get-flg <list> linux|user all options by flags
+
diff --git a/tests/expected/libmount/optlist-remove-value b/tests/expected/libmount/optlist-remove-value
new file mode 100644
index 0000000..08f3898
--- /dev/null
+++ b/tests/expected/libmount/optlist-remove-value
@@ -0,0 +1,12 @@
+
+Usage:
+ test_mount_optlist <test> [testoptions]
+Tests:
+ --append-str <list> <str> [linux|user] append to the list
+ --prepend-str <list> <str> [linux|user] prepend to the list
+ --set-str <list> <str> [linux|user] set to the list
+ --append-flg <list> <flg> linux|user append to the list
+ --set-flg <list> <flg> linux|user set to the list
+ --get-str <list> [linux|user] all options in string
+ --get-flg <list> linux|user all options by flags
+
diff --git a/tests/expected/libmount/optlist-set b/tests/expected/libmount/optlist-set
new file mode 100644
index 0000000..a9f1e66
--- /dev/null
+++ b/tests/expected/libmount/optlist-set
@@ -0,0 +1,4 @@
+#01 [ unknown ] name:'new', value:'(null)'
+#02 [ unknown ] name:'data', value:'(null)'
+#03 [ unknown ] name:'for', value:'(null)'
+#04 [ unknown ] name:'list', value:'(null)'
diff --git a/tests/expected/libmount/optlist-set-empty b/tests/expected/libmount/optlist-set-empty
new file mode 100644
index 0000000..02e1b58
--- /dev/null
+++ b/tests/expected/libmount/optlist-set-empty
@@ -0,0 +1 @@
+#01 [ unknown ] name:'bbb', value:'(null)'
diff --git a/tests/expected/libmount/optlist-set-large b/tests/expected/libmount/optlist-set-large
new file mode 100644
index 0000000..02e1b58
--- /dev/null
+++ b/tests/expected/libmount/optlist-set-large
@@ -0,0 +1 @@
+#01 [ unknown ] name:'bbb', value:'(null)'
diff --git a/tests/expected/libmount/optlist-set-new b/tests/expected/libmount/optlist-set-new
new file mode 100644
index 0000000..c538cbe
--- /dev/null
+++ b/tests/expected/libmount/optlist-set-new
@@ -0,0 +1 @@
+#01 [ unknown ] name:'aaa', value:'(null)'
diff --git a/tests/expected/libmount/optlist-set-new-empty b/tests/expected/libmount/optlist-set-new-empty
new file mode 100644
index 0000000..c538cbe
--- /dev/null
+++ b/tests/expected/libmount/optlist-set-new-empty
@@ -0,0 +1 @@
+#01 [ unknown ] name:'aaa', value:'(null)'
diff --git a/tests/expected/libmount/optlist-set-new-end b/tests/expected/libmount/optlist-set-new-end
new file mode 100644
index 0000000..12d6779
--- /dev/null
+++ b/tests/expected/libmount/optlist-set-new-end
@@ -0,0 +1 @@
+#01 [ unknown ] name:'ccc', value:'(null)'
diff --git a/tests/expected/libmount/optlist-set-new-end-empty b/tests/expected/libmount/optlist-set-new-end-empty
new file mode 100644
index 0000000..12d6779
--- /dev/null
+++ b/tests/expected/libmount/optlist-set-new-end-empty
@@ -0,0 +1 @@
+#01 [ unknown ] name:'ccc', value:'(null)'
diff --git a/tests/expected/libmount/optlist-set-remove b/tests/expected/libmount/optlist-set-remove
new file mode 100644
index 0000000..02e1b58
--- /dev/null
+++ b/tests/expected/libmount/optlist-set-remove
@@ -0,0 +1 @@
+#01 [ unknown ] name:'bbb', value:'(null)'
diff --git a/tests/expected/libmount/optlist-set-small b/tests/expected/libmount/optlist-set-small
new file mode 100644
index 0000000..02e1b58
--- /dev/null
+++ b/tests/expected/libmount/optlist-set-small
@@ -0,0 +1 @@
+#01 [ unknown ] name:'bbb', value:'(null)'
diff --git a/tests/expected/libmount/optstr-prepend-list b/tests/expected/libmount/optstr-prepend-list
new file mode 100644
index 0000000..9f289fd
--- /dev/null
+++ b/tests/expected/libmount/optstr-prepend-list
@@ -0,0 +1 @@
+result: >ddd,eee=EEE,fff,aaa,bbb=BBB,ccc<
diff --git a/tests/expected/libsmartcols/continuous-json b/tests/expected/libsmartcols/continuous-json
new file mode 100644
index 0000000..e8ba584
--- /dev/null
+++ b/tests/expected/libsmartcols/continuous-json
@@ -0,0 +1,40 @@
+{
+ "count": "0",
+ "text": "text0"
+}
+{
+ "count": "1",
+ "text": "text1"
+}
+{
+ "count": "2",
+ "text": "text2"
+}
+{
+ "count": "3",
+ "text": "text3"
+}
+{
+ "count": "4",
+ "text": "text4"
+}
+{
+ "count": "5",
+ "text": "text5"
+}
+{
+ "count": "6",
+ "text": "text6"
+}
+{
+ "count": "7",
+ "text": "text7"
+}
+{
+ "count": "8",
+ "text": "text8"
+}
+{
+ "count": "9",
+ "text": "text9"
+}
diff --git a/tests/expected/libsmartcols/filter b/tests/expected/libsmartcols/filter
new file mode 100644
index 0000000..4155aa3
--- /dev/null
+++ b/tests/expected/libsmartcols/filter
@@ -0,0 +1 @@
+...done.
diff --git a/tests/expected/libsmartcols/filter-bool-and b/tests/expected/libsmartcols/filter-bool-and
new file mode 100644
index 0000000..136149c
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-bool-and
@@ -0,0 +1,7 @@
+expr: BOOL && NAME
+
+NAME BOOL
+bbb 1
+ee true
+hhh TRUE
+jj 1
diff --git a/tests/expected/libsmartcols/filter-bool-as-string b/tests/expected/libsmartcols/filter-bool-as-string
new file mode 100644
index 0000000..213ce58
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-bool-as-string
@@ -0,0 +1,2 @@
+expr: BOOL == "0"
+
diff --git a/tests/expected/libsmartcols/filter-bool-as-string2 b/tests/expected/libsmartcols/filter-bool-as-string2
new file mode 100644
index 0000000..c4ddd20
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-bool-as-string2
@@ -0,0 +1,2 @@
+expr: BOOL == "1"
+
diff --git a/tests/expected/libsmartcols/filter-bool-eq-false b/tests/expected/libsmartcols/filter-bool-eq-false
new file mode 100644
index 0000000..8454205
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-bool-eq-false
@@ -0,0 +1,8 @@
+expr: BOOL == FALSE
+
+NAME BOOL
+aaaa 0
+dddddd 0
+ffff false
+gggggg FALSE
+iiiiii 0
diff --git a/tests/expected/libsmartcols/filter-bool-eq-false2 b/tests/expected/libsmartcols/filter-bool-eq-false2
new file mode 100644
index 0000000..d0d19ff
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-bool-eq-false2
@@ -0,0 +1,8 @@
+expr: BOOL == false
+
+NAME BOOL
+aaaa 0
+dddddd 0
+ffff false
+gggggg FALSE
+iiiiii 0
diff --git a/tests/expected/libsmartcols/filter-bool-eq-false3 b/tests/expected/libsmartcols/filter-bool-eq-false3
new file mode 100644
index 0000000..605bc93
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-bool-eq-false3
@@ -0,0 +1,9 @@
+expr: BOOL == 0
+
+NAME BOOL
+aaaa 0
+ccccc
+dddddd 0
+ffff false
+gggggg FALSE
+iiiiii 0
diff --git a/tests/expected/libsmartcols/filter-bool-eq-true b/tests/expected/libsmartcols/filter-bool-eq-true
new file mode 100644
index 0000000..d2d9199
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-bool-eq-true
@@ -0,0 +1,7 @@
+expr: BOOL == TRUE
+
+NAME BOOL
+bbb 1
+ee true
+hhh TRUE
+jj 1
diff --git a/tests/expected/libsmartcols/filter-bool-eq-true2 b/tests/expected/libsmartcols/filter-bool-eq-true2
new file mode 100644
index 0000000..12dedc2
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-bool-eq-true2
@@ -0,0 +1,7 @@
+expr: BOOL == true
+
+NAME BOOL
+bbb 1
+ee true
+hhh TRUE
+jj 1
diff --git a/tests/expected/libsmartcols/filter-bool-eq-true3 b/tests/expected/libsmartcols/filter-bool-eq-true3
new file mode 100644
index 0000000..801ee24
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-bool-eq-true3
@@ -0,0 +1,7 @@
+expr: BOOL == 1
+
+NAME BOOL
+bbb 1
+ee true
+hhh TRUE
+jj 1
diff --git a/tests/expected/libsmartcols/filter-bool-is b/tests/expected/libsmartcols/filter-bool-is
new file mode 100644
index 0000000..1e8b359
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-bool-is
@@ -0,0 +1,7 @@
+expr: BOOL
+
+NAME BOOL
+bbb 1
+ee true
+hhh TRUE
+jj 1
diff --git a/tests/expected/libsmartcols/filter-bool-ne b/tests/expected/libsmartcols/filter-bool-ne
new file mode 100644
index 0000000..6491fad
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-bool-ne
@@ -0,0 +1,7 @@
+expr: BOOL != false
+
+NAME BOOL
+bbb 1
+ee true
+hhh TRUE
+jj 1
diff --git a/tests/expected/libsmartcols/filter-bool-ne2 b/tests/expected/libsmartcols/filter-bool-ne2
new file mode 100644
index 0000000..9fc6844
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-bool-ne2
@@ -0,0 +1,8 @@
+expr: BOOL != true
+
+NAME BOOL
+aaaa 0
+dddddd 0
+ffff false
+gggggg FALSE
+iiiiii 0
diff --git a/tests/expected/libsmartcols/filter-bool-neg b/tests/expected/libsmartcols/filter-bool-neg
new file mode 100644
index 0000000..9311918
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-bool-neg
@@ -0,0 +1,9 @@
+expr: !BOOL
+
+NAME BOOL
+aaaa 0
+ccccc
+dddddd 0
+ffff false
+gggggg FALSE
+iiiiii 0
diff --git a/tests/expected/libsmartcols/filter-bool-or b/tests/expected/libsmartcols/filter-bool-or
new file mode 100644
index 0000000..506242c
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-bool-or
@@ -0,0 +1,13 @@
+expr: BOOL || NAME
+
+NAME BOOL
+aaaa 0
+bbb 1
+ccccc
+dddddd 0
+ee true
+ffff false
+gggggg FALSE
+hhh TRUE
+iiiiii 0
+jj 1
diff --git a/tests/expected/libsmartcols/filter-broken-bad-column b/tests/expected/libsmartcols/filter-broken-bad-column
new file mode 100644
index 0000000..484d84a
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-broken-bad-column
@@ -0,0 +1,4 @@
+expr: XXX == 100
+
+sample-scols-fromfile: unknown column 'XXX' in filter
+sample-scols-fromfile: failed to initialize filter
diff --git a/tests/expected/libsmartcols/filter-broken-bad-float b/tests/expected/libsmartcols/filter-broken-bad-float
new file mode 100644
index 0000000..bc11bbc
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-broken-bad-float
@@ -0,0 +1,3 @@
+expr: NUM == 100 . 5
+
+sample-scols-fromfile: failed to parse filter: <bison syntax error message removed>
diff --git a/tests/expected/libsmartcols/filter-broken-bad-number b/tests/expected/libsmartcols/filter-broken-bad-number
new file mode 100644
index 0000000..d7d5e70
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-broken-bad-number
@@ -0,0 +1,3 @@
+expr: NUM == 1y0
+
+sample-scols-fromfile: failed to parse filter: <bison syntax error message removed>
diff --git a/tests/expected/libsmartcols/filter-broken-bad-oper b/tests/expected/libsmartcols/filter-broken-bad-oper
new file mode 100644
index 0000000..f0600ca
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-broken-bad-oper
@@ -0,0 +1,3 @@
+expr: NUM ** 100
+
+sample-scols-fromfile: failed to parse filter: <bison syntax error message removed>
diff --git a/tests/expected/libsmartcols/filter-broken-bad-oper2 b/tests/expected/libsmartcols/filter-broken-bad-oper2
new file mode 100644
index 0000000..69e62a2
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-broken-bad-oper2
@@ -0,0 +1,3 @@
+expr: NUM = 100
+
+sample-scols-fromfile: failed to parse filter: <bison syntax error message removed>
diff --git a/tests/expected/libsmartcols/filter-broken-no-close b/tests/expected/libsmartcols/filter-broken-no-close
new file mode 100644
index 0000000..9298977
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-broken-no-close
@@ -0,0 +1,3 @@
+expr: (NUM == 100
+
+sample-scols-fromfile: failed to parse filter: <bison syntax error message removed>
diff --git a/tests/expected/libsmartcols/filter-broken-no-column b/tests/expected/libsmartcols/filter-broken-no-column
new file mode 100644
index 0000000..db17bca
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-broken-no-column
@@ -0,0 +1,3 @@
+expr: == 100
+
+sample-scols-fromfile: failed to parse filter: <bison syntax error message removed>
diff --git a/tests/expected/libsmartcols/filter-broken-no-param b/tests/expected/libsmartcols/filter-broken-no-param
new file mode 100644
index 0000000..50f18ea
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-broken-no-param
@@ -0,0 +1,3 @@
+expr: NUM ==
+
+sample-scols-fromfile: failed to parse filter: <bison syntax error message removed>
diff --git a/tests/expected/libsmartcols/filter-broken-no-start b/tests/expected/libsmartcols/filter-broken-no-start
new file mode 100644
index 0000000..227c027
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-broken-no-start
@@ -0,0 +1,3 @@
+expr: NUM == 100)
+
+sample-scols-fromfile: failed to parse filter: <bison syntax error message removed>
diff --git a/tests/expected/libsmartcols/filter-float-and b/tests/expected/libsmartcols/filter-float-and
new file mode 100644
index 0000000..dd733fb
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-float-and
@@ -0,0 +1,12 @@
+expr: NUM && NAME
+
+NAME NUM
+bbb 100
+ccccc 100.5
+dddddd 99.9
+ee 411
+ffff 5111
+gggggg 678993321
+hhh 7666666
+iiiiii 8000
+jj 8000.5
diff --git a/tests/expected/libsmartcols/filter-float-as-string b/tests/expected/libsmartcols/filter-float-as-string
new file mode 100644
index 0000000..5e2d9eb
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-float-as-string
@@ -0,0 +1,4 @@
+expr: NUM == "100"
+
+NAME NUM
+bbb 100
diff --git a/tests/expected/libsmartcols/filter-float-as-string2 b/tests/expected/libsmartcols/filter-float-as-string2
new file mode 100644
index 0000000..a829b9c
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-float-as-string2
@@ -0,0 +1,4 @@
+expr: NUM == "100.5"
+
+NAME NUM
+ccccc 100.5
diff --git a/tests/expected/libsmartcols/filter-float-eq b/tests/expected/libsmartcols/filter-float-eq
new file mode 100644
index 0000000..e6e1451
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-float-eq
@@ -0,0 +1,4 @@
+expr: NUM == 100
+
+NAME NUM
+bbb 100
diff --git a/tests/expected/libsmartcols/filter-float-eq2 b/tests/expected/libsmartcols/filter-float-eq2
new file mode 100644
index 0000000..71e27e2
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-float-eq2
@@ -0,0 +1,4 @@
+expr: NUM == 100.5
+
+NAME NUM
+ccccc 100.5
diff --git a/tests/expected/libsmartcols/filter-float-ge b/tests/expected/libsmartcols/filter-float-ge
new file mode 100644
index 0000000..ca892d2
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-float-ge
@@ -0,0 +1,11 @@
+expr: NUM >= 100
+
+NAME NUM
+bbb 100
+ccccc 100.5
+ee 411
+ffff 5111
+gggggg 678993321
+hhh 7666666
+iiiiii 8000
+jj 8000.5
diff --git a/tests/expected/libsmartcols/filter-float-ge2 b/tests/expected/libsmartcols/filter-float-ge2
new file mode 100644
index 0000000..c089fed
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-float-ge2
@@ -0,0 +1,10 @@
+expr: NUM >= 100.5
+
+NAME NUM
+ccccc 100.5
+ee 411
+ffff 5111
+gggggg 678993321
+hhh 7666666
+iiiiii 8000
+jj 8000.5
diff --git a/tests/expected/libsmartcols/filter-float-gt b/tests/expected/libsmartcols/filter-float-gt
new file mode 100644
index 0000000..283f13d
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-float-gt
@@ -0,0 +1,6 @@
+expr: NUM > 8000
+
+NAME NUM
+gggggg 678993321
+hhh 7666666
+jj 8000.5
diff --git a/tests/expected/libsmartcols/filter-float-gt2 b/tests/expected/libsmartcols/filter-float-gt2
new file mode 100644
index 0000000..bd54c05
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-float-gt2
@@ -0,0 +1,5 @@
+expr: NUM > 8000.5
+
+NAME NUM
+gggggg 678993321
+hhh 7666666
diff --git a/tests/expected/libsmartcols/filter-float-is b/tests/expected/libsmartcols/filter-float-is
new file mode 100644
index 0000000..79e30ba
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-float-is
@@ -0,0 +1,12 @@
+expr: NUM
+
+NAME NUM
+bbb 100
+ccccc 100.5
+dddddd 99.9
+ee 411
+ffff 5111
+gggggg 678993321
+hhh 7666666
+iiiiii 8000
+jj 8000.5
diff --git a/tests/expected/libsmartcols/filter-float-le b/tests/expected/libsmartcols/filter-float-le
new file mode 100644
index 0000000..6954d68
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-float-le
@@ -0,0 +1,6 @@
+expr: NUM <= 100
+
+NAME NUM
+aaaa 0
+bbb 100
+dddddd 99.9
diff --git a/tests/expected/libsmartcols/filter-float-le2 b/tests/expected/libsmartcols/filter-float-le2
new file mode 100644
index 0000000..c8693cc
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-float-le2
@@ -0,0 +1,7 @@
+expr: NUM <= 100.5
+
+NAME NUM
+aaaa 0
+bbb 100
+ccccc 100.5
+dddddd 99.9
diff --git a/tests/expected/libsmartcols/filter-float-lt b/tests/expected/libsmartcols/filter-float-lt
new file mode 100644
index 0000000..ac67cd7
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-float-lt
@@ -0,0 +1,5 @@
+expr: NUM < 100
+
+NAME NUM
+aaaa 0
+dddddd 99.9
diff --git a/tests/expected/libsmartcols/filter-float-lt2 b/tests/expected/libsmartcols/filter-float-lt2
new file mode 100644
index 0000000..0c26b03
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-float-lt2
@@ -0,0 +1,6 @@
+expr: NUM < 100.5
+
+NAME NUM
+aaaa 0
+bbb 100
+dddddd 99.9
diff --git a/tests/expected/libsmartcols/filter-float-ne b/tests/expected/libsmartcols/filter-float-ne
new file mode 100644
index 0000000..b16c48e
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-float-ne
@@ -0,0 +1,12 @@
+expr: NUM != 100
+
+NAME NUM
+aaaa 0
+ccccc 100.5
+dddddd 99.9
+ee 411
+ffff 5111
+gggggg 678993321
+hhh 7666666
+iiiiii 8000
+jj 8000.5
diff --git a/tests/expected/libsmartcols/filter-float-ne2 b/tests/expected/libsmartcols/filter-float-ne2
new file mode 100644
index 0000000..3d55387
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-float-ne2
@@ -0,0 +1,12 @@
+expr: NUM != 100.5
+
+NAME NUM
+aaaa 0
+bbb 100
+dddddd 99.9
+ee 411
+ffff 5111
+gggggg 678993321
+hhh 7666666
+iiiiii 8000
+jj 8000.5
diff --git a/tests/expected/libsmartcols/filter-float-neg b/tests/expected/libsmartcols/filter-float-neg
new file mode 100644
index 0000000..647af52
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-float-neg
@@ -0,0 +1,4 @@
+expr: !NUM
+
+NAME NUM
+aaaa 0
diff --git a/tests/expected/libsmartcols/filter-float-or b/tests/expected/libsmartcols/filter-float-or
new file mode 100644
index 0000000..40f2291
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-float-or
@@ -0,0 +1,13 @@
+expr: NUM || NAME
+
+NAME NUM
+aaaa 0
+bbb 100
+ccccc 100.5
+dddddd 99.9
+ee 411
+ffff 5111
+gggggg 678993321
+hhh 7666666
+iiiiii 8000
+jj 8000.5
diff --git a/tests/expected/libsmartcols/filter-number-and b/tests/expected/libsmartcols/filter-number-and
new file mode 100644
index 0000000..be82bf5
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-number-and
@@ -0,0 +1,12 @@
+expr: NUM && NAME
+
+NAME NUM
+bbb 100
+ccccc 21
+dddddd 3
+ee 411
+ffff 5111
+gggggg 678993321
+hhh 7666666
+iiiiii 8765
+jj 987456
diff --git a/tests/expected/libsmartcols/filter-number-and-or b/tests/expected/libsmartcols/filter-number-and-or
new file mode 100644
index 0000000..79ee4cb
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-number-and-or
@@ -0,0 +1,7 @@
+expr: (NUM >= 3 && NUM <= 100) || NUM == 0
+
+NAME NUM
+aaaa 0
+bbb 100
+ccccc 21
+dddddd 3
diff --git a/tests/expected/libsmartcols/filter-number-as-string b/tests/expected/libsmartcols/filter-number-as-string
new file mode 100644
index 0000000..5e2d9eb
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-number-as-string
@@ -0,0 +1,4 @@
+expr: NUM == "100"
+
+NAME NUM
+bbb 100
diff --git a/tests/expected/libsmartcols/filter-number-eq b/tests/expected/libsmartcols/filter-number-eq
new file mode 100644
index 0000000..e6e1451
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-number-eq
@@ -0,0 +1,4 @@
+expr: NUM == 100
+
+NAME NUM
+bbb 100
diff --git a/tests/expected/libsmartcols/filter-number-expr-and-expr b/tests/expected/libsmartcols/filter-number-expr-and-expr
new file mode 100644
index 0000000..5bc6b37
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-number-expr-and-expr
@@ -0,0 +1,7 @@
+expr: NUM > 10 && NUM < 8000
+
+NAME NUM
+bbb 100
+ccccc 21
+ee 411
+ffff 5111
diff --git a/tests/expected/libsmartcols/filter-number-expr-or-expr b/tests/expected/libsmartcols/filter-number-expr-or-expr
new file mode 100644
index 0000000..2e3f83b
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-number-expr-or-expr
@@ -0,0 +1,5 @@
+expr: NUM == 3 || NUM == 100
+
+NAME NUM
+bbb 100
+dddddd 3
diff --git a/tests/expected/libsmartcols/filter-number-ge b/tests/expected/libsmartcols/filter-number-ge
new file mode 100644
index 0000000..23899e5
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-number-ge
@@ -0,0 +1,10 @@
+expr: NUM >= 100
+
+NAME NUM
+bbb 100
+ee 411
+ffff 5111
+gggggg 678993321
+hhh 7666666
+iiiiii 8765
+jj 987456
diff --git a/tests/expected/libsmartcols/filter-number-gt b/tests/expected/libsmartcols/filter-number-gt
new file mode 100644
index 0000000..6668cd4
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-number-gt
@@ -0,0 +1,7 @@
+expr: NUM > 8000
+
+NAME NUM
+gggggg 678993321
+hhh 7666666
+iiiiii 8765
+jj 987456
diff --git a/tests/expected/libsmartcols/filter-number-is b/tests/expected/libsmartcols/filter-number-is
new file mode 100644
index 0000000..85dd344
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-number-is
@@ -0,0 +1,12 @@
+expr: NUM
+
+NAME NUM
+bbb 100
+ccccc 21
+dddddd 3
+ee 411
+ffff 5111
+gggggg 678993321
+hhh 7666666
+iiiiii 8765
+jj 987456
diff --git a/tests/expected/libsmartcols/filter-number-le b/tests/expected/libsmartcols/filter-number-le
new file mode 100644
index 0000000..f2d7521
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-number-le
@@ -0,0 +1,7 @@
+expr: NUM <= 100
+
+NAME NUM
+aaaa 0
+bbb 100
+ccccc 21
+dddddd 3
diff --git a/tests/expected/libsmartcols/filter-number-lt b/tests/expected/libsmartcols/filter-number-lt
new file mode 100644
index 0000000..b0784db
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-number-lt
@@ -0,0 +1,6 @@
+expr: NUM < 100
+
+NAME NUM
+aaaa 0
+ccccc 21
+dddddd 3
diff --git a/tests/expected/libsmartcols/filter-number-ne b/tests/expected/libsmartcols/filter-number-ne
new file mode 100644
index 0000000..c2ee709
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-number-ne
@@ -0,0 +1,12 @@
+expr: NUM != 100
+
+NAME NUM
+aaaa 0
+ccccc 21
+dddddd 3
+ee 411
+ffff 5111
+gggggg 678993321
+hhh 7666666
+iiiiii 8765
+jj 987456
diff --git a/tests/expected/libsmartcols/filter-number-neg b/tests/expected/libsmartcols/filter-number-neg
new file mode 100644
index 0000000..647af52
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-number-neg
@@ -0,0 +1,4 @@
+expr: !NUM
+
+NAME NUM
+aaaa 0
diff --git a/tests/expected/libsmartcols/filter-number-or b/tests/expected/libsmartcols/filter-number-or
new file mode 100644
index 0000000..8a32fac
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-number-or
@@ -0,0 +1,13 @@
+expr: NUM || NAME
+
+NAME NUM
+aaaa 0
+bbb 100
+ccccc 21
+dddddd 3
+ee 411
+ffff 5111
+gggggg 678993321
+hhh 7666666
+iiiiii 8765
+jj 987456
diff --git a/tests/expected/libsmartcols/filter-string-eq b/tests/expected/libsmartcols/filter-string-eq
new file mode 100644
index 0000000..ac96885
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-string-eq
@@ -0,0 +1,4 @@
+expr: NAME == "bbb"
+
+NAME
+bbb
diff --git a/tests/expected/libsmartcols/filter-string-ge b/tests/expected/libsmartcols/filter-string-ge
new file mode 100644
index 0000000..4e2d7de
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-string-ge
@@ -0,0 +1,12 @@
+expr: NAME >= "bbb"
+
+NAME
+bbb
+ccccc
+dddddd
+ee
+ffff
+gggggg
+hhh
+iiiiii
+jj
diff --git a/tests/expected/libsmartcols/filter-string-gt b/tests/expected/libsmartcols/filter-string-gt
new file mode 100644
index 0000000..b33b8ac
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-string-gt
@@ -0,0 +1,11 @@
+expr: NAME > "bbb"
+
+NAME
+ccccc
+dddddd
+ee
+ffff
+gggggg
+hhh
+iiiiii
+jj
diff --git a/tests/expected/libsmartcols/filter-string-is b/tests/expected/libsmartcols/filter-string-is
new file mode 100644
index 0000000..c4d8245
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-string-is
@@ -0,0 +1,13 @@
+expr: NAME
+
+NAME
+aaaa
+bbb
+ccccc
+dddddd
+ee
+ffff
+gggggg
+hhh
+iiiiii
+jj
diff --git a/tests/expected/libsmartcols/filter-string-le b/tests/expected/libsmartcols/filter-string-le
new file mode 100644
index 0000000..3fea9f1
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-string-le
@@ -0,0 +1,5 @@
+expr: NAME <= "bbb"
+
+NAME
+aaaa
+bbb
diff --git a/tests/expected/libsmartcols/filter-string-lt b/tests/expected/libsmartcols/filter-string-lt
new file mode 100644
index 0000000..f60cb56
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-string-lt
@@ -0,0 +1,4 @@
+expr: NAME < "bbb"
+
+NAME
+aaaa
diff --git a/tests/expected/libsmartcols/filter-string-ne b/tests/expected/libsmartcols/filter-string-ne
new file mode 100644
index 0000000..d69f05b
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-string-ne
@@ -0,0 +1,12 @@
+expr: NAME != "bbb"
+
+NAME
+aaaa
+ccccc
+dddddd
+ee
+ffff
+gggggg
+hhh
+iiiiii
+jj
diff --git a/tests/expected/libsmartcols/filter-string-neg b/tests/expected/libsmartcols/filter-string-neg
new file mode 100644
index 0000000..bd5a0dd
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-string-neg
@@ -0,0 +1,2 @@
+expr: !NAME
+
diff --git a/tests/expected/libsmartcols/filter-string-nreg b/tests/expected/libsmartcols/filter-string-nreg
new file mode 100644
index 0000000..e85030e
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-string-nreg
@@ -0,0 +1,12 @@
+expr: NAME !~ "aaa.*"
+
+NAME
+bbb
+ccccc
+dddddd
+ee
+ffff
+gggggg
+hhh
+iiiiii
+jj
diff --git a/tests/expected/libsmartcols/filter-string-reg b/tests/expected/libsmartcols/filter-string-reg
new file mode 100644
index 0000000..3c32c01
--- /dev/null
+++ b/tests/expected/libsmartcols/filter-string-reg
@@ -0,0 +1,4 @@
+expr: NAME =~ "aaa.*"
+
+NAME
+aaaa
diff --git a/tests/expected/libsmartcols/fromfile-tree-json b/tests/expected/libsmartcols/fromfile-tree-json
index 3d65183..aada9f0 100644
--- a/tests/expected/libsmartcols/fromfile-tree-json
+++ b/tests/expected/libsmartcols/fromfile-tree-json
@@ -2,56 +2,56 @@
"testtable": [
{
"tree": "aaaa",
- "id": "1",
+ "id": 1,
"parent": "0",
"strings": "qqqqqqqqqqqqqqqqqX",
"children": [
{
"tree": "bbb",
- "id": "2",
+ "id": 2,
"parent": "1",
"strings": "dddddddddddddX",
"children": [
{
"tree": "ee",
- "id": "5",
+ "id": 5,
"parent": "2",
"strings": "ddddddddddddddddddddddddddX"
},{
"tree": "ffff",
- "id": "6",
+ "id": 6,
"parent": "2",
"strings": "jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjX"
}
]
},{
"tree": "ccccc",
- "id": "3",
+ "id": 3,
"parent": "1",
"strings": "ffffffffffffffffffffffffffffffffffffffffX",
"children": [
{
"tree": "gggggg",
- "id": "7",
+ "id": 7,
"parent": "3",
"strings": "mmmmmmmmmmmmmmmmmmmX",
"children": [
{
"tree": "hhh",
- "id": "8",
+ "id": 8,
"parent": "7",
"strings": "lllllllllllllllllllllllllllllllllllllX",
"children": [
{
"tree": "iiiiii",
- "id": "9",
+ "id": 9,
"parent": "8",
"strings": "yyyyyyyyyyyyyyyyyyyyyyyyyyyyX"
}
]
},{
"tree": "jj",
- "id": "10",
+ "id": 10,
"parent": "7",
"strings": "pppppppppX"
}
@@ -60,7 +60,7 @@
]
},{
"tree": "dddddd",
- "id": "4",
+ "id": 4,
"parent": "1",
"strings": "ssssssssssX"
}
diff --git a/tests/expected/libsmartcols/fromfile-wrapzero b/tests/expected/libsmartcols/fromfile-wrapzero
new file mode 100644
index 0000000..11370ff
--- /dev/null
+++ b/tests/expected/libsmartcols/fromfile-wrapzero
@@ -0,0 +1,19 @@
+NAME NUM WRAPZERO
+aaaa 0 aaa
+bbb 100 bbbbb
+ccccc 21 cccc
+ CCCC
+dddddd 3 dddddddd
+ DDDD
+ DD
+ee 411 hello
+ baby
+ffff 5111 aaa
+ bbb
+ ccc
+ ddd
+gggggg 678993321 eee
+hhh 7666666 fffff
+iiiiii 8765 g
+ hhhhh
+jj 987456 ppppppppp
diff --git a/tests/expected/libsmartcols/fromfile-wrapzero-tree b/tests/expected/libsmartcols/fromfile-wrapzero-tree
new file mode 100644
index 0000000..552470d
--- /dev/null
+++ b/tests/expected/libsmartcols/fromfile-wrapzero-tree
@@ -0,0 +1,19 @@
+TREE ID PARENT WRAPZERO
+aaaa 1 0 aaa
+|-bbb 2 1 bbbbb
+| |-ee 5 2 hello
+| | baby
+| `-ffff 6 2 aaa
+| bbb
+| ccc
+| ddd
+|-ccccc 3 1 cccc
+| | CCCC
+| `-gggggg 7 3 eee
+| |-hhh 8 7 fffff
+| | `-iiiiii 9 8 g
+| | hhhhh
+| `-jj 10 7 ppppppppp
+`-dddddd 4 1 dddddddd
+ DDDD
+ DD
diff --git a/tests/expected/lscpu/lscpu-rv64-linux b/tests/expected/lscpu/lscpu-rv64-linux
index 22767db..d741cae 100644
--- a/tests/expected/lscpu/lscpu-rv64-linux
+++ b/tests/expected/lscpu/lscpu-rv64-linux
@@ -1,16 +1,23 @@
CPU(s): 2
On-line CPU(s) list: 0,1
+Model name: sifive,u74-mc
+Thread(s) per core: 2
+Core(s) per socket: 1
+Socket(s): 1
+L1d cache: 64 KiB (2 instances)
+L1i cache: 64 KiB (2 instances)
+L2 cache: 2 MiB (1 instance)
# The following is the parsable format, which can be fed to other
# programs. Each different item in every column has an unique ID
# starting usually from zero.
-# CPU,Core,Socket,Node
-,,,
-,,,
+# CPU,Core,Socket,Node,,L1d,L1i,L2
+0,0,0,,,0,0,0
+1,0,0,,,1,1,0
# The following is the parsable format, which can be fed to other
# programs. Each different item in every column has an unique ID
# starting usually from zero.
-# CPU,Core,Socket,Node
-,,,
-,,,
+# CPU,Core,Socket,Node,,L1d,L1i,L2
+0,-,-,,,0,0,0
+1,-,-,,,1,1,0
diff --git a/tests/expected/lscpu/lscpu-rv64-visionfive2 b/tests/expected/lscpu/lscpu-rv64-visionfive2
new file mode 100644
index 0000000..0b2390d
--- /dev/null
+++ b/tests/expected/lscpu/lscpu-rv64-visionfive2
@@ -0,0 +1,33 @@
+Byte Order: Little Endian
+CPU(s): 4
+On-line CPU(s) list: 0-3
+Vendor ID: 0x489
+Model name: sifive,u74-mc
+CPU family: 0x8000000000000007
+Model: 0x4210427
+Thread(s) per core: 1
+Core(s) per socket: 4
+Socket(s): 1
+L1d cache: 128 KiB (4 instances)
+L1i cache: 128 KiB (4 instances)
+L2 cache: 2 MiB (1 instance)
+NUMA node(s): 1
+NUMA node0 CPU(s): 0-3
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting usually from zero.
+# CPU,Core,Socket,Node,,L1d,L1i,L2
+0,0,0,0,,0,0,0
+1,1,0,0,,1,1,0
+2,2,0,0,,2,2,0
+3,3,0,0,,3,3,0
+
+# The following is the parsable format, which can be fed to other
+# programs. Each different item in every column has an unique ID
+# starting usually from zero.
+# CPU,Core,Socket,Node,,L1d,L1i,L2
+0,3,0,0,,0,0,0
+1,1,0,0,,1,1,0
+2,2,0,0,,2,2,0
+3,4,0,0,,3,3,0
diff --git a/tests/expected/lsfd/column-ainodeclass-inotify b/tests/expected/lsfd/column-ainodeclass-inotify
index f93e19e..b1561dd 100644
--- a/tests/expected/lsfd/column-ainodeclass-inotify
+++ b/tests/expected/lsfd/column-ainodeclass-inotify
@@ -1,2 +1,2 @@
- 3 UNKN inotify
+3 UNKN inotify
inotify:ASSOC,STTYPE,AINODECLASS: 0
diff --git a/tests/expected/lsfd/column-ainodeclass-pidfd b/tests/expected/lsfd/column-ainodeclass-pidfd
index 269cea5..5fe751c 100644
--- a/tests/expected/lsfd/column-ainodeclass-pidfd
+++ b/tests/expected/lsfd/column-ainodeclass-pidfd
@@ -1,2 +1,2 @@
- 3 UNKN pidfd
+3 UNKN pidfd
pidfd:ASSOC,STTYPE,AINODECLASS: 0
diff --git a/tests/expected/lsfd/column-deleted-make-regular-file b/tests/expected/lsfd/column-deleted-make-regular-file
new file mode 100644
index 0000000..86e46bc
--- /dev/null
+++ b/tests/expected/lsfd/column-deleted-make-regular-file
@@ -0,0 +1,2 @@
+1
+make-regular-file: DELETED: 0
diff --git a/tests/expected/lsfd/column-deleted-ro-regular-file b/tests/expected/lsfd/column-deleted-ro-regular-file
new file mode 100644
index 0000000..ccaf14e
--- /dev/null
+++ b/tests/expected/lsfd/column-deleted-ro-regular-file
@@ -0,0 +1,2 @@
+0
+ro-regular-file: DELETED: 0
diff --git a/tests/expected/lsfd/column-name-deleted-file b/tests/expected/lsfd/column-name-deleted-file
new file mode 100644
index 0000000..de33c8b
--- /dev/null
+++ b/tests/expected/lsfd/column-name-deleted-file
@@ -0,0 +1,2 @@
+tmp-column-name
+make-regular-file: DELETED,NAME: 0
diff --git a/tests/expected/lsfd/column-name-pidfd b/tests/expected/lsfd/column-name-pidfd
index 49abe81..10e3c5e 100644
--- a/tests/expected/lsfd/column-name-pidfd
+++ b/tests/expected/lsfd/column-name-pidfd
@@ -1,2 +1,2 @@
- 3 anon_inode:[pidfd] pid=1 comm= nspid=1
+3 anon_inode:[pidfd] pid=1 comm= nspid=1
pidfd:ASSOC,KNAME,NAME: 0
diff --git a/tests/expected/lsfd/column-name-ro-regular-file b/tests/expected/lsfd/column-name-ro-regular-file
index 446a916..e7fc7c6 100644
--- a/tests/expected/lsfd/column-name-ro-regular-file
+++ b/tests/expected/lsfd/column-name-ro-regular-file
@@ -1,2 +1,2 @@
- 3 /etc/passwd /etc/passwd
+3 /etc/passwd /etc/passwd
ro-regular-file:ASSOC,KNAME,NAME: 0
diff --git a/tests/expected/lsfd/column-name-socketpair b/tests/expected/lsfd/column-name-socketpair
index bd94e56..b4aaf7b 100644
--- a/tests/expected/lsfd/column-name-socketpair
+++ b/tests/expected/lsfd/column-name-socketpair
@@ -1,2 +1,2 @@
- 3 socket:[INODENUM] state=connected type=dgram
+3 socket:[INODENUM] state=connected type=dgram
socketpair:ASSOC,KNAME,NAME: 0
diff --git a/tests/expected/lsfd/column-source-namespace-ASSOC b/tests/expected/lsfd/column-source-namespace-ASSOC
new file mode 100644
index 0000000..e6ed958
--- /dev/null
+++ b/tests/expected/lsfd/column-source-namespace-ASSOC
@@ -0,0 +1,7 @@
+ ipc nsfs
+ mnt nsfs
+ net nsfs
+ pid nsfs
+pid4c nsfs
+ user nsfs
+ uts nsfs
diff --git a/tests/expected/lsfd/column-source-with-root-SysVIPC-shmem b/tests/expected/lsfd/column-source-with-root-SysVIPC-shmem
new file mode 100644
index 0000000..db40d92
--- /dev/null
+++ b/tests/expected/lsfd/column-source-with-root-SysVIPC-shmem
@@ -0,0 +1,2 @@
+shm tmpfs
+ASSOC,SOURCE: 0
diff --git a/tests/expected/lsfd/column-type-inotify b/tests/expected/lsfd/column-type-inotify
index 69588d9..15363f5 100644
--- a/tests/expected/lsfd/column-type-inotify
+++ b/tests/expected/lsfd/column-type-inotify
@@ -1,2 +1,2 @@
- 3 UNKN inotify
+3 UNKN inotify
inotify:ASSOC,STTYPE,TYPE: 0
diff --git a/tests/expected/lsfd/column-type-pidfd b/tests/expected/lsfd/column-type-pidfd
index a3278d2..6c9a963 100644
--- a/tests/expected/lsfd/column-type-pidfd
+++ b/tests/expected/lsfd/column-type-pidfd
@@ -1,2 +1,2 @@
- 3 UNKN pidfd
+3 UNKN pidfd
pidfd:ASSOC,STTYPE,TYPE: 0
diff --git a/tests/expected/lsfd/column-type-ro-regular-file b/tests/expected/lsfd/column-type-ro-regular-file
index 63b4356..7028264 100644
--- a/tests/expected/lsfd/column-type-ro-regular-file
+++ b/tests/expected/lsfd/column-type-ro-regular-file
@@ -1,2 +1,2 @@
- 3 REG REG
+3 REG REG
ro-regular-file:ASSOC,STTYPE,TYPE: 0
diff --git a/tests/expected/lsfd/column-type-socketpair b/tests/expected/lsfd/column-type-socketpair
index 22a61b7..ec00f65 100644
--- a/tests/expected/lsfd/column-type-socketpair
+++ b/tests/expected/lsfd/column-type-socketpair
@@ -1,2 +1,2 @@
- 3 SOCK UNIX
+3 SOCK UNIX
socketpair:ASSOC,STTYPE,TYPE: 0
diff --git a/tests/expected/lsfd/column-xmode-MODE-r-bit b/tests/expected/lsfd/column-xmode-MODE-r-bit
new file mode 100644
index 0000000..05b2dd1
--- /dev/null
+++ b/tests/expected/lsfd/column-xmode-MODE-r-bit
@@ -0,0 +1,2 @@
+r--
+MODE(r-bit): 0
diff --git a/tests/expected/lsfd/column-xmode-MODE-w-bit b/tests/expected/lsfd/column-xmode-MODE-w-bit
new file mode 100644
index 0000000..bd0cca6
--- /dev/null
+++ b/tests/expected/lsfd/column-xmode-MODE-w-bit
@@ -0,0 +1,2 @@
+-w-
+MODE(w-bit): 0
diff --git a/tests/expected/lsfd/column-xmode-MODE-x-bit b/tests/expected/lsfd/column-xmode-MODE-x-bit
new file mode 100644
index 0000000..8ab32fd
--- /dev/null
+++ b/tests/expected/lsfd/column-xmode-MODE-x-bit
@@ -0,0 +1,2 @@
+r-x
+MODE(x-bit): 0
diff --git a/tests/expected/lsfd/column-xmode-XMODE-D-bit b/tests/expected/lsfd/column-xmode-XMODE-D-bit
new file mode 100644
index 0000000..5ede600
--- /dev/null
+++ b/tests/expected/lsfd/column-xmode-XMODE-D-bit
@@ -0,0 +1,2 @@
+-w-D--
+XMODE(D-bit): 0
diff --git a/tests/expected/lsfd/column-xmode-XMODE-L-bit-flock-ex b/tests/expected/lsfd/column-xmode-XMODE-L-bit-flock-ex
new file mode 100644
index 0000000..3799161
--- /dev/null
+++ b/tests/expected/lsfd/column-xmode-XMODE-L-bit-flock-ex
@@ -0,0 +1,2 @@
+-w--L-
+XMODE(L-bit): 0
diff --git a/tests/expected/lsfd/column-xmode-XMODE-L-bit-lease-w b/tests/expected/lsfd/column-xmode-XMODE-L-bit-lease-w
new file mode 100644
index 0000000..3799161
--- /dev/null
+++ b/tests/expected/lsfd/column-xmode-XMODE-L-bit-lease-w
@@ -0,0 +1,2 @@
+-w--L-
+XMODE(L-bit): 0
diff --git a/tests/expected/lsfd/column-xmode-XMODE-L-bit-ofd--w b/tests/expected/lsfd/column-xmode-XMODE-L-bit-ofd--w
new file mode 100644
index 0000000..3799161
--- /dev/null
+++ b/tests/expected/lsfd/column-xmode-XMODE-L-bit-ofd--w
@@ -0,0 +1,2 @@
+-w--L-
+XMODE(L-bit): 0
diff --git a/tests/expected/lsfd/column-xmode-XMODE-L-bit-ofd-rw b/tests/expected/lsfd/column-xmode-XMODE-L-bit-ofd-rw
new file mode 100644
index 0000000..1b763f7
--- /dev/null
+++ b/tests/expected/lsfd/column-xmode-XMODE-L-bit-ofd-rw
@@ -0,0 +1,2 @@
+rw--L-
+XMODE(L-bit): 0
diff --git a/tests/expected/lsfd/column-xmode-XMODE-L-bit-posix--w b/tests/expected/lsfd/column-xmode-XMODE-L-bit-posix--w
new file mode 100644
index 0000000..3799161
--- /dev/null
+++ b/tests/expected/lsfd/column-xmode-XMODE-L-bit-posix--w
@@ -0,0 +1,2 @@
+-w--L-
+XMODE(L-bit): 0
diff --git a/tests/expected/lsfd/column-xmode-XMODE-L-bit-posix-rw b/tests/expected/lsfd/column-xmode-XMODE-L-bit-posix-rw
new file mode 100644
index 0000000..1b763f7
--- /dev/null
+++ b/tests/expected/lsfd/column-xmode-XMODE-L-bit-posix-rw
@@ -0,0 +1,2 @@
+rw--L-
+XMODE(L-bit): 0
diff --git a/tests/expected/lsfd/column-xmode-XMODE-l-bit-flock-sh b/tests/expected/lsfd/column-xmode-XMODE-l-bit-flock-sh
new file mode 100644
index 0000000..3299e66
--- /dev/null
+++ b/tests/expected/lsfd/column-xmode-XMODE-l-bit-flock-sh
@@ -0,0 +1,2 @@
+-w--l-
+XMODE(l-bit): 0
diff --git a/tests/expected/lsfd/column-xmode-XMODE-l-bit-lease-r b/tests/expected/lsfd/column-xmode-XMODE-l-bit-lease-r
new file mode 100644
index 0000000..585ea21
--- /dev/null
+++ b/tests/expected/lsfd/column-xmode-XMODE-l-bit-lease-r
@@ -0,0 +1,2 @@
+r---l-
+XMODE(l-bit): 0
diff --git a/tests/expected/lsfd/column-xmode-XMODE-l-bit-ofd-r- b/tests/expected/lsfd/column-xmode-XMODE-l-bit-ofd-r-
new file mode 100644
index 0000000..0288697
--- /dev/null
+++ b/tests/expected/lsfd/column-xmode-XMODE-l-bit-ofd-r-
@@ -0,0 +1,2 @@
+rw--l-
+XMODE(l-bit): 0
diff --git a/tests/expected/lsfd/column-xmode-XMODE-l-bit-posix-r- b/tests/expected/lsfd/column-xmode-XMODE-l-bit-posix-r-
new file mode 100644
index 0000000..0288697
--- /dev/null
+++ b/tests/expected/lsfd/column-xmode-XMODE-l-bit-posix-r-
@@ -0,0 +1,2 @@
+rw--l-
+XMODE(l-bit): 0
diff --git a/tests/expected/lsfd/column-xmode-XMODE-m-bit b/tests/expected/lsfd/column-xmode-XMODE-m-bit
new file mode 100644
index 0000000..238f28d
--- /dev/null
+++ b/tests/expected/lsfd/column-xmode-XMODE-m-bit
@@ -0,0 +1,3 @@
+r----m
+-w---m
+XMODE(m-bit): 0
diff --git a/tests/expected/lsfd/column-xmode-XMODE-r-bit b/tests/expected/lsfd/column-xmode-XMODE-r-bit
new file mode 100644
index 0000000..655aa7b
--- /dev/null
+++ b/tests/expected/lsfd/column-xmode-XMODE-r-bit
@@ -0,0 +1,2 @@
+r-----
+XMODE(r-bit): 0
diff --git a/tests/expected/lsfd/column-xmode-XMODE-w-bit b/tests/expected/lsfd/column-xmode-XMODE-w-bit
new file mode 100644
index 0000000..b4b4b1f
--- /dev/null
+++ b/tests/expected/lsfd/column-xmode-XMODE-w-bit
@@ -0,0 +1,2 @@
+-w----
+XMODE(w-bit): 0
diff --git a/tests/expected/lsfd/column-xmode-XMODE-x-bit b/tests/expected/lsfd/column-xmode-XMODE-x-bit
new file mode 100644
index 0000000..2baf1e7
--- /dev/null
+++ b/tests/expected/lsfd/column-xmode-XMODE-x-bit
@@ -0,0 +1,2 @@
+r-x---
+XMODE(x-bit): 0
diff --git a/tests/expected/lsfd/filter-broken-exp b/tests/expected/lsfd/filter-broken-exp
new file mode 100644
index 0000000..61512e0
--- /dev/null
+++ b/tests/expected/lsfd/filter-broken-exp
@@ -0,0 +1,4 @@
+lsfd: failed to parse "(": <bison syntax error message removed>
+lsfd: failed to parse ")": <bison syntax error message removed>
+lsfd: failed to parse "(FD == 1)garbage": <bison syntax error message removed>
+lsfd: unknown column: NOSUCHCOLUMN
diff --git a/tests/expected/lsfd/filter-floating-point-nums b/tests/expected/lsfd/filter-floating-point-nums
new file mode 100644
index 0000000..60d87a9
--- /dev/null
+++ b/tests/expected/lsfd/filter-floating-point-nums
@@ -0,0 +1,15 @@
+pid in a range: 0
+coparing pids: 0
+3 10.000050000
+FD,TIMERFD.INTERVAL: (TIMERFD.INTERVAL < 10.000051) and (TIMERFD.INTERVAL > 10): 0
+FD,TIMERFD.INTERVAL: (TIMERFD.INTERVAL <= 10) and (TIMERFD.INTERVAL > 9.99): 0
+3 10.000050000
+FD,TIMERFD.INTERVAL: (TIMERFD.INTERVAL >= 10): 0
+3 10.000050000
+FD,TIMERFD.INTERVAL: (TIMERFD.INTERVAL >= 10.0): 0
+FD,TIMERFD.INTERVAL: (TIMERFD.INTERVAL < 10) and (0 < TIMERFD.INTERVAL): 0
+FD,TIMERFD.INTERVAL: (TIMERFD.INTERVAL < 10) and (0.0 < TIMERFD.INTERVAL): 0
+FD,TIMERFD.INTERVAL: (TIMERFD.INTERVAL > 11): 0
+3 10.000050000
+FD,TIMERFD.INTERVAL: (TIMERFD.INTERVAL == 10.00005): 0
+FD,TIMERFD.INTERVAL: (TIMERFD.INTERVAL == 10.000051): 0
diff --git a/tests/expected/lsfd/mkfds-bpf-map b/tests/expected/lsfd/mkfds-bpf-map
new file mode 100644
index 0000000..b4f7964
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-bpf-map
@@ -0,0 +1,2 @@
+array 2 mkfds_map
+BPF-MAP.TYPE,BPF-MAP.TYPE.RAW,BPF.NAME: 0
diff --git a/tests/expected/lsfd/mkfds-bpf-prog b/tests/expected/lsfd/mkfds-bpf-prog
new file mode 100644
index 0000000..b67afc5
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-bpf-prog
@@ -0,0 +1,2 @@
+kprobe 2 mkdfs_prog
+BPF-PROG.TYPE,BPF-PROG.TYPE.RAW,BPF.NAME: 0
diff --git a/tests/expected/lsfd/mkfds-cdev-tun b/tests/expected/lsfd/mkfds-cdev-tun
new file mode 100644
index 0000000..5217d79
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-cdev-tun
@@ -0,0 +1,4 @@
+3 rw- CHR misc:tun
+ASSOC,MODE,TYPE,SOURCE: 0
+NAME: 0
+TUN.IFACE: 0
diff --git a/tests/expected/lsfd/mkfds-directory b/tests/expected/lsfd/mkfds-directory
index fd7f293..62c9d5c 100644
--- a/tests/expected/lsfd/mkfds-directory
+++ b/tests/expected/lsfd/mkfds-directory
@@ -1,4 +1,4 @@
- 3 r-- DIR directory /
+3 r-- DIR directory /
ASSOC,MODE,TYPE,FLAGS,NAME: 0
PID[RUN]: 0
PID[STR]: 0
diff --git a/tests/expected/lsfd/mkfds-eventfd b/tests/expected/lsfd/mkfds-eventfd
new file mode 100644
index 0000000..d99157e
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-eventfd
@@ -0,0 +1,12 @@
+3 rw- eventfd anon_inodefs
+parent: ASSOC,MODE,TYPE,SOURCE: 0
+parent: NAME: 0
+parent: ID: 0
+4 rw- eventfd anon_inodefs
+child: ASSOC,MODE,TYPE,SOURCE: 0
+child: NAME: 0
+child: ID: 0
+NAME[STR]: 0
+ID[STR]: 0
+NAMExID[STR]: 0
+ENDPOINTS[STR]: 0
diff --git a/tests/expected/lsfd/mkfds-eventpoll b/tests/expected/lsfd/mkfds-eventpoll
new file mode 100644
index 0000000..d494fb4
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-eventpoll
@@ -0,0 +1,16 @@
+3 eventpoll tfds=5,7 5
+ 7
+ASSOC,TYPE,NAME,EVENTPOLL.TFDS: 0
+{
+ "lsfd": [
+ {
+ "assoc": "3",
+ "type": "eventpoll",
+ "name": "tfds=5,7",
+ "eventpoll.tfds": [
+ 5, 7
+ ]
+ }
+ ]
+}
+ASSOC,TYPE,NAME,EVENTPOLL.TFDS (JSON): 0
diff --git a/tests/expected/lsfd/mkfds-inotify b/tests/expected/lsfd/mkfds-inotify
new file mode 100644
index 0000000..6fc0d12
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-inotify
@@ -0,0 +1,4 @@
+INOTIFY.INODES.RAW: 0
+INOTIFY.INODES.RAW == CMDLINE\x0aPROC
+INOTIFY.INODES.RAW (JSON): 0
+INOTIFY.INODES.RAW == EXPECTED_JSON
diff --git a/tests/expected/lsfd/mkfds-inotify-btrfs b/tests/expected/lsfd/mkfds-inotify-btrfs
new file mode 100644
index 0000000..cb55f96
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-inotify-btrfs
@@ -0,0 +1,4 @@
+INOTIFY.INODES.RAW: 0
+INOTIFY.INODES.RAW == FSTAB\x0aROOT
+INOTIFY.INODES.RAW (JSON): 0
+INOTIFY.INODES.RAW == EXPECTED_JSON
diff --git a/tests/expected/lsfd/mkfds-mapped-packet-socket b/tests/expected/lsfd/mkfds-mapped-packet-socket
index 7c1b503..ec8795b 100644
--- a/tests/expected/lsfd/mkfds-mapped-packet-socket
+++ b/tests/expected/lsfd/mkfds-mapped-packet-socket
@@ -1,8 +1,8 @@
- PACKET
+PACKET
SOCK.PROTONAME: 0
-type=raw protocol=all iface=lo raw PACKET lo all
+type=raw protocol=all iface=lo raw PACKET lo all
NAME,SOCK.TYPE,SOCK.PROTONAME,PACKET.IFACE,PACKET.PROTOCOL: 0
- PACKET
+PACKET
SOCK.PROTONAME: 0
-type=dgram protocol=all iface=lo dgram PACKET lo all
+type=dgram protocol=all iface=lo dgram PACKET lo all
NAME,SOCK.TYPE,SOCK.PROTONAME,PACKET.IFACE,PACKET.PROTOCOL: 0
diff --git a/tests/expected/lsfd/mkfds-mqueue b/tests/expected/lsfd/mkfds-mqueue
new file mode 100644
index 0000000..b08de13
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-mqueue
@@ -0,0 +1,8 @@
+3 r-- mqueue mqueue /mkfds-mqueue
+parent: ASSOC,MODE,TYPE,SOURCE,NAME: 0
+parent: INODE: 0
+4 -w- mqueue mqueue
+child: ASSOC,MODE,TYPE,SOURCE: 0
+child: INODE: 0
+INODE[STR]: 0
+ENDPOINTS[STR]: 0
diff --git a/tests/expected/lsfd/mkfds-multiplexing-poll b/tests/expected/lsfd/mkfds-multiplexing-poll
new file mode 100644
index 0000000..c23fa0f
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-multiplexing-poll
@@ -0,0 +1,13 @@
+10 r----m
+11 -w----
+12 -w---m
+13 r-----
+14 r----m
+15 -w----
+16 r----m
+17 -w----
+18 -w---m
+19 r-----
+20 r----m
+21 -w----
+[poll] ASSOC,XMODE: 0
diff --git a/tests/expected/lsfd/mkfds-multiplexing-ppoll b/tests/expected/lsfd/mkfds-multiplexing-ppoll
new file mode 100644
index 0000000..46f860b
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-multiplexing-ppoll
@@ -0,0 +1,13 @@
+10 r----m
+11 -w----
+12 -w---m
+13 r-----
+14 r----m
+15 -w----
+16 r----m
+17 -w----
+18 -w---m
+19 r-----
+20 r----m
+21 -w----
+[ppoll] ASSOC,XMODE: 0
diff --git a/tests/expected/lsfd/mkfds-multiplexing-pselect6 b/tests/expected/lsfd/mkfds-multiplexing-pselect6
new file mode 100644
index 0000000..fbdb773
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-multiplexing-pselect6
@@ -0,0 +1,13 @@
+10 r----m
+11 -w----
+12 -w---m
+13 r-----
+14 r----m
+15 -w----
+16 r----m
+17 -w----
+18 -w---m
+19 r-----
+20 r----m
+21 -w----
+[pselect6] ASSOC,XMODE: 0
diff --git a/tests/expected/lsfd/mkfds-multiplexing-select b/tests/expected/lsfd/mkfds-multiplexing-select
new file mode 100644
index 0000000..a44b0da
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-multiplexing-select
@@ -0,0 +1,13 @@
+10 r----m
+11 -w----
+12 -w---m
+13 r-----
+14 r----m
+15 -w----
+16 r----m
+17 -w----
+18 -w---m
+19 r-----
+20 r----m
+21 -w----
+[select] ASSOC,XMODE: 0
diff --git a/tests/expected/lsfd/mkfds-netlink-groups b/tests/expected/lsfd/mkfds-netlink-groups
index ad50da1..e78c8eb 100644
--- a/tests/expected/lsfd/mkfds-netlink-groups
+++ b/tests/expected/lsfd/mkfds-netlink-groups
@@ -1,3 +1,3 @@
- 3 NETLINK protocol=sock_diag lport= groups=5 raw sock_diag 5
+3 NETLINK protocol=sock_diag lport= groups=5 raw sock_diag 5
ASSOC,TYPE,NAME,SOCK.STATE,SOCK.TYPE,NETLINK.PROTOCOL,NETLINK.GROUPS: 0
LPORT: OK
diff --git a/tests/expected/lsfd/mkfds-netlink-protocol b/tests/expected/lsfd/mkfds-netlink-protocol
index df3dce7..77c4e1f 100644
--- a/tests/expected/lsfd/mkfds-netlink-protocol
+++ b/tests/expected/lsfd/mkfds-netlink-protocol
@@ -1,3 +1,3 @@
- 3 NETLINK protocol=sock_diag lport= raw sock_diag 0
+3 NETLINK protocol=sock_diag lport= raw sock_diag 0
ASSOC,TYPE,NAME,SOCK.STATE,SOCK.TYPE,NETLINK.PROTOCOL: 0
LPORT: OK
diff --git a/tests/expected/lsfd/mkfds-netns b/tests/expected/lsfd/mkfds-netns
index 4b4c0ac..89d5bef 100644
--- a/tests/expected/lsfd/mkfds-netns
+++ b/tests/expected/lsfd/mkfds-netns
@@ -1,4 +1,4 @@
- net
+net
NAME_FD == NAME_NS: 0
NAME_FD == net:[INO_FD]: 0
NAME_FD == net:[INO_NS]: 0
diff --git a/tests/expected/lsfd/mkfds-pidfd b/tests/expected/lsfd/mkfds-pidfd
index 3f7edbb..9484699 100644
--- a/tests/expected/lsfd/mkfds-pidfd
+++ b/tests/expected/lsfd/mkfds-pidfd
@@ -1,2 +1,2 @@
- 3 UNKN anon_inodefs pid=1 comm=systemd nspid=1 systemd 1
+3 UNKN anon_inodefs pid=1 comm=systemd nspid=1 systemd 1
ASSOC,STTYPE,SOURCE,NAME,PIDFD.COMM,PIDFD.PID: 0
diff --git a/tests/expected/lsfd/mkfds-ping-ping b/tests/expected/lsfd/mkfds-ping-ping
index cad42b1..06fe2bd 100644
--- a/tests/expected/lsfd/mkfds-ping-ping
+++ b/tests/expected/lsfd/mkfds-ping-ping
@@ -1,4 +1,4 @@
- 3 PING state=established id=9999 laddr=127.0.0.1 raddr=127.0.0.1 established dgram 127.0.0.1 127.0.0.1 9999
+3 PING state=established id=9999 laddr=127.0.0.1 raddr=127.0.0.1 established dgram 127.0.0.1 127.0.0.1 9999
ASSOC,TYPE,NAME,SOCK.STATE,SOCK.TYPE,INET.LADDR,INET.RADDR,PING.ID: 0
- 3 PING state=close id=9999 laddr=127.0.0.1 close dgram 127.0.0.1 0.0.0.0 9999
+3 PING state=close id=9999 laddr=127.0.0.1 close dgram 127.0.0.1 0.0.0.0 9999
ASSOC,TYPE,NAME,SOCK.STATE,SOCK.TYPE,INET.LADDR,INET.RADDR,PING.ID: 0
diff --git a/tests/expected/lsfd/mkfds-ping-ping6 b/tests/expected/lsfd/mkfds-ping-ping6
index 3ef9730..6919ba1 100644
--- a/tests/expected/lsfd/mkfds-ping-ping6
+++ b/tests/expected/lsfd/mkfds-ping-ping6
@@ -1,4 +1,4 @@
- 3 PINGv6 state=established id=9999 laddr=::1 raddr=::1 established dgram ::1 ::1 9999
+3 PINGv6 state=established id=9999 laddr=::1 raddr=::1 established dgram ::1 ::1 9999
ASSOC,TYPE,NAME,SOCK.STATE,SOCK.TYPE,INET6.LADDR,INET6.RADDR,PING.ID: 0
- 3 PINGv6 state=close id=9999 laddr=::1 close dgram ::1 :: 9999
+3 PINGv6 state=close id=9999 laddr=::1 close dgram ::1 :: 9999
ASSOC,TYPE,NAME,SOCK.STATE,SOCK.TYPE,INET6.LADDR,INET6.RADDR,PING.ID: 0
diff --git a/tests/expected/lsfd/mkfds-pipe-no-fork b/tests/expected/lsfd/mkfds-pipe-no-fork
index 390b8a3..4cd2a55 100644
--- a/tests/expected/lsfd/mkfds-pipe-no-fork
+++ b/tests/expected/lsfd/mkfds-pipe-no-fork
@@ -1,5 +1,5 @@
- 3 r-- FIFO pipefs
- 4 -w- FIFO pipefs wronly,nonblock
+3 r-- FIFO pipefs
+4 -w- FIFO pipefs wronly,nonblock
ASSOC,MODE,TYPE,SOURCE,FLAGS: 0
PID[RUN]: 0
PID[STR]: 0
diff --git a/tests/expected/lsfd/mkfds-pty b/tests/expected/lsfd/mkfds-pty
new file mode 100644
index 0000000..ac38fc9
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-pty
@@ -0,0 +1,10 @@
+5 rw- CHR ptmx
+ASSOC,MODE,TYPE,SOURCE: 0
+NAME: 0
+ENDPOINTS: 0
+PTMX.TTY-INDEX: 0
+6 r-- CHR
+ASSOC,MODE,TYPE: 0
+SOURCE: 0
+NAME: 0
+ENDPOINTS: 0
diff --git a/tests/expected/lsfd/mkfds-raw b/tests/expected/lsfd/mkfds-raw
index e8bc41a..37baddc 100644
--- a/tests/expected/lsfd/mkfds-raw
+++ b/tests/expected/lsfd/mkfds-raw
@@ -1,2 +1,2 @@
- 3 RAW state=established protocol=5 laddr=127.0.0.1 raddr=127.0.0.2 established raw 127.0.0.1 127.0.0.2 5
+3 RAW state=established protocol=5 laddr=127.0.0.1 raddr=127.0.0.2 established raw 127.0.0.1 127.0.0.2 5
ASSOC,TYPE,NAME,SOCK.STATE,SOCK.TYPE,INET.LADDR,INET.RADDR,RAW.PROTOCOL: 0
diff --git a/tests/expected/lsfd/mkfds-raw6 b/tests/expected/lsfd/mkfds-raw6
index a813a37..2d77e8f 100644
--- a/tests/expected/lsfd/mkfds-raw6
+++ b/tests/expected/lsfd/mkfds-raw6
@@ -1,2 +1,2 @@
- 3 RAWv6 state=established protocol=5 laddr=::1 raddr=::ffff:127.0.0.1 established raw ::1 ::ffff:127.0.0.1 5
+3 RAWv6 state=established protocol=5 laddr=::1 raddr=::ffff:127.0.0.1 established raw ::1 ::ffff:127.0.0.1 5
ASSOC,TYPE,NAME,SOCK.STATE,SOCK.TYPE,INET6.LADDR,INET6.RADDR,RAW.PROTOCOL: 0
diff --git a/tests/expected/lsfd/mkfds-ro-block-device b/tests/expected/lsfd/mkfds-ro-block-device
index 3b2fe07..4c38d05 100644
--- a/tests/expected/lsfd/mkfds-ro-block-device
+++ b/tests/expected/lsfd/mkfds-ro-block-device
@@ -1,4 +1,4 @@
- 3 r-- BLK 0 loop blk
+3 r-- BLK 0 loop blk
ASSOC,MODE,TYPE,,POS,,BLKDRV,DEVTYPE: 0
NAME[RUN]: 0
NAME[STR]: 0
diff --git a/tests/expected/lsfd/mkfds-ro-regular-file b/tests/expected/lsfd/mkfds-ro-regular-file
index 092f40b..662daa8 100644
--- a/tests/expected/lsfd/mkfds-ro-regular-file
+++ b/tests/expected/lsfd/mkfds-ro-regular-file
@@ -1,4 +1,4 @@
-ABC 3 r-- REG /etc/passwd 1
+ABC 3 r-- REG /etc/passwd 1
COMMAND,ASSOC,MODE,TYPE,NAME,POS: 0
PID[RUN]: 0
PID[STR]: 0
diff --git a/tests/expected/lsfd/mkfds-rw-character-device b/tests/expected/lsfd/mkfds-rw-character-device
index 00423f4..fed92ec 100644
--- a/tests/expected/lsfd/mkfds-rw-character-device
+++ b/tests/expected/lsfd/mkfds-rw-character-device
@@ -1,4 +1,4 @@
- 3 rw- CHR /dev/zero mem:5 0 1:5 mem char 1:5
+3 rw- CHR /dev/zero mem:5 0 1:5 mem char 1:5
ASSOC,MODE,TYPE,NAME,SOURCE,POS,MAJ:MIN,CHRDRV,DEVTYPE,RDEV: 0
DEV[RUN]: 0
STAT[RUN]: 0
diff --git a/tests/expected/lsfd/mkfds-signalfd b/tests/expected/lsfd/mkfds-signalfd
new file mode 100644
index 0000000..16bf732
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-signalfd
@@ -0,0 +1,2 @@
+3 signalfd mask=FPE,USR1,42 FPE,USR1,42
+ASSOC,TYPE,NAME,SIGNALFD.MASK: 0
diff --git a/tests/expected/lsfd/mkfds-socketpair b/tests/expected/lsfd/mkfds-socketpair
deleted file mode 100644
index a015353..0000000
--- a/tests/expected/lsfd/mkfds-socketpair
+++ /dev/null
@@ -1,3 +0,0 @@
- 3 rw- SOCK sockfs UNIX
- 4 rw- SOCK sockfs UNIX
-ASSOC,MODE,STTYPE,SOURCE,SOCK.PROTONAME: 0
diff --git a/tests/expected/lsfd/mkfds-socketpair-DGRAM b/tests/expected/lsfd/mkfds-socketpair-DGRAM
new file mode 100644
index 0000000..d8ba4d0
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-socketpair-DGRAM
@@ -0,0 +1,3 @@
+3 rw- SOCK sockfs UNIX
+4 rw- SOCK sockfs UNIX
+ASSOC,MODE,STTYPE,SOURCE,SOCK.PROTONAME: 0
diff --git a/tests/expected/lsfd/mkfds-socketpair-STREAM b/tests/expected/lsfd/mkfds-socketpair-STREAM
new file mode 100644
index 0000000..d8ba4d0
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-socketpair-STREAM
@@ -0,0 +1,3 @@
+3 rw- SOCK sockfs UNIX
+4 rw- SOCK sockfs UNIX
+ASSOC,MODE,STTYPE,SOURCE,SOCK.PROTONAME: 0
diff --git a/tests/expected/lsfd/mkfds-socketpair-STREAM-ENDPOINT b/tests/expected/lsfd/mkfds-socketpair-STREAM-ENDPOINT
new file mode 100644
index 0000000..02f6498
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-socketpair-STREAM-ENDPOINT
@@ -0,0 +1,3 @@
+3 rw- SOCK sockfs 1,test_mkfds,4rw
+4 rw- SOCK sockfs 1,test_mkfds,3rw
+ASSOC,MODE,STTYPE,SOURCE,ENDPOINTS: 0
diff --git a/tests/expected/lsfd/mkfds-socketpair-STREAM-ENDPOINT-halfclose b/tests/expected/lsfd/mkfds-socketpair-STREAM-ENDPOINT-halfclose
new file mode 100644
index 0000000..72fa052
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-socketpair-STREAM-ENDPOINT-halfclose
@@ -0,0 +1,3 @@
+3 rw- SOCK sockfs 1,test_mkfds,4r-
+4 rw- SOCK sockfs 1,test_mkfds,3-w
+ASSOC,MODE,STTYPE,SOURCE,ENDPOINTS: 0
diff --git a/tests/expected/lsfd/mkfds-socketpair-STREAM-SHUTDOWN-STATE b/tests/expected/lsfd/mkfds-socketpair-STREAM-SHUTDOWN-STATE
new file mode 100644
index 0000000..a7a285c
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-socketpair-STREAM-SHUTDOWN-STATE
@@ -0,0 +1,3 @@
+3 rw- SOCK sockfs -w
+4 rw- SOCK sockfs r-
+ASSOC,MODE,STTYPE,SOURCE,SOCK.SHUTDOWN: 0
diff --git a/tests/expected/lsfd/mkfds-symlink b/tests/expected/lsfd/mkfds-symlink
index ab10159..6084e83 100644
--- a/tests/expected/lsfd/mkfds-symlink
+++ b/tests/expected/lsfd/mkfds-symlink
@@ -1,2 +1,2 @@
- 3 --- LINK /dev/stdin nofollow,path
+3 --- LINK /dev/stdin nofollow,path
ASSOC,MODE,TYPE,NAME,FLAGS: 0
diff --git a/tests/expected/lsfd/mkfds-tcp b/tests/expected/lsfd/mkfds-tcp
index dfec0ae..08b5735 100644
--- a/tests/expected/lsfd/mkfds-tcp
+++ b/tests/expected/lsfd/mkfds-tcp
@@ -1,4 +1,4 @@
- 3 TCP SOCK state=listen laddr=127.0.0.1:34567 listen stream 1 127.0.0.1 0.0.0.0 127.0.0.1:34567 34567 0.0.0.0:0 0
- 4 TCP SOCK state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567 established stream 0 127.0.0.1 127.0.0.1 127.0.0.1:23456 23456 127.0.0.1:34567 34567
- 5 TCP SOCK state=established laddr=127.0.0.1:34567 raddr=127.0.0.1:23456 established stream 0 127.0.0.1 127.0.0.1 127.0.0.1:34567 34567 127.0.0.1:23456 23456
+3 TCP SOCK state=listen laddr=127.0.0.1:56789 listen stream 1 127.0.0.1 0.0.0.0 127.0.0.1:56789 56789 0.0.0.0:0 0
+4 TCP SOCK state=established laddr=127.0.0.1:45678 raddr=127.0.0.1:56789 established stream 0 127.0.0.1 127.0.0.1 127.0.0.1:45678 45678 127.0.0.1:56789 56789
+5 TCP SOCK state=established laddr=127.0.0.1:56789 raddr=127.0.0.1:45678 established stream 0 127.0.0.1 127.0.0.1 127.0.0.1:56789 56789 127.0.0.1:45678 45678
ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,TCP.LADDR,TCP.LPORT,TCP.RADDR,TCP.RPORT: 0
diff --git a/tests/expected/lsfd/mkfds-tcp6 b/tests/expected/lsfd/mkfds-tcp6
index 26b6039..c6e5ee2 100644
--- a/tests/expected/lsfd/mkfds-tcp6
+++ b/tests/expected/lsfd/mkfds-tcp6
@@ -1,4 +1,4 @@
- 3 TCPv6 SOCK state=listen laddr=[::1]:34567 listen stream 1 ::1 :: [::1]:34567 34567 [::]:0 0
- 4 TCPv6 SOCK state=established laddr=[::1]:23456 raddr=[::1]:34567 established stream 0 ::1 ::1 [::1]:23456 23456 [::1]:34567 34567
- 5 TCPv6 SOCK state=established laddr=[::1]:34567 raddr=[::1]:23456 established stream 0 ::1 ::1 [::1]:34567 34567 [::1]:23456 23456
+3 TCPv6 SOCK state=listen laddr=[::1]:56789 listen stream 1 ::1 :: [::1]:56789 56789 [::]:0 0
+4 TCPv6 SOCK state=established laddr=[::1]:45678 raddr=[::1]:56789 established stream 0 ::1 ::1 [::1]:45678 45678 [::1]:56789 56789
+5 TCPv6 SOCK state=established laddr=[::1]:56789 raddr=[::1]:45678 established stream 0 ::1 ::1 [::1]:56789 56789 [::1]:45678 45678
ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,TCP.LADDR,TCP.LPORT,TCP.RADDR,TCP.RPORT: 0
diff --git a/tests/expected/lsfd/mkfds-timerfd b/tests/expected/lsfd/mkfds-timerfd
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-timerfd
diff --git a/tests/expected/lsfd/mkfds-timerfd-alarm b/tests/expected/lsfd/mkfds-timerfd-alarm
new file mode 100644
index 0000000..10dc4c3
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-timerfd-alarm
@@ -0,0 +1,16 @@
+3 timerfd clockid=realtime-alarm
+ASSOC,TYPE,NAME: 0
+realtime-alarm
+CLOCKID: 0
+0.000000000
+TIMERFD.REMAINING: 0
+0.000000000
+TIMERFD.INTERVAL: 0
+3 timerfd clockid=boottime-alarm
+ASSOC,TYPE,NAME: 0
+boottime-alarm
+CLOCKID: 0
+0.000000000
+TIMERFD.REMAINING: 0
+0.000000000
+TIMERFD.INTERVAL: 0
diff --git a/tests/expected/lsfd/mkfds-timerfd-boottime-interval-only b/tests/expected/lsfd/mkfds-timerfd-boottime-interval-only
new file mode 100644
index 0000000..b708c29
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-timerfd-boottime-interval-only
@@ -0,0 +1,8 @@
+3 timerfd clockid=boottime interval=10.123456789
+ASSOC,TYPE,NAME: 0
+boottime
+CLOCKID: 0
+0.000000000
+TIMERFD.REMAINING: 0
+10.123456789
+TIMERFD.INTERVAL: 0
diff --git a/tests/expected/lsfd/mkfds-timerfd-monotonic-remaining-only b/tests/expected/lsfd/mkfds-timerfd-monotonic-remaining-only
new file mode 100644
index 0000000..7aedda6
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-timerfd-monotonic-remaining-only
@@ -0,0 +1,8 @@
+3 timerfd clockid=monotonic remaining=100.987654321
+ASSOC,TYPE,NAME: 0
+monotonic
+CLOCKID: 0
+100.987654321
+TIMERFD.REMAINING: 0
+0.000000000
+TIMERFD.INTERVAL: 0
diff --git a/tests/expected/lsfd/mkfds-timerfd-realtime-remaining-and-interval b/tests/expected/lsfd/mkfds-timerfd-realtime-remaining-and-interval
new file mode 100644
index 0000000..4ba3d8e
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-timerfd-realtime-remaining-and-interval
@@ -0,0 +1,8 @@
+3 timerfd clockid=realtime remaining=100.987654321 interval=5.123456789
+ASSOC,TYPE,NAME: 0
+realtime
+CLOCKID: 0
+100.987654321
+TIMERFD.REMAINING: 0
+5.123456789
+TIMERFD.INTERVAL: 0
diff --git a/tests/expected/lsfd/mkfds-udp b/tests/expected/lsfd/mkfds-udp
index 58ce260..0595e3b 100644
--- a/tests/expected/lsfd/mkfds-udp
+++ b/tests/expected/lsfd/mkfds-udp
@@ -1,24 +1,24 @@
- 3 UDP SOCK state=close laddr=127.0.0.1:34567 close dgram 0 127.0.0.1 0.0.0.0 127.0.0.1:34567 34567 0.0.0.0:0 0
- 4 UDP SOCK state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567 established dgram 0 127.0.0.1 127.0.0.1 127.0.0.1:23456 23456 127.0.0.1:34567 34567
+3 UDP SOCK state=close laddr=127.0.0.1:56789 close dgram 0 127.0.0.1 0.0.0.0 127.0.0.1:56789 56789 0.0.0.0:0 0
+4 UDP SOCK state=established laddr=127.0.0.1:45678 raddr=127.0.0.1:56789 established dgram 0 127.0.0.1 127.0.0.1 127.0.0.1:45678 45678 127.0.0.1:56789 56789
ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT: 0
- 3 UDP SOCK 0
+3 UDP SOCK 0
ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT: 0
NAME pattern match: OK
- 4 UDP SOCK established dgram 0 127.0.0.1 127.0.0.1 127.0.0.1:34567 34567
+4 UDP SOCK established dgram 0 127.0.0.1 127.0.0.1 127.0.0.1:56789 56789
ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDP.RADDR,UDP.RPORT: 0
LADDR/LPORT pattern match: OK
- 3 UDP SOCK state=close laddr=127.0.0.1:34567 close dgram 0 127.0.0.1 0.0.0.0 127.0.0.1:34567 34567 0.0.0.0:0 0
- 4 UDP SOCK state=close laddr=127.0.0.1:23456 close dgram 0 127.0.0.1 0.0.0.0 127.0.0.1:23456 23456 0.0.0.0:0 0
+3 UDP SOCK state=close laddr=127.0.0.1:56789 close dgram 0 127.0.0.1 0.0.0.0 127.0.0.1:56789 56789 0.0.0.0:0 0
+4 UDP SOCK state=close laddr=127.0.0.1:45678 close dgram 0 127.0.0.1 0.0.0.0 127.0.0.1:45678 45678 0.0.0.0:0 0
ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT: 0
- 3 UDP-Lite SOCK state=close laddr=127.0.0.1:34567 close dgram 0 127.0.0.1 0.0.0.0 127.0.0.1:34567 34567 0.0.0.0:0 0
- 4 UDP-Lite SOCK state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567 established dgram 0 127.0.0.1 127.0.0.1 127.0.0.1:23456 23456 127.0.0.1:34567 34567
+3 UDP-Lite SOCK state=close laddr=127.0.0.1:56789 close dgram 0 127.0.0.1 0.0.0.0 127.0.0.1:56789 56789 0.0.0.0:0 0
+4 UDP-Lite SOCK state=established laddr=127.0.0.1:45678 raddr=127.0.0.1:56789 established dgram 0 127.0.0.1 127.0.0.1 127.0.0.1:45678 45678 127.0.0.1:56789 56789
ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDPLite.LADDR,UDPLite.LPORT,UDPLite.RADDR,UDPLite.RPORT: 0
- 3 UDP-Lite SOCK 0
+3 UDP-Lite SOCK 0
ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDPLite.LADDR,UDPLite.LPORT,UDPLite.RADDR,UDPLite.RPORT: 0
NAME pattern match: OK
- 4 UDP-Lite SOCK established dgram 0 127.0.0.1 127.0.0.1 127.0.0.1:34567 34567
+4 UDP-Lite SOCK established dgram 0 127.0.0.1 127.0.0.1 127.0.0.1:56789 56789
ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDPLite.RADDR,UDPLite.RPORT: 0
LADDR/LPORT pattern match: OK
- 3 UDP-Lite SOCK state=close laddr=127.0.0.1:34567 close dgram 0 127.0.0.1 0.0.0.0
- 4 UDP-Lite SOCK state=close laddr=127.0.0.1:23456 close dgram 0 127.0.0.1 0.0.0.0
+3 UDP-Lite SOCK state=close laddr=127.0.0.1:56789 close dgram 0 127.0.0.1 0.0.0.0
+4 UDP-Lite SOCK state=close laddr=127.0.0.1:45678 close dgram 0 127.0.0.1 0.0.0.0
ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET.LADDR,INET.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT: 0
diff --git a/tests/expected/lsfd/mkfds-udp6 b/tests/expected/lsfd/mkfds-udp6
index e29797b..cbf44d0 100644
--- a/tests/expected/lsfd/mkfds-udp6
+++ b/tests/expected/lsfd/mkfds-udp6
@@ -1,24 +1,24 @@
- 3 UDPv6 SOCK state=close laddr=[::1]:34567 close dgram 0 ::1 :: [::1]:34567 34567 [::]:0 0
- 4 UDPv6 SOCK state=established laddr=[::1]:23456 raddr=[::1]:34567 established dgram 0 ::1 ::1 [::1]:23456 23456 [::1]:34567 34567
+3 UDPv6 SOCK state=close laddr=[::1]:56789 close dgram 0 ::1 :: [::1]:56789 56789 [::]:0 0
+4 UDPv6 SOCK state=established laddr=[::1]:45678 raddr=[::1]:56789 established dgram 0 ::1 ::1 [::1]:45678 45678 [::1]:56789 56789
ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT: 0
- 3 UDPv6 SOCK 0
+3 UDPv6 SOCK 0
ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT: 0
NAME pattern match: OK
- 4 UDPv6 SOCK established dgram 0 ::1 ::1 [::1]:34567 34567
+4 UDPv6 SOCK established dgram 0 ::1 ::1 [::1]:56789 56789
ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDP.RADDR,UDP.RPORT: 0
LADDR/LPORT pattern match: OK
- 3 UDPv6 SOCK state=close laddr=[::1]:34567 close dgram 0 ::1 :: [::1]:34567 34567 [::]:0 0
- 4 UDPv6 SOCK state=close laddr=[::1]:23456 close dgram 0 ::1 :: [::1]:23456 23456 [::]:0 0
+3 UDPv6 SOCK state=close laddr=[::1]:56789 close dgram 0 ::1 :: [::1]:56789 56789 [::]:0 0
+4 UDPv6 SOCK state=close laddr=[::1]:45678 close dgram 0 ::1 :: [::1]:45678 45678 [::]:0 0
ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDP.LADDR,UDP.LPORT,UDP.RADDR,UDP.RPORT: 0
- 3 UDPLITEv6 SOCK state=close laddr=[::1]:34567 close dgram 0 ::1 :: [::1]:34567 34567 [::]:0 0
- 4 UDPLITEv6 SOCK state=established laddr=[::1]:23456 raddr=[::1]:34567 established dgram 0 ::1 ::1 [::1]:23456 23456 [::1]:34567 34567
+3 UDPLITEv6 SOCK state=close laddr=[::1]:56789 close dgram 0 ::1 :: [::1]:56789 56789 [::]:0 0
+4 UDPLITEv6 SOCK state=established laddr=[::1]:45678 raddr=[::1]:56789 established dgram 0 ::1 ::1 [::1]:45678 45678 [::1]:56789 56789
ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDPLite.LADDR,UDPLite.LPORT,UDPLite.RADDR,UDPLite.RPORT: 0
- 3 UDPLITEv6 SOCK 0
+3 UDPLITEv6 SOCK 0
ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDPLite.LADDR,UDPLite.LPORT,UDPLite.RADDR,UDPLite.RPORT: 0
NAME pattern match: OK
- 4 UDPLITEv6 SOCK established dgram 0 ::1 ::1 [::1]:34567 34567
+4 UDPLITEv6 SOCK established dgram 0 ::1 ::1 [::1]:56789 56789
ASSOC,TYPE,STTYPE,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDPLite.RADDR,UDPLite.RPORT: 0
LADDR/LPORT pattern match: OK
- 3 UDPLITEv6 SOCK state=close laddr=[::1]:34567 close dgram 0 ::1 :: [::1]:34567 34567 [::]:0 0
- 4 UDPLITEv6 SOCK state=close laddr=[::1]:23456 close dgram 0 ::1 :: [::1]:23456 23456 [::]:0 0
+3 UDPLITEv6 SOCK state=close laddr=[::1]:56789 close dgram 0 ::1 :: [::1]:56789 56789 [::]:0 0
+4 UDPLITEv6 SOCK state=close laddr=[::1]:45678 close dgram 0 ::1 :: [::1]:45678 45678 [::]:0 0
ASSOC,TYPE,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,INET6.LADDR,INET6.RADDR,UDPLite.LADDR,UDPLite.LPORT,UDPLite.RADDR,UDPLite.RPORT: 0
diff --git a/tests/expected/lsfd/mkfds-unix-dgram b/tests/expected/lsfd/mkfds-unix-dgram
index b8fd9d4..dfd91e6 100644
--- a/tests/expected/lsfd/mkfds-unix-dgram
+++ b/tests/expected/lsfd/mkfds-unix-dgram
@@ -1,6 +1,6 @@
- 3 SOCK state=connected path=test_mkfds-unix-dgram type=dgram connected dgram 0 test_mkfds-unix-dgram
- 4 SOCK state=connected type=dgram connected dgram 0
+3 SOCK state=connected\x20path=test_mkfds-unix-dgram\x20type=dgram connected dgram 0 test_mkfds-unix-dgram
+4 SOCK state=connected\x20type=dgram connected dgram 0
ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
- 3 SOCK state=connected path=@test_mkfds-unix-dgram type=dgram connected dgram 0 @test_mkfds-unix-dgram
- 4 SOCK state=connected type=dgram connected dgram 0
+3 SOCK state=connected\x20path=@test_mkfds-unix-dgram\x20type=dgram connected dgram 0 @test_mkfds-unix-dgram
+4 SOCK state=connected\x20type=dgram connected dgram 0
ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
diff --git a/tests/expected/lsfd/mkfds-unix-in-netns-dgram b/tests/expected/lsfd/mkfds-unix-in-netns-dgram
index c33dd9a..48ac72f 100644
--- a/tests/expected/lsfd/mkfds-unix-in-netns-dgram
+++ b/tests/expected/lsfd/mkfds-unix-in-netns-dgram
@@ -1,6 +1,6 @@
- 5 SOCK state=unconnected path=test_mkfds-unix-dgram-ns type=dgram unconnected dgram 0 test_mkfds-unix-dgram-ns
+5 SOCK state=unconnected path=test_mkfds-unix-dgram-ns type=dgram unconnected dgram 0 test_mkfds-unix-dgram-ns
ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
the netns for the dgram socket is extracted as expectedly
- 5 SOCK state=unconnected path=@test_mkfds-unix-dgram-ns type=dgram unconnected dgram 0 @test_mkfds-unix-dgram-ns
+5 SOCK state=unconnected path=@test_mkfds-unix-dgram-ns type=dgram unconnected dgram 0 @test_mkfds-unix-dgram-ns
ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
the netns for the abstract dgram socket is extracted as expectedly
diff --git a/tests/expected/lsfd/mkfds-unix-in-netns-seqpacket b/tests/expected/lsfd/mkfds-unix-in-netns-seqpacket
index 1f70061..b997e55 100644
--- a/tests/expected/lsfd/mkfds-unix-in-netns-seqpacket
+++ b/tests/expected/lsfd/mkfds-unix-in-netns-seqpacket
@@ -1,6 +1,6 @@
- 5 SOCK state=listen path=test_mkfds-unix-seqpacket-ns type=seqpacket listen seqpacket 1 test_mkfds-unix-seqpacket-ns
+5 SOCK state=listen path=test_mkfds-unix-seqpacket-ns type=seqpacket listen seqpacket 1 test_mkfds-unix-seqpacket-ns
ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
the netns for the seqpacket socket is extracted as expectedly
- 5 SOCK state=listen path=@test_mkfds-unix-seqpacket-ns type=seqpacket listen seqpacket 1 @test_mkfds-unix-seqpacket-ns
+5 SOCK state=listen path=@test_mkfds-unix-seqpacket-ns type=seqpacket listen seqpacket 1 @test_mkfds-unix-seqpacket-ns
ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
the netns for the abstract seqpacket socket is extracted as expectedly
diff --git a/tests/expected/lsfd/mkfds-unix-in-netns-stream b/tests/expected/lsfd/mkfds-unix-in-netns-stream
index fd09105..c4ec9d4 100644
--- a/tests/expected/lsfd/mkfds-unix-in-netns-stream
+++ b/tests/expected/lsfd/mkfds-unix-in-netns-stream
@@ -1,6 +1,6 @@
- 5 SOCK state=listen path=test_mkfds-unix-stream-ns listen stream 1 test_mkfds-unix-stream-ns
+5 SOCK state=listen path=test_mkfds-unix-stream-ns listen stream 1 test_mkfds-unix-stream-ns
ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
the netns for the stream socket is extracted as expectedly
- 5 SOCK state=listen path=@test_mkfds-unix-stream-ns listen stream 1 @test_mkfds-unix-stream-ns
+5 SOCK state=listen path=@test_mkfds-unix-stream-ns listen stream 1 @test_mkfds-unix-stream-ns
ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
the netns for the abstract stream socket is extracted as expectedly
diff --git a/tests/expected/lsfd/mkfds-unix-stream b/tests/expected/lsfd/mkfds-unix-stream
index c2e64a7..645be81 100644
--- a/tests/expected/lsfd/mkfds-unix-stream
+++ b/tests/expected/lsfd/mkfds-unix-stream
@@ -1,32 +1,32 @@
- 3 SOCK state=listen path=test_mkfds-unix-stream listen stream 1 test_mkfds-unix-stream
- 4 SOCK state=connected connected stream 0
- 5 SOCK state=connected path=test_mkfds-unix-stream connected stream 0 test_mkfds-unix-stream
+3 SOCK state=listen path=test_mkfds-unix-stream listen stream 1 test_mkfds-unix-stream
+4 SOCK state=connected connected stream 0
+5 SOCK state=connected path=test_mkfds-unix-stream connected stream 0 test_mkfds-unix-stream
ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
- 3 SOCK state=listen path=@test_mkfds-unix-stream-abs listen stream 1 @test_mkfds-unix-stream-abs
- 4 SOCK state=connected connected stream 0
- 5 SOCK state=connected path=@test_mkfds-unix-stream-abs connected stream 0 @test_mkfds-unix-stream-abs
+3 SOCK state=listen path=@test_mkfds-unix-stream-abs listen stream 1 @test_mkfds-unix-stream-abs
+4 SOCK state=connected connected stream 0
+5 SOCK state=connected path=@test_mkfds-unix-stream-abs connected stream 0 @test_mkfds-unix-stream-abs
(abs) ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
- 3 SOCK state=listen path=test_mkfds-unix-stream-shutdown listen stream 1 test_mkfds-unix-stream-shutdown
- 4 SOCK state=connected connected stream 0
- 5 SOCK state=connected path=test_mkfds-unix-stream-shutdown connected stream 0 test_mkfds-unix-stream-shutdown
+3 SOCK state=listen path=test_mkfds-unix-stream-shutdown listen stream 1 test_mkfds-unix-stream-shutdown
+4 SOCK state=connected connected stream 0
+5 SOCK state=connected path=test_mkfds-unix-stream-shutdown connected stream 0 test_mkfds-unix-stream-shutdown
(shutdown) ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
- 3 SOCK state=listen path=test_mkfds-unix with spaces stream listen stream 1 test_mkfds-unix with spaces stream
- 4 SOCK state=connected connected stream 0
- 5 SOCK state=connected path=test_mkfds-unix with spaces stream connected stream 0 test_mkfds-unix with spaces stream
+3 SOCK state=listen path=test_mkfds-unix with spaces stream listen stream 1 test_mkfds-unix with spaces stream
+4 SOCK state=connected connected stream 0
+5 SOCK state=connected path=test_mkfds-unix with spaces stream connected stream 0 test_mkfds-unix with spaces stream
ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
- 3 SOCK state=listen path=test_mkfds-unix-seqpacket type=seqpacket listen seqpacket 1 test_mkfds-unix-seqpacket
- 4 SOCK state=connected type=seqpacket connected seqpacket 0
- 5 SOCK state=connected path=test_mkfds-unix-seqpacket type=seqpacket connected seqpacket 0 test_mkfds-unix-seqpacket
+3 SOCK state=listen path=test_mkfds-unix-seqpacket type=seqpacket listen seqpacket 1 test_mkfds-unix-seqpacket
+4 SOCK state=connected type=seqpacket connected seqpacket 0
+5 SOCK state=connected path=test_mkfds-unix-seqpacket type=seqpacket connected seqpacket 0 test_mkfds-unix-seqpacket
ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
- 3 SOCK state=listen path=@test_mkfds-unix-seqpacket-abs listen stream 1 @test_mkfds-unix-seqpacket-abs
- 4 SOCK state=connected connected stream 0
- 5 SOCK state=connected path=@test_mkfds-unix-seqpacket-abs connected stream 0 @test_mkfds-unix-seqpacket-abs
+3 SOCK state=listen path=@test_mkfds-unix-seqpacket-abs listen stream 1 @test_mkfds-unix-seqpacket-abs
+4 SOCK state=connected connected stream 0
+5 SOCK state=connected path=@test_mkfds-unix-seqpacket-abs connected stream 0 @test_mkfds-unix-seqpacket-abs
(abs) ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
- 3 SOCK state=listen path=test_mkfds-unix-seqpacket-shutdown type=seqpacket listen seqpacket 1 test_mkfds-unix-seqpacket-shutdown
- 4 SOCK state=connected type=seqpacket connected seqpacket 0
- 5 SOCK state=connected path=test_mkfds-unix-seqpacket-shutdown type=seqpacket connected seqpacket 0 test_mkfds-unix-seqpacket-shutdown
+3 SOCK state=listen path=test_mkfds-unix-seqpacket-shutdown type=seqpacket listen seqpacket 1 test_mkfds-unix-seqpacket-shutdown
+4 SOCK state=connected type=seqpacket connected seqpacket 0
+5 SOCK state=connected path=test_mkfds-unix-seqpacket-shutdown type=seqpacket connected seqpacket 0 test_mkfds-unix-seqpacket-shutdown
(shutdown) ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
- 3 SOCK state=listen path=test_mkfds-unix with spaces seqpacket type=seqpacket listen seqpacket 1 test_mkfds-unix with spaces seqpacket
- 4 SOCK state=connected type=seqpacket connected seqpacket 0
- 5 SOCK state=connected path=test_mkfds-unix with spaces seqpacket type=seqpacket connected seqpacket 0 test_mkfds-unix with spaces seqpacket
+3 SOCK state=listen path=test_mkfds-unix with spaces seqpacket type=seqpacket listen seqpacket 1 test_mkfds-unix with spaces seqpacket
+4 SOCK state=connected type=seqpacket connected seqpacket 0
+5 SOCK state=connected path=test_mkfds-unix with spaces seqpacket type=seqpacket connected seqpacket 0 test_mkfds-unix with spaces seqpacket
ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
diff --git a/tests/expected/lsfd/mkfds-unix-stream-requiring-sockdiag b/tests/expected/lsfd/mkfds-unix-stream-requiring-sockdiag
new file mode 100644
index 0000000..946c95f
--- /dev/null
+++ b/tests/expected/lsfd/mkfds-unix-stream-requiring-sockdiag
@@ -0,0 +1,8 @@
+3 SOCK state=listen path=test_mkfds-unix with newline stream a\x0ab\x0ac listen stream 1 test_mkfds-unix with newline stream a\x0ab\x0ac
+4 SOCK state=connected connected stream 0
+5 SOCK state=connected path=test_mkfds-unix with newline stream a\x0ab\x0ac connected stream 0 test_mkfds-unix with newline stream a\x0ab\x0ac
+ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
+3 SOCK state=listen path=test_mkfds-unix with newline seqpacket a\x0ab\x0ac type=seqpacket listen seqpacket 1 test_mkfds-unix with newline seqpacket a\x0ab\x0ac
+4 SOCK state=connected type=seqpacket connected seqpacket 0
+5 SOCK state=connected path=test_mkfds-unix with newline seqpacket a\x0ab\x0ac type=seqpacket connected seqpacket 0 test_mkfds-unix with newline seqpacket a\x0ab\x0ac
+ASSOC,STTYPE,NAME,SOCK.STATE,SOCK.TYPE,SOCK.LISTENING,UNIX.PATH: 0
diff --git a/tests/expected/lsfd/option-filter-broken-exp b/tests/expected/lsfd/option-filter-broken-exp
deleted file mode 100644
index 8c14f22..0000000
--- a/tests/expected/lsfd/option-filter-broken-exp
+++ /dev/null
@@ -1,7 +0,0 @@
-lsfd: error: empty filter expression
-lsfd: error: empty filter expression
-lsfd: error: unbalanced parenthesis: )
-lsfd: error: unexpected token: garbage after OP2
-lsfd: error: bool expression is expected: FD
-lsfd: unknown column: NOSUCHCOLUMN
-lsfd: error: no such column: NOSUCHCOLUMN
diff --git a/tests/expected/lsfd/option-inet b/tests/expected/lsfd/option-inet
index cebfded..66edac9 100644
--- a/tests/expected/lsfd/option-inet
+++ b/tests/expected/lsfd/option-inet
@@ -1,46 +1,46 @@
# --inet
- 3 TCP state=listen laddr=127.0.0.1:34567
- 4 TCP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567
- 5 TCP state=established laddr=127.0.0.1:34567 raddr=127.0.0.1:23456
- 3 TCPv6 state=listen laddr=[::1]:34567
- 4 TCPv6 state=established laddr=[::1]:23456 raddr=[::1]:34567
- 5 TCPv6 state=established laddr=[::1]:34567 raddr=[::1]:23456
- 3 UDP state=close laddr=127.0.0.1:34567
- 4 UDP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567
- 3 UDPLITEv6 state=close laddr=[::1]:34567
- 4 UDPLITEv6 state=established laddr=[::1]:23456 raddr=[::1]:34567
+3 TCP state=listen laddr=127.0.0.1:34567
+4 TCP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567
+5 TCP state=established laddr=127.0.0.1:34567 raddr=127.0.0.1:23456
+3 TCPv6 state=listen laddr=[::1]:34567
+4 TCPv6 state=established laddr=[::1]:23456 raddr=[::1]:34567
+5 TCPv6 state=established laddr=[::1]:34567 raddr=[::1]:23456
+3 UDP state=close laddr=127.0.0.1:34567
+4 UDP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567
+3 UDPLITEv6 state=close laddr=[::1]:34567
+4 UDPLITEv6 state=established laddr=[::1]:23456 raddr=[::1]:34567
# --inet=4
- 3 TCP state=listen laddr=127.0.0.1:34567
- 4 TCP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567
- 5 TCP state=established laddr=127.0.0.1:34567 raddr=127.0.0.1:23456
- 3 UDP state=close laddr=127.0.0.1:34567
- 4 UDP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567
+3 TCP state=listen laddr=127.0.0.1:34567
+4 TCP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567
+5 TCP state=established laddr=127.0.0.1:34567 raddr=127.0.0.1:23456
+3 UDP state=close laddr=127.0.0.1:34567
+4 UDP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567
# --inet=6
- 3 TCPv6 state=listen laddr=[::1]:34567
- 4 TCPv6 state=established laddr=[::1]:23456 raddr=[::1]:34567
- 5 TCPv6 state=established laddr=[::1]:34567 raddr=[::1]:23456
- 3 UDPLITEv6 state=close laddr=[::1]:34567
- 4 UDPLITEv6 state=established laddr=[::1]:23456 raddr=[::1]:34567
+3 TCPv6 state=listen laddr=[::1]:34567
+4 TCPv6 state=established laddr=[::1]:23456 raddr=[::1]:34567
+5 TCPv6 state=established laddr=[::1]:34567 raddr=[::1]:23456
+3 UDPLITEv6 state=close laddr=[::1]:34567
+4 UDPLITEv6 state=established laddr=[::1]:23456 raddr=[::1]:34567
# -i
- 3 TCP state=listen laddr=127.0.0.1:34567
- 4 TCP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567
- 5 TCP state=established laddr=127.0.0.1:34567 raddr=127.0.0.1:23456
- 3 TCPv6 state=listen laddr=[::1]:34567
- 4 TCPv6 state=established laddr=[::1]:23456 raddr=[::1]:34567
- 5 TCPv6 state=established laddr=[::1]:34567 raddr=[::1]:23456
- 3 UDP state=close laddr=127.0.0.1:34567
- 4 UDP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567
- 3 UDPLITEv6 state=close laddr=[::1]:34567
- 4 UDPLITEv6 state=established laddr=[::1]:23456 raddr=[::1]:34567
+3 TCP state=listen laddr=127.0.0.1:34567
+4 TCP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567
+5 TCP state=established laddr=127.0.0.1:34567 raddr=127.0.0.1:23456
+3 TCPv6 state=listen laddr=[::1]:34567
+4 TCPv6 state=established laddr=[::1]:23456 raddr=[::1]:34567
+5 TCPv6 state=established laddr=[::1]:34567 raddr=[::1]:23456
+3 UDP state=close laddr=127.0.0.1:34567
+4 UDP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567
+3 UDPLITEv6 state=close laddr=[::1]:34567
+4 UDPLITEv6 state=established laddr=[::1]:23456 raddr=[::1]:34567
# -i4
- 3 TCP state=listen laddr=127.0.0.1:34567
- 4 TCP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567
- 5 TCP state=established laddr=127.0.0.1:34567 raddr=127.0.0.1:23456
- 3 UDP state=close laddr=127.0.0.1:34567
- 4 UDP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567
+3 TCP state=listen laddr=127.0.0.1:34567
+4 TCP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567
+5 TCP state=established laddr=127.0.0.1:34567 raddr=127.0.0.1:23456
+3 UDP state=close laddr=127.0.0.1:34567
+4 UDP state=established laddr=127.0.0.1:23456 raddr=127.0.0.1:34567
# -i6
- 3 TCPv6 state=listen laddr=[::1]:34567
- 4 TCPv6 state=established laddr=[::1]:23456 raddr=[::1]:34567
- 5 TCPv6 state=established laddr=[::1]:34567 raddr=[::1]:23456
- 3 UDPLITEv6 state=close laddr=[::1]:34567
- 4 UDPLITEv6 state=established laddr=[::1]:23456 raddr=[::1]:34567
+3 TCPv6 state=listen laddr=[::1]:34567
+4 TCPv6 state=established laddr=[::1]:23456 raddr=[::1]:34567
+5 TCPv6 state=established laddr=[::1]:34567 raddr=[::1]:23456
+3 UDPLITEv6 state=close laddr=[::1]:34567
+4 UDPLITEv6 state=established laddr=[::1]:23456 raddr=[::1]:34567
diff --git a/tests/expected/lsfd/option-summary b/tests/expected/lsfd/option-summary
index 4e96f55..058de37 100644
--- a/tests/expected/lsfd/option-summary
+++ b/tests/expected/lsfd/option-summary
@@ -1,3 +1,3 @@
- 10 GROUP
- 3 PASSWD
- 13 PROC
+10 GROUP
+ 3 PASSWD
+13 PROC
diff --git a/tests/expected/lslocks/lslocks-flock-ex b/tests/expected/lslocks/lslocks-flock-ex
new file mode 100644
index 0000000..b7e6ee2
--- /dev/null
+++ b/tests/expected/lslocks/lslocks-flock-ex
@@ -0,0 +1,4 @@
+test_mkfds FLOCK WRITE 0 0
+# flock-ex + COMMAND,TYPE,SIZE,MODE,START,END + --raw --noheadings: 0
+util-linux-lslocks-target-file
+# flock-ex + PATH + --raw --noheadings: 0
diff --git a/tests/expected/lslocks/lslocks-flock-ex+HOLDERS b/tests/expected/lslocks/lslocks-flock-ex+HOLDERS
new file mode 100644
index 0000000..3a817e2
--- /dev/null
+++ b/tests/expected/lslocks/lslocks-flock-ex+HOLDERS
@@ -0,0 +1,2 @@
+test_mkfds FLOCK WRITE 0 0 1,test_mkfds,17\x0a1,test_mkfds,18
+# flock-ex + COMMAND,TYPE,SIZE,MODE,START,END,HOLDERS + --raw --noheadings: 0
diff --git a/tests/expected/lslocks/lslocks-flock-sh b/tests/expected/lslocks/lslocks-flock-sh
new file mode 100644
index 0000000..6188cc1
--- /dev/null
+++ b/tests/expected/lslocks/lslocks-flock-sh
@@ -0,0 +1,4 @@
+test_mkfds FLOCK READ 0 0
+# flock-sh + COMMAND,TYPE,SIZE,MODE,START,END + --raw --noheadings: 0
+util-linux-lslocks-target-file
+# flock-sh + PATH + --raw --noheadings: 0
diff --git a/tests/expected/lslocks/lslocks-flock-sh+HOLDERS b/tests/expected/lslocks/lslocks-flock-sh+HOLDERS
new file mode 100644
index 0000000..37996b1
--- /dev/null
+++ b/tests/expected/lslocks/lslocks-flock-sh+HOLDERS
@@ -0,0 +1,2 @@
+test_mkfds FLOCK READ 0 0 1,test_mkfds,17\x0a1,test_mkfds,18
+# flock-sh + COMMAND,TYPE,SIZE,MODE,START,END,HOLDERS + --raw --noheadings: 0
diff --git a/tests/expected/lslocks/lslocks-lease-w b/tests/expected/lslocks/lslocks-lease-w
new file mode 100644
index 0000000..78a0a21
--- /dev/null
+++ b/tests/expected/lslocks/lslocks-lease-w
@@ -0,0 +1,4 @@
+test_mkfds LEASE WRITE 0 0
+# lease-w + COMMAND,TYPE,SIZE,MODE,START,END + --raw --noheadings: 0
+util-linux-lslocks-target-file
+# lease-w + PATH + --raw --noheadings: 0
diff --git a/tests/expected/lslocks/lslocks-lease-w+HOLDERS b/tests/expected/lslocks/lslocks-lease-w+HOLDERS
new file mode 100644
index 0000000..8c6ab5d
--- /dev/null
+++ b/tests/expected/lslocks/lslocks-lease-w+HOLDERS
@@ -0,0 +1,2 @@
+test_mkfds LEASE WRITE 0 0 1,test_mkfds,17\x0a1,test_mkfds,18
+# lease-w + COMMAND,TYPE,SIZE,MODE,START,END,HOLDERS + --raw --noheadings: 0
diff --git a/tests/expected/lslocks/lslocks-ofd--w b/tests/expected/lslocks/lslocks-ofd--w
new file mode 100644
index 0000000..20b8bc9
--- /dev/null
+++ b/tests/expected/lslocks/lslocks-ofd--w
@@ -0,0 +1,4 @@
+test_mkfds OFDLCK 1B WRITE 0 0
+# ofd--w + COMMAND,TYPE,SIZE,MODE,START,END + --raw --noheadings: 0
+util-linux-lslocks-target-file
+# ofd--w + PATH + --raw --noheadings: 0
diff --git a/tests/expected/lslocks/lslocks-ofd--w+HOLDERS b/tests/expected/lslocks/lslocks-ofd--w+HOLDERS
new file mode 100644
index 0000000..4ff9158
--- /dev/null
+++ b/tests/expected/lslocks/lslocks-ofd--w+HOLDERS
@@ -0,0 +1,2 @@
+test_mkfds OFDLCK 1B WRITE 0 0 1,test_mkfds,17\x0a1,test_mkfds,18
+# ofd--w + COMMAND,TYPE,SIZE,MODE,START,END,HOLDERS + --raw --noheadings: 0
diff --git a/tests/expected/lslocks/lslocks-ofd-r- b/tests/expected/lslocks/lslocks-ofd-r-
new file mode 100644
index 0000000..bf9e809
--- /dev/null
+++ b/tests/expected/lslocks/lslocks-ofd-r-
@@ -0,0 +1,4 @@
+test_mkfds OFDLCK 1B READ 0 0
+# ofd-r- + COMMAND,TYPE,SIZE,MODE,START,END + --raw --noheadings: 0
+util-linux-lslocks-target-file
+# ofd-r- + PATH + --raw --noheadings: 0
diff --git a/tests/expected/lslocks/lslocks-ofd-r-+HOLDERS b/tests/expected/lslocks/lslocks-ofd-r-+HOLDERS
new file mode 100644
index 0000000..1abbf44
--- /dev/null
+++ b/tests/expected/lslocks/lslocks-ofd-r-+HOLDERS
@@ -0,0 +1,2 @@
+test_mkfds OFDLCK 1B READ 0 0 1,test_mkfds,17\x0a1,test_mkfds,18
+# ofd-r- + COMMAND,TYPE,SIZE,MODE,START,END,HOLDERS + --raw --noheadings: 0
diff --git a/tests/expected/lslocks/lslocks-ofd-rw b/tests/expected/lslocks/lslocks-ofd-rw
new file mode 100644
index 0000000..dd3d71c
--- /dev/null
+++ b/tests/expected/lslocks/lslocks-ofd-rw
@@ -0,0 +1,6 @@
+test_mkfds OFDLCK 3B READ 0 0
+test_mkfds OFDLCK 3B WRITE 2 2
+# ofd-rw + COMMAND,TYPE,SIZE,MODE,START,END + --raw --noheadings: 0
+util-linux-lslocks-target-file
+util-linux-lslocks-target-file
+# ofd-rw + PATH + --raw --noheadings: 0
diff --git a/tests/expected/lslocks/lslocks-ofd-rw+HOLDERS b/tests/expected/lslocks/lslocks-ofd-rw+HOLDERS
new file mode 100644
index 0000000..a105d32
--- /dev/null
+++ b/tests/expected/lslocks/lslocks-ofd-rw+HOLDERS
@@ -0,0 +1,3 @@
+test_mkfds OFDLCK 3B READ 0 0 1,test_mkfds,17\x0a1,test_mkfds,18
+test_mkfds OFDLCK 3B WRITE 2 2 1,test_mkfds,17\x0a1,test_mkfds,18
+# ofd-rw + COMMAND,TYPE,SIZE,MODE,START,END,HOLDERS + --raw --noheadings: 0
diff --git a/tests/expected/lslocks/lslocks-posix--w b/tests/expected/lslocks/lslocks-posix--w
new file mode 100644
index 0000000..2668fcd
--- /dev/null
+++ b/tests/expected/lslocks/lslocks-posix--w
@@ -0,0 +1,4 @@
+test_mkfds POSIX 1B WRITE 0 0
+# posix--w + COMMAND,TYPE,SIZE,MODE,START,END + --raw --noheadings: 0
+util-linux-lslocks-target-file
+# posix--w + PATH + --raw --noheadings: 0
diff --git a/tests/expected/lslocks/lslocks-posix-r- b/tests/expected/lslocks/lslocks-posix-r-
new file mode 100644
index 0000000..5e1113d
--- /dev/null
+++ b/tests/expected/lslocks/lslocks-posix-r-
@@ -0,0 +1,4 @@
+test_mkfds POSIX 1B READ 0 0
+# posix-r- + COMMAND,TYPE,SIZE,MODE,START,END + --raw --noheadings: 0
+util-linux-lslocks-target-file
+# posix-r- + PATH + --raw --noheadings: 0
diff --git a/tests/expected/lslocks/lslocks-posix-rw b/tests/expected/lslocks/lslocks-posix-rw
new file mode 100644
index 0000000..890d96a
--- /dev/null
+++ b/tests/expected/lslocks/lslocks-posix-rw
@@ -0,0 +1,6 @@
+test_mkfds POSIX 3B READ 0 0
+test_mkfds POSIX 3B WRITE 2 2
+# posix-rw + COMMAND,TYPE,SIZE,MODE,START,END + --raw --noheadings: 0
+util-linux-lslocks-target-file
+util-linux-lslocks-target-file
+# posix-rw + PATH + --raw --noheadings: 0
diff --git a/tests/expected/misc/boilerplate-exec b/tests/expected/misc/boilerplate-exec
new file mode 100644
index 0000000..324da67
--- /dev/null
+++ b/tests/expected/misc/boilerplate-exec
@@ -0,0 +1 @@
+ret=0
diff --git a/tests/expected/misc/boilerplate-help b/tests/expected/misc/boilerplate-help
new file mode 100644
index 0000000..549400d
--- /dev/null
+++ b/tests/expected/misc/boilerplate-help
@@ -0,0 +1,24 @@
+
+Usage:
+ test_boilerplate [options] file...
+
+Short program description.
+
+Options:
+ -n, --no-argument option does not use argument
+ --optional[=<arg>] option argument is optional
+ -r, --required <arg> option requires an argument
+ -z no long option
+ --xyzzy a long option only
+ -e, --extremely-long-long-option
+ use next line for description when needed
+ -l, --long-explanation an example of very verbose, and chatty option
+ description on two, or multiple lines, where the
+ consecutive lines are intended by two spaces
+ -f, --foobar next option description resets indent
+
+ -h, --help display this help
+ -V, --version display version
+
+For more details see fixme-command-name(1).
+ret=0
diff --git a/tests/expected/misc/enosys-basic b/tests/expected/misc/enosys-basic
new file mode 100644
index 0000000..6552946
--- /dev/null
+++ b/tests/expected/misc/enosys-basic
@@ -0,0 +1,4 @@
+test_enosys: fallocate r=-1 errno=Bad file descriptor
+test_enosys: fallocate r=-1 errno=Function not implemented
+test_enosys: fallocate r=-1 errno=Function not implemented
+test_enosys: fallocate r=-1 errno=Function not implemented
diff --git a/tests/expected/misc/enosys-exec b/tests/expected/misc/enosys-exec
new file mode 100644
index 0000000..be9e72f
--- /dev/null
+++ b/tests/expected/misc/enosys-exec
@@ -0,0 +1 @@
+test_enosys: exec failed: Function not implemented
diff --git a/tests/expected/misc/enosys-ioctl b/tests/expected/misc/enosys-ioctl
new file mode 100644
index 0000000..7ab1efd
--- /dev/null
+++ b/tests/expected/misc/enosys-ioctl
@@ -0,0 +1,5 @@
+test_enosys: ioctl r=0 errno=Success
+test_enosys: ioctl r=-1 errno=Function not implemented
+test_enosys: ioctl r=-1 errno=Inappropriate ioctl for device
+test_enosys: ioctl r=-1 errno=Inappropriate ioctl for device
+test_enosys: ioctl r=-1 errno=Function not implemented
diff --git a/tests/expected/misc/lsclocks-basic b/tests/expected/misc/lsclocks-basic
new file mode 100644
index 0000000..1b375b8
--- /dev/null
+++ b/tests/expected/misc/lsclocks-basic
@@ -0,0 +1,10 @@
+TYPE ID CLOCK NAME
+sys 0 CLOCK_REALTIME realtime
+sys 1 CLOCK_MONOTONIC monotonic
+sys 4 CLOCK_MONOTONIC_RAW monotonic-raw
+sys 5 CLOCK_REALTIME_COARSE realtime-coarse
+sys 6 CLOCK_MONOTONIC_COARSE monotonic-coarse
+sys 7 CLOCK_BOOTTIME boottime
+sys 8 CLOCK_REALTIME_ALARM realtime-alarm
+sys 9 CLOCK_BOOTTIME_ALARM boottime-alarm
+sys 11 CLOCK_TAI tai
diff --git a/tests/expected/misc/lsclocks-cpu b/tests/expected/misc/lsclocks-cpu
new file mode 100644
index 0000000..8da71a5
--- /dev/null
+++ b/tests/expected/misc/lsclocks-cpu
@@ -0,0 +1 @@
+cpu 1
diff --git a/tests/expected/misc/lsclocks-dynamic b/tests/expected/misc/lsclocks-dynamic
new file mode 100644
index 0000000..156ee3f
--- /dev/null
+++ b/tests/expected/misc/lsclocks-dynamic
@@ -0,0 +1 @@
+ptp /dev/ptp0 /dev/ptp0
diff --git a/tests/expected/misc/lsclocks-rtc b/tests/expected/misc/lsclocks-rtc
new file mode 100644
index 0000000..85615b1
--- /dev/null
+++ b/tests/expected/misc/lsclocks-rtc
@@ -0,0 +1 @@
+rtc /dev/rtc0 /dev/rtc0
diff --git a/tests/expected/misc/lsclocks-time b/tests/expected/misc/lsclocks-time
new file mode 100644
index 0000000..adc6524
--- /dev/null
+++ b/tests/expected/misc/lsclocks-time
@@ -0,0 +1 @@
+X.X
diff --git a/tests/expected/misc/setpgid b/tests/expected/misc/setpgid
new file mode 100644
index 0000000..3e4e055
--- /dev/null
+++ b/tests/expected/misc/setpgid
@@ -0,0 +1,2 @@
+success
+not equal
diff --git a/tests/expected/misc/time_t b/tests/expected/misc/time_t
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ b/tests/expected/misc/time_t
@@ -0,0 +1 @@
+8
diff --git a/tests/expected/mount/special-missing-options b/tests/expected/mount/special-missing-options
new file mode 100644
index 0000000..9ead324
--- /dev/null
+++ b/tests/expected/mount/special-missing-options
@@ -0,0 +1 @@
+SRC=/foo TARGET=/mountpoint ROOT=/ OPTS=x-foo=123,x-bar=BAR
diff --git a/tests/expected/rename/basic b/tests/expected/rename/basic
index 2712ba1..7f1af7c 100644
--- a/tests/expected/rename/basic
+++ b/tests/expected/rename/basic
@@ -17,3 +17,4 @@ what is rename_all* *.? doing here?
`rename_zz_last_zzz.z' -> `rename_zz_last_zAAzzBB.z'
what is rename*last* doing here?
`rename_all_empty' -> `_r_e_n_a_m_e___a_l_l___e_m_p_t_y_'
+`rename_dir' -> `rename_new_dir'
diff --git a/tests/expected/schedutils/chrt-deadline b/tests/expected/schedutils/chrt-deadline
index 33d5527..35066c5 100644
--- a/tests/expected/schedutils/chrt-deadline
+++ b/tests/expected/schedutils/chrt-deadline
@@ -1,9 +1,9 @@
SCHED_DEADLINE
0
-<removed>'s current runtime/deadline/period parameters: 13000/13000/13000
+<removed>'s current runtime/deadline/period parameters: 130000/130000/130000
SCHED_DEADLINE
0
-<removed>'s current runtime/deadline/period parameters: 12000/12000/13000
+<removed>'s current runtime/deadline/period parameters: 120000/120000/130000
SCHED_DEADLINE
0
-<removed>'s current runtime/deadline/period parameters: 10000/12000/13000
+<removed>'s current runtime/deadline/period parameters: 100000/120000/130000
diff --git a/tests/expected/setpriv/landlock-nothing-allowed b/tests/expected/setpriv/landlock-nothing-allowed
new file mode 100644
index 0000000..6a63dbc
--- /dev/null
+++ b/tests/expected/setpriv/landlock-nothing-allowed
@@ -0,0 +1 @@
+setpriv: failed to execute true: Permission denied
diff --git a/tests/expected/setpriv/landlock-partial-access-fail b/tests/expected/setpriv/landlock-partial-access-fail
new file mode 100644
index 0000000..0a9a503
--- /dev/null
+++ b/tests/expected/setpriv/landlock-partial-access-fail
@@ -0,0 +1 @@
+cp: cannot create regular file '/dev/zero': Permission denied
diff --git a/tests/expected/utmp/utmpdump-subsecond b/tests/expected/utmp/utmpdump-subsecond
index 67d2cf8..02990c7 100644
--- a/tests/expected/utmp/utmpdump-subsecond
+++ b/tests/expected/utmp/utmpdump-subsecond
@@ -1,4 +1,4 @@
last 9 is expected to disappear in conversion
[7] [00010] [ipv6] [IPv6 ] [root ] [dns-server ] [2001:503:ba3e::2:30] [2013-08-28T20:30:40,123456+00:00]
[8] [00011] [ipv6] [IPv6 ] [root ] [dns-server ] [2001:503:ba3e::2:30] [2013-08-28T20:40:50,999999+00:00]
-[0] [00000] [ts/0] [nonvalid] [foo ] [zero ] [0.0.0.0 ] [2013-08-28T12:00:00,12345678+00:00]
+[0] [00000] [ts/0] [nonvalid] [foo ] [zero ] [0.0.0.0 ] [2013-08-28T12:00:00,000000+00:00]
diff --git a/tests/expected/wipefs/signatures-bcachefs b/tests/expected/wipefs/signatures-bcachefs
new file mode 100644
index 0000000..0c7e0a3
--- /dev/null
+++ b/tests/expected/wipefs/signatures-bcachefs
@@ -0,0 +1,3 @@
+0x1018,e1cf0710-c3cb-498b-9453-d5f3e7dbf9cc,,bcachefs
+0x200018,e1cf0710-c3cb-498b-9453-d5f3e7dbf9cc,,bcachefs
+0x1300018,e1cf0710-c3cb-498b-9453-d5f3e7dbf9cc,,bcachefs