summaryrefslogtreecommitdiffstats
path: root/tests/expected/dmesg
diff options
context:
space:
mode:
Diffstat (limited to 'tests/expected/dmesg')
-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
21 files changed, 2357 insertions, 18 deletions
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]