1
0
mirror of https://github.com/kellyjonbrazil/jc.git synced 2025-08-08 22:36:48 +02:00

add proc tests

This commit is contained in:
Kelly Brazil
2022-09-23 17:46:52 -07:00
parent 00afd79858
commit 74c8b0678a
47 changed files with 990 additions and 1 deletions

View File

@ -108,6 +108,6 @@ def parse(
jc.utils.compatibility(__name__, info.compatible, quiet)
jc.utils.input_type_check(data)
raw_output: List = proc_iomem.parse(data)
raw_output: List = proc_iomem.parse(data, quiet=True, raw=raw)
return raw_output if raw else _process(raw_output)

View File

@ -0,0 +1 @@
{"rtc_time":"16:09:21","rtc_date":"2022-09-03","alrm_time":"00:00:00","alrm_date":"2022-09-03","alarm_IRQ":false,"alrm_pending":false,"update IRQ enabled":false,"periodic IRQ enabled":false,"periodic IRQ frequency":1024,"max user IRQ frequency":64,"24hr":true,"periodic_IRQ":false,"update_IRQ":false,"HPET_emulated":true,"BCD":true,"DST_enable":false,"periodic_freq":1024,"batt_status":"okay"}

View File

@ -0,0 +1 @@
[{"filesystem":"sysfs","nodev":true},{"filesystem":"tmpfs","nodev":true},{"filesystem":"bdev","nodev":true},{"filesystem":"proc","nodev":true},{"filesystem":"cgroup","nodev":true},{"filesystem":"cgroup2","nodev":true},{"filesystem":"cpuset","nodev":true},{"filesystem":"devtmpfs","nodev":true},{"filesystem":"configfs","nodev":true},{"filesystem":"debugfs","nodev":true},{"filesystem":"tracefs","nodev":true},{"filesystem":"securityfs","nodev":true},{"filesystem":"sockfs","nodev":true},{"filesystem":"bpf","nodev":true},{"filesystem":"pipefs","nodev":true},{"filesystem":"ramfs","nodev":true},{"filesystem":"hugetlbfs","nodev":true},{"filesystem":"devpts","nodev":true},{"filesystem":"ext3","nodev":false},{"filesystem":"ext2","nodev":false},{"filesystem":"ext4","nodev":false},{"filesystem":"squashfs","nodev":false},{"filesystem":"vfat","nodev":false},{"filesystem":"ecryptfs","nodev":true},{"filesystem":"fuseblk","nodev":false},{"filesystem":"fuse","nodev":true},{"filesystem":"fusectl","nodev":true},{"filesystem":"mqueue","nodev":true},{"filesystem":"pstore","nodev":true},{"filesystem":"btrfs","nodev":false},{"filesystem":"autofs","nodev":true},{"filesystem":"binfmt_misc","nodev":true}]

File diff suppressed because one or more lines are too long

1
tests/fixtures/linux-proc/iomem.json vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"start":"0000","end":"0cf7","device":"PCI Bus 0000:00"},{"start":"0000","end":"001f","device":"dma1"},{"start":"0020","end":"0021","device":"PNP0001:00"},{"start":"0020","end":"0021","device":"pic1"},{"start":"0040","end":"0043","device":"timer0"},{"start":"0050","end":"0053","device":"timer1"},{"start":"0060","end":"0060","device":"keyboard"},{"start":"0061","end":"0061","device":"PNP0800:00"},{"start":"0064","end":"0064","device":"keyboard"},{"start":"0070","end":"0071","device":"rtc0"},{"start":"0080","end":"008f","device":"dma page reg"},{"start":"00a0","end":"00a1","device":"PNP0001:00"},{"start":"00a0","end":"00a1","device":"pic2"},{"start":"00c0","end":"00df","device":"dma2"},{"start":"00f0","end":"00ff","device":"fpu"},{"start":"0170","end":"0177","device":"0000:00:07.1"},{"start":"0170","end":"0177","device":"ata_piix"},{"start":"01f0","end":"01f7","device":"0000:00:07.1"},{"start":"01f0","end":"01f7","device":"ata_piix"},{"start":"0376","end":"0376","device":"0000:00:07.1"},{"start":"0376","end":"0376","device":"ata_piix"},{"start":"03c0","end":"03df","device":"vga+"},{"start":"03f6","end":"03f6","device":"0000:00:07.1"},{"start":"03f6","end":"03f6","device":"ata_piix"},{"start":"03f8","end":"03ff","device":"serial"},{"start":"04d0","end":"04d1","device":"PNP0001:00"},{"start":"0cf0","end":"0cf1","device":"pnp 00:00"},{"start":"0cf8","end":"0cff","device":"PCI conf1"},{"start":"0d00","end":"feff","device":"PCI Bus 0000:00"},{"start":"1000","end":"103f","device":"0000:00:07.3"},{"start":"1000","end":"103f","device":"pnp 00:00"},{"start":"1000","end":"1003","device":"ACPI PM1a_EVT_BLK"},{"start":"1004","end":"1005","device":"ACPI PM1a_CNT_BLK"},{"start":"1008","end":"100b","device":"ACPI PM_TMR"},{"start":"100c","end":"100f","device":"ACPI GPE0_BLK"},{"start":"1040","end":"104f","device":"0000:00:07.3"},{"start":"1040","end":"104f","device":"pnp 00:00"},{"start":"1060","end":"106f","device":"0000:00:07.1"},{"start":"1060","end":"106f","device":"ata_piix"},{"start":"1070","end":"107f","device":"0000:00:0f.0"},{"start":"1070","end":"107f","device":"vmwgfx probe"},{"start":"1080","end":"10bf","device":"0000:00:07.7"},{"start":"1080","end":"10bf","device":"vmw_vmci"},{"start":"1400","end":"14ff","device":"0000:00:10.0"},{"start":"2000","end":"3fff","device":"PCI Bus 0000:02"},{"start":"2000","end":"203f","device":"0000:02:01.0"},{"start":"2000","end":"203f","device":"e1000"},{"start":"2040","end":"207f","device":"0000:02:02.0"},{"start":"2040","end":"207f","device":"Ensoniq AudioPCI"},{"start":"2080","end":"209f","device":"0000:02:00.0"},{"start":"2080","end":"209f","device":"uhci_hcd"},{"start":"4000","end":"4fff","device":"PCI Bus 0000:03"},{"start":"5000","end":"5fff","device":"PCI Bus 0000:0b"},{"start":"6000","end":"6fff","device":"PCI Bus 0000:13"},{"start":"7000","end":"7fff","device":"PCI Bus 0000:1b"},{"start":"8000","end":"8fff","device":"PCI Bus 0000:04"},{"start":"9000","end":"9fff","device":"PCI Bus 0000:0c"},{"start":"a000","end":"afff","device":"PCI Bus 0000:14"},{"start":"b000","end":"bfff","device":"PCI Bus 0000:1c"},{"start":"c000","end":"cfff","device":"PCI Bus 0000:05"},{"start":"d000","end":"dfff","device":"PCI Bus 0000:0d"},{"start":"e000","end":"efff","device":"PCI Bus 0000:15"},{"start":"fce0","end":"fcff","device":"pnp 00:06"}]

View File

@ -0,0 +1 @@
{"load_1m":0.0,"load_5m":0.01,"load_15m":0.03,"running":2,"available":111,"last_pid":2039}

1
tests/fixtures/linux-proc/locks.json vendored Normal file
View File

@ -0,0 +1 @@
[{"id":1,"class":"POSIX","type":"ADVISORY","access":"WRITE","pid":877,"maj":"00","min":"19","inode":812,"start":"0","end":"EOF"},{"id":2,"class":"FLOCK","type":"ADVISORY","access":"WRITE","pid":854,"maj":"00","min":"19","inode":805,"start":"0","end":"EOF"},{"id":3,"class":"POSIX","type":"ADVISORY","access":"WRITE","pid":701,"maj":"00","min":"19","inode":702,"start":"0","end":"EOF"},{"id":4,"class":"FLOCK","type":"ADVISORY","access":"WRITE","pid":870,"maj":"fd","min":"00","inode":264967,"start":"0","end":"EOF"}]

View File

@ -0,0 +1 @@
{"MemTotal":3997272,"MemFree":2760316,"MemAvailable":3386876,"Buffers":40452,"Cached":684856,"SwapCached":0,"Active":475816,"Inactive":322064,"Active(anon)":70216,"Inactive(anon)":148,"Active(file)":405600,"Inactive(file)":321916,"Unevictable":19476,"Mlocked":19476,"SwapTotal":3996668,"SwapFree":3996668,"Dirty":152,"Writeback":0,"AnonPages":92064,"Mapped":79464,"Shmem":1568,"KReclaimable":188216,"Slab":288096,"SReclaimable":188216,"SUnreclaim":99880,"KernelStack":5872,"PageTables":1812,"NFS_Unstable":0,"Bounce":0,"WritebackTmp":0,"CommitLimit":5995304,"Committed_AS":445240,"VmallocTotal":34359738367,"VmallocUsed":21932,"VmallocChunk":0,"Percpu":107520,"HardwareCorrupted":0,"AnonHugePages":0,"ShmemHugePages":0,"ShmemPmdMapped":0,"FileHugePages":0,"FilePmdMapped":0,"HugePages_Total":0,"HugePages_Free":0,"HugePages_Rsvd":0,"HugePages_Surp":0,"Hugepagesize":2048,"Hugetlb":0,"DirectMap4k":192320,"DirectMap2M":4001792,"DirectMap1G":2097152}

File diff suppressed because one or more lines are too long

1
tests/fixtures/linux-proc/mtrr.json vendored Normal file
View File

@ -0,0 +1 @@
[{"register":"reg00","type":"write-back","base":"0x000000000","base_mb":0,"size":2048,"count":1},{"register":"reg01","type":"write-back","base":"0x080000000","base_mb":2048,"size":1024,"count":1},{"register":"reg02","type":"write-back","base":"0x100000000","base_mb":4096,"size":4096,"count":1},{"register":"reg03","type":"write-back","base":"0x200000000","base_mb":8192,"size":8192,"count":1},{"register":"reg04","type":"write-back","base":"0x400000000","base_mb":16384,"size":16384,"count":1},{"register":"reg05","type":"write-back","base":"0x800000000","base_mb":32768,"size":32768,"count":1},{"register":"reg06","type":"write-back","base":"0x1000000000","base_mb":65536,"size":65536,"count":1},{"register":"reg07","type":"write-back","base":"0x00000000","base_mb":0,"size":256,"count":1},{"register":"reg08","type":"write-combining","base":"0xe8000000","base_mb":3712,"size":32,"count":1},{"register":"reg09","type":"write-back","base":"0x00000000","base_mb":0,"size":64,"count":1},{"register":"reg10","type":"write-combining","base":"0xfb000000","base_mb":4016,"size":16,"count":1},{"register":"reg11","type":"uncachable","base":"0xfb000000","base_mb":4016,"size":4,"count":1}]

View File

@ -0,0 +1 @@
{"page_block_order":9,"pages_per_block":512,"free_pages":[{"node":0,"zone":"DMA","type":"Unmovable","free":[0,0,0,1,1,1,1,1,0,0,0]},{"node":0,"zone":"DMA","type":"Movable","free":[0,0,0,0,0,0,0,0,0,1,3]},{"node":0,"zone":"DMA","type":"Reclaimable","free":[0,0,0,0,0,0,0,0,0,0,0]},{"node":0,"zone":"DMA","type":"HighAtomic","free":[0,0,0,0,0,0,0,0,0,0,0]},{"node":0,"zone":"DMA","type":"Isolate","free":[0,0,0,0,0,0,0,0,0,0,0]},{"node":0,"zone":"DMA32","type":"Unmovable","free":[1,2,1,3,5,2,1,0,0,1,0]},{"node":0,"zone":"DMA32","type":"Movable","free":[20,52,78,47,32,23,11,9,2,2,629]},{"node":0,"zone":"DMA32","type":"Reclaimable","free":[2,1,3,0,1,0,1,0,1,1,0]},{"node":0,"zone":"DMA32","type":"HighAtomic","free":[0,0,0,0,0,0,0,0,0,0,0]},{"node":0,"zone":"DMA32","type":"Isolate","free":[0,0,0,0,0,0,0,0,0,0,0]},{"node":0,"zone":"Normal","type":"Unmovable","free":[0,22,7,9,0,0,0,0,0,0,0]},{"node":0,"zone":"Normal","type":"Movable","free":[0,0,1,1,1,1,2,11,13,0,0]},{"node":0,"zone":"Normal","type":"Reclaimable","free":[0,0,0,0,0,0,0,0,0,0,0]},{"node":0,"zone":"Normal","type":"HighAtomic","free":[0,0,0,0,0,0,0,0,0,0,0]},{"node":0,"zone":"Normal","type":"Isolate","free":[0,0,0,0,0,0,0,0,0,0,0]}],"num_blocks_type":[{"node":0,"zone":"DMA","unmovable":1,"movable":7,"reclaimable":0,"high_atomic":0,"isolate":0},{"node":0,"zone":"DMA32","unmovable":8,"movable":1472,"reclaimable":48,"high_atomic":0,"isolate":0},{"node":0,"zone":"Normal","unmovable":120,"movable":345,"reclaimable":47,"high_atomic":0,"isolate":0}]}

View File

@ -0,0 +1 @@
[{"major":7,"minor":0,"num_blocks":56896,"name":"loop0"},{"major":7,"minor":1,"num_blocks":56868,"name":"loop1"},{"major":7,"minor":2,"num_blocks":111248,"name":"loop2"},{"major":7,"minor":3,"num_blocks":63448,"name":"loop3"},{"major":7,"minor":5,"num_blocks":48088,"name":"loop5"},{"major":7,"minor":6,"num_blocks":48080,"name":"loop6"},{"major":7,"minor":7,"num_blocks":105464,"name":"loop7"},{"major":8,"minor":0,"num_blocks":20971520,"name":"sda"},{"major":8,"minor":1,"num_blocks":1024,"name":"sda1"},{"major":8,"minor":2,"num_blocks":1048576,"name":"sda2"},{"major":8,"minor":3,"num_blocks":19919872,"name":"sda3"},{"major":11,"minor":0,"num_blocks":1021566,"name":"sr0"},{"major":253,"minor":0,"num_blocks":19918848,"name":"dm-0"},{"major":7,"minor":8,"num_blocks":63444,"name":"loop8"}]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
tests/fixtures/linux-proc/stat.json vendored Normal file
View File

@ -0,0 +1 @@
{"cpu":{"user":6002,"nice":152,"system":8398,"idle":3444436,"iowait":448,"irq":0,"softirq":1174,"steal":0,"guest":0,"guest_nice":0},"cpu0":{"user":2784,"nice":137,"system":4367,"idle":1732802,"iowait":225,"irq":0,"softirq":221,"steal":0,"guest":0,"guest_nice":0},"cpu1":{"user":3218,"nice":15,"system":4031,"idle":1711634,"iowait":223,"irq":0,"softirq":953,"steal":0,"guest":0,"guest_nice":0},"interrupts":[2496709,18,73,0,0,0,0,0,0,1,0,0,0,18,0,0,0,4219,37341,423366,128490,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9063,2363,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"context_switches":4622716,"boot_time":1662154781,"processes":9831,"processes_running":1,"processes_blocked":0,"softirq":[3478985,35230,1252057,3467,128583,51014,0,171199,1241297,0,596138]}

1
tests/fixtures/linux-proc/stat2.json vendored Normal file
View File

@ -0,0 +1 @@
{"cpu":{"user":209841,"nice":1554,"system":21720,"idle":118519346,"iowait":72939,"irq":154,"softirq":27168},"cpu0":{"user":42536,"nice":798,"system":4841,"idle":14790880,"iowait":14778,"irq":124,"softirq":3117},"interrupts":[15239682,14857833,6,0,6,6,0,5,0,1,0,0,0,29,0,2,0,0,0,0,0,0,0,94982,0,286812],"context_switches":4209609,"boot_time":1078711415,"processes":21905,"processes_running":1,"processes_blocked":0,"cpu1":{"user":24184,"nice":569,"system":3875,"idle":14794524,"iowait":30209,"irq":29,"softirq":3130},"cpu2":{"user":28616,"nice":11,"system":2182,"idle":14818198,"iowait":4020,"irq":1,"softirq":3493},"cpu3":{"user":35350,"nice":6,"system":2942,"idle":14811519,"iowait":3045,"irq":0,"softirq":3659},"cpu4":{"user":18209,"nice":135,"system":2263,"idle":14820076,"iowait":12465,"irq":0,"softirq":3373},"cpu5":{"user":20795,"nice":35,"system":1866,"idle":14825701,"iowait":4508,"irq":0,"softirq":3615},"cpu6":{"user":21607,"nice":0,"system":2201,"idle":14827053,"iowait":2325,"irq":0,"softirq":3334},"cpu7":{"user":18544,"nice":0,"system":1550,"idle":14831395,"iowait":1589,"irq":0,"softirq":3447}}

1
tests/fixtures/linux-proc/swaps.json vendored Normal file
View File

@ -0,0 +1 @@
[{"filename":"/swap.img","type":"file","size":3996668,"used":0,"priority":-2}]

1
tests/fixtures/linux-proc/uptime.json vendored Normal file
View File

@ -0,0 +1 @@
{"up_time":46901.13,"idle_time":46856.66}

View File

@ -0,0 +1 @@
{"version":"5.8.0-63-generic","email":"buildd@lcy01-amd64-028","gcc":"gcc (Ubuntu 10.3.0-1ubuntu1~20.10) 10.3.0, GNU ld (GNU Binutils for Ubuntu) 2.35.1","build":"#71-Ubuntu","flags":"SMP","date":"Tue Jul 13 15:59:12 UTC 2021"}

View File

@ -0,0 +1 @@
{"version":"3.10.0-1062.el7.x86_64","email":"mockbuild@kbuilder.bsys.centos.org","gcc":"gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)","build":"#1","flags":"SMP","date":"Wed Aug 7 18:08:02 UTC 2019"}

View File

@ -0,0 +1 @@
{"version":"2.6.8-1.523","email":"user@foo.redhat.com","gcc":"gcc version 3.4.1 20040714 \\ (Red Hat Enterprise Linux 3.4.1-7)","build":"#1","flags":null,"date":"Mon Aug 16 13:27:03 EDT 2004"}

File diff suppressed because one or more lines are too long

1
tests/fixtures/linux-proc/vmstat.json vendored Normal file
View File

@ -0,0 +1 @@
{"nr_free_pages":615337,"nr_zone_inactive_anon":39,"nr_zone_active_anon":34838,"nr_zone_inactive_file":104036,"nr_zone_active_file":130601,"nr_zone_unevictable":4897,"nr_zone_write_pending":45,"nr_mlock":4897,"nr_page_table_pages":548,"nr_kernel_stack":5984,"nr_bounce":0,"nr_zspages":0,"nr_free_cma":0,"numa_hit":1910597,"numa_miss":0,"numa_foreign":0,"numa_interleave":66040,"numa_local":1910597,"numa_other":0,"nr_inactive_anon":39,"nr_active_anon":34838,"nr_inactive_file":104036,"nr_active_file":130601,"nr_unevictable":4897,"nr_slab_reclaimable":49011,"nr_slab_unreclaimable":26172,"nr_isolated_anon":0,"nr_isolated_file":0,"workingset_nodes":0,"workingset_refault":0,"workingset_activate":0,"workingset_restore":0,"workingset_nodereclaim":0,"nr_anon_pages":40298,"nr_mapped":25087,"nr_file_pages":234112,"nr_dirty":45,"nr_writeback":0,"nr_writeback_temp":0,"nr_shmem":395,"nr_shmem_hugepages":0,"nr_shmem_pmdmapped":0,"nr_file_hugepages":0,"nr_file_pmdmapped":0,"nr_anon_transparent_hugepages":0,"nr_vmscan_write":0,"nr_vmscan_immediate_reclaim":0,"nr_dirtied":167091,"nr_written":143439,"nr_kernel_misc_reclaimable":0,"nr_foll_pin_acquired":0,"nr_foll_pin_released":0,"nr_dirty_threshold":163943,"nr_dirty_background_threshold":81871,"pgpgin":625466,"pgpgout":706252,"pswpin":0,"pswpout":0,"pgalloc_dma":144,"pgalloc_dma32":597148,"pgalloc_normal":1423654,"pgalloc_movable":0,"allocstall_dma":0,"allocstall_dma32":0,"allocstall_normal":0,"allocstall_movable":0,"pgskip_dma":0,"pgskip_dma32":0,"pgskip_normal":0,"pgskip_movable":0,"pgfree":2637206,"pgactivate":136726,"pgdeactivate":0,"pglazyfree":3610,"pgfault":1195623,"pgmajfault":1713,"pglazyfreed":0,"pgrefill":0,"pgsteal_kswapd":0,"pgsteal_direct":0,"pgscan_kswapd":0,"pgscan_direct":0,"pgscan_direct_throttle":0,"pgscan_anon":0,"pgscan_file":0,"pgsteal_anon":0,"pgsteal_file":0,"zone_reclaim_failed":0,"pginodesteal":0,"slabs_scanned":0,"kswapd_inodesteal":0,"kswapd_low_wmark_hit_quickly":0,"kswapd_high_wmark_hit_quickly":0,"pageoutrun":0,"pgrotated":0,"drop_pagecache":0,"drop_slab":0,"oom_kill":0,"numa_pte_updates":0,"numa_huge_pte_updates":0,"numa_hint_faults":0,"numa_hint_faults_local":0,"numa_pages_migrated":0,"pgmigrate_success":0,"pgmigrate_fail":0,"compact_migrate_scanned":0,"compact_free_scanned":0,"compact_isolated":0,"compact_stall":0,"compact_fail":0,"compact_success":0,"compact_daemon_wake":0,"compact_daemon_migrate_scanned":0,"compact_daemon_free_scanned":0,"htlb_buddy_alloc_success":0,"htlb_buddy_alloc_fail":0,"unevictable_pgs_culled":66408,"unevictable_pgs_scanned":0,"unevictable_pgs_rescued":206,"unevictable_pgs_mlocked":5103,"unevictable_pgs_munlocked":206,"unevictable_pgs_cleared":0,"unevictable_pgs_stranded":0,"thp_fault_alloc":0,"thp_fault_fallback":0,"thp_fault_fallback_charge":0,"thp_collapse_alloc":1,"thp_collapse_alloc_failed":0,"thp_file_alloc":0,"thp_file_fallback":0,"thp_file_fallback_charge":0,"thp_file_mapped":0,"thp_split_page":1,"thp_split_page_failed":0,"thp_deferred_split_page":1,"thp_split_pmd":1,"thp_split_pud":0,"thp_zero_page_alloc":0,"thp_zero_page_alloc_failed":0,"thp_swpout":0,"thp_swpout_fallback":0,"balloon_inflate":0,"balloon_deflate":0,"balloon_migrate":0,"swap_ra":0,"swap_ra_hit":0,"nr_unstable":0}

View File

@ -0,0 +1 @@
[{"node":0,"DMA":{"pages":{"free":3832,"min":68,"low":85,"high":102,"spanned":4095,"present":3997,"managed":3976,"protection":[0,2871,3795,3795,3795],"nr_free_pages":3832,"nr_zone_inactive_anon":0,"nr_zone_active_anon":0,"nr_zone_inactive_file":0,"nr_zone_active_file":0,"nr_zone_unevictable":0,"nr_zone_write_pending":0,"nr_mlock":0,"nr_page_table_pages":0,"nr_kernel_stack":0,"nr_bounce":0,"nr_zspages":0,"nr_free_cma":0,"numa_hit":3,"numa_miss":0,"numa_foreign":0,"numa_interleave":1,"numa_local":3,"numa_other":0},"pagesets":[{"cpu":0,"count":0,"high":0,"batch":1,"vm stats threshold":4},{"cpu":1,"count":0,"high":0,"batch":1,"vm stats threshold":4,"node_unreclaimable":0,"start_pfn":1}]},"nr_inactive_anon":39,"nr_active_anon":34839,"nr_inactive_file":104172,"nr_active_file":130748,"nr_unevictable":4897,"nr_slab_reclaimable":49017,"nr_slab_unreclaimable":26177,"nr_isolated_anon":0,"nr_isolated_file":0,"workingset_nodes":0,"workingset_refault":0,"workingset_activate":0,"workingset_restore":0,"workingset_nodereclaim":0,"nr_anon_pages":40299,"nr_mapped":25140,"nr_file_pages":234396,"nr_dirty":0,"nr_writeback":0,"nr_writeback_temp":0,"nr_shmem":395,"nr_shmem_hugepages":0,"nr_shmem_pmdmapped":0,"nr_file_hugepages":0,"nr_file_pmdmapped":0,"nr_anon_transparent_hugepages":0,"nr_vmscan_write":0,"nr_vmscan_immediate_reclaim":0,"nr_dirtied":168223,"nr_written":144616,"nr_kernel_misc_reclaimable":0,"nr_foll_pin_acquired":0,"nr_foll_pin_released":0,"DMA32":{"pages":{"free":606010,"min":12729,"low":15911,"high":19093,"spanned":1044480,"present":782288,"managed":758708,"protection":[0,0,924,924,924],"nr_free_pages":606010,"nr_zone_inactive_anon":4,"nr_zone_active_anon":17380,"nr_zone_inactive_file":41785,"nr_zone_active_file":64545,"nr_zone_unevictable":5,"nr_zone_write_pending":0,"nr_mlock":5,"nr_page_table_pages":101,"nr_kernel_stack":224,"nr_bounce":0,"nr_zspages":0,"nr_free_cma":0,"numa_hit":576595,"numa_miss":0,"numa_foreign":0,"numa_interleave":2,"numa_local":576595,"numa_other":0},"pagesets":[{"cpu":0,"count":253,"high":378,"batch":63,"vm stats threshold":24},{"cpu":1,"count":243,"high":378,"batch":63,"vm stats threshold":24,"node_unreclaimable":0,"start_pfn":4096}]},"Normal":{"pages":{"free":5113,"min":4097,"low":5121,"high":6145,"spanned":262144,"present":262144,"managed":236634,"protection":[0,0,0,0,0],"nr_free_pages":5113,"nr_zone_inactive_anon":35,"nr_zone_active_anon":17459,"nr_zone_inactive_file":62387,"nr_zone_active_file":66203,"nr_zone_unevictable":4892,"nr_zone_write_pending":0,"nr_mlock":4892,"nr_page_table_pages":447,"nr_kernel_stack":5760,"nr_bounce":0,"nr_zspages":0,"nr_free_cma":0,"numa_hit":1338441,"numa_miss":0,"numa_foreign":0,"numa_interleave":66037,"numa_local":1338441,"numa_other":0},"pagesets":[{"cpu":0,"count":340,"high":378,"batch":63,"vm stats threshold":16},{"cpu":1,"count":174,"high":378,"batch":63,"vm stats threshold":16,"node_unreclaimable":0,"start_pfn":1048576}]},"Movable":{"pages":{"free":0,"min":0,"low":0,"high":0,"spanned":0,"present":0,"managed":0,"protection":[0,0,0,0,0]}},"Device":{"pages":{"free":0,"min":0,"low":0,"high":0,"spanned":0,"present":0,"managed":0,"protection":[0,0,0,0,0]}}}]

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,44 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_driver_rtc
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_driver_rtc': (
'fixtures/linux-proc/driver_rtc',
'fixtures/linux-proc/driver_rtc.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_driver_rtc_nodata(self):
"""
Test 'proc_driver_rtc' with no data
"""
self.assertEqual(jc.parsers.proc_driver_rtc.parse('', quiet=True), {})
def test_proc_driver_rtc(self):
"""
Test '/proc/driver_rtc'
"""
self.assertEqual(jc.parsers.proc_driver_rtc.parse(self.f_in['proc_driver_rtc'], quiet=True),
self.f_json['proc_driver_rtc'])
if __name__ == '__main__':
unittest.main()

View File

@ -0,0 +1,44 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_filesystems
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_filesystems': (
'fixtures/linux-proc/filesystems',
'fixtures/linux-proc/filesystems.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_filesystems_nodata(self):
"""
Test 'proc_filesystems' with no data
"""
self.assertEqual(jc.parsers.proc_filesystems.parse('', quiet=True), [])
def test_proc_filesystems(self):
"""
Test '/proc/buddyinfo'
"""
self.assertEqual(jc.parsers.proc_filesystems.parse(self.f_in['proc_filesystems'], quiet=True),
self.f_json['proc_filesystems'])
if __name__ == '__main__':
unittest.main()

View File

@ -0,0 +1,44 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_interrupts
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_interrupts': (
'fixtures/linux-proc/interrupts',
'fixtures/linux-proc/interrupts.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_interrupts_nodata(self):
"""
Test 'proc_interrupts' with no data
"""
self.assertEqual(jc.parsers.proc_interrupts.parse('', quiet=True), [])
def test_proc_interrupts(self):
"""
Test '/proc/interrupts'
"""
self.assertEqual(jc.parsers.proc_interrupts.parse(self.f_in['proc_interrupts'], quiet=True),
self.f_json['proc_interrupts'])
if __name__ == '__main__':
unittest.main()

44
tests/test_proc_iomem.py Normal file
View File

@ -0,0 +1,44 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_iomem
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_iomem': (
'fixtures/linux-proc/iomem',
'fixtures/linux-proc/iomem.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_iomem_nodata(self):
"""
Test 'proc_iomem' with no data
"""
self.assertEqual(jc.parsers.proc_iomem.parse('', quiet=True), [])
def test_proc_iomem(self):
"""
Test '/proc/iomem'
"""
self.assertEqual(jc.parsers.proc_iomem.parse(self.f_in['proc_iomem'], quiet=True),
self.f_json['proc_iomem'])
if __name__ == '__main__':
unittest.main()

View File

@ -0,0 +1,44 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_ioports
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_ioports': (
'fixtures/linux-proc/ioports',
'fixtures/linux-proc/ioports.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_ioports_nodata(self):
"""
Test 'proc_ioports' with no data
"""
self.assertEqual(jc.parsers.proc_ioports.parse('', quiet=True), [])
def test_proc_ioports(self):
"""
Test '/proc/ioports'
"""
self.assertEqual(jc.parsers.proc_ioports.parse(self.f_in['proc_ioports'], quiet=True),
self.f_json['proc_ioports'])
if __name__ == '__main__':
unittest.main()

View File

@ -0,0 +1,44 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_loadavg
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_loadavg': (
'fixtures/linux-proc/loadavg',
'fixtures/linux-proc/loadavg.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_loadavg_nodata(self):
"""
Test 'proc_loadavg' with no data
"""
self.assertEqual(jc.parsers.proc_loadavg.parse('', quiet=True), {})
def test_proc_loadavg(self):
"""
Test '/proc/loadavg'
"""
self.assertEqual(jc.parsers.proc_loadavg.parse(self.f_in['proc_loadavg'], quiet=True),
self.f_json['proc_loadavg'])
if __name__ == '__main__':
unittest.main()

44
tests/test_proc_locks.py Normal file
View File

@ -0,0 +1,44 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_locks
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_locks': (
'fixtures/linux-proc/locks',
'fixtures/linux-proc/locks.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_locks_nodata(self):
"""
Test 'proc_locks' with no data
"""
self.assertEqual(jc.parsers.proc_locks.parse('', quiet=True), [])
def test_proc_locks(self):
"""
Test '/proc/locks'
"""
self.assertEqual(jc.parsers.proc_locks.parse(self.f_in['proc_locks'], quiet=True),
self.f_json['proc_locks'])
if __name__ == '__main__':
unittest.main()

View File

@ -0,0 +1,44 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_meminfo
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_meminfo': (
'fixtures/linux-proc/meminfo',
'fixtures/linux-proc/meminfo.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_meminfo_nodata(self):
"""
Test 'proc_meminfo' with no data
"""
self.assertEqual(jc.parsers.proc_meminfo.parse('', quiet=True), {})
def test_proc_meminfo(self):
"""
Test '/proc/meminfo'
"""
self.assertEqual(jc.parsers.proc_meminfo.parse(self.f_in['proc_meminfo'], quiet=True),
self.f_json['proc_meminfo'])
if __name__ == '__main__':
unittest.main()

View File

@ -0,0 +1,44 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_modules
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_modules': (
'fixtures/linux-proc/modules',
'fixtures/linux-proc/modules.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_modules_nodata(self):
"""
Test 'proc_modules' with no data
"""
self.assertEqual(jc.parsers.proc_modules.parse('', quiet=True), [])
def test_proc_modules(self):
"""
Test '/proc/modules'
"""
self.assertEqual(jc.parsers.proc_modules.parse(self.f_in['proc_modules'], quiet=True),
self.f_json['proc_modules'])
if __name__ == '__main__':
unittest.main()

44
tests/test_proc_mtrr.py Normal file
View File

@ -0,0 +1,44 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_mtrr
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_mtrr': (
'fixtures/linux-proc/mtrr',
'fixtures/linux-proc/mtrr.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_mtrr_nodata(self):
"""
Test 'proc_mtrr' with no data
"""
self.assertEqual(jc.parsers.proc_mtrr.parse('', quiet=True), [])
def test_proc_mtrr(self):
"""
Test '/proc/mtrr'
"""
self.assertEqual(jc.parsers.proc_mtrr.parse(self.f_in['proc_mtrr'], quiet=True),
self.f_json['proc_mtrr'])
if __name__ == '__main__':
unittest.main()

View File

@ -0,0 +1,44 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_pagetypeinfo
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_pagetypeinfo': (
'fixtures/linux-proc/pagetypeinfo',
'fixtures/linux-proc/pagetypeinfo.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_pagetypeinfo_nodata(self):
"""
Test 'proc_pagetypeinfo' with no data
"""
self.assertEqual(jc.parsers.proc_pagetypeinfo.parse('', quiet=True), {})
def test_proc_pagetypeinfo(self):
"""
Test '/proc/pagetypeinfo'
"""
self.assertEqual(jc.parsers.proc_pagetypeinfo.parse(self.f_in['proc_pagetypeinfo'], quiet=True),
self.f_json['proc_pagetypeinfo'])
if __name__ == '__main__':
unittest.main()

View File

@ -0,0 +1,44 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_partitions
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_partitions': (
'fixtures/linux-proc/partitions',
'fixtures/linux-proc/partitions.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_partitions_nodata(self):
"""
Test 'proc_partitions' with no data
"""
self.assertEqual(jc.parsers.proc_partitions.parse('', quiet=True), [])
def test_proc_partitions(self):
"""
Test '/proc/partitions'
"""
self.assertEqual(jc.parsers.proc_partitions.parse(self.f_in['proc_partitions'], quiet=True),
self.f_json['proc_partitions'])
if __name__ == '__main__':
unittest.main()

View File

@ -0,0 +1,44 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_slabinfo
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_slabinfo': (
'fixtures/linux-proc/slabinfo',
'fixtures/linux-proc/slabinfo.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_slabinfo_nodata(self):
"""
Test 'proc_slabinfo' with no data
"""
self.assertEqual(jc.parsers.proc_slabinfo.parse('', quiet=True), [])
def test_proc_slabinfo(self):
"""
Test '/proc/slabinfo'
"""
self.assertEqual(jc.parsers.proc_slabinfo.parse(self.f_in['proc_slabinfo'], quiet=True),
self.f_json['proc_slabinfo'])
if __name__ == '__main__':
unittest.main()

View File

@ -0,0 +1,44 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_softirqs
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_softirqs': (
'fixtures/linux-proc/softirqs',
'fixtures/linux-proc/softirqs.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_softirqs_nodata(self):
"""
Test 'proc_softirqs' with no data
"""
self.assertEqual(jc.parsers.proc_softirqs.parse('', quiet=True), [])
def test_proc_softirqs(self):
"""
Test '/proc/softirqs'
"""
self.assertEqual(jc.parsers.proc_softirqs.parse(self.f_in['proc_softirqs'], quiet=True),
self.f_json['proc_softirqs'])
if __name__ == '__main__':
unittest.main()

54
tests/test_proc_stat.py Normal file
View File

@ -0,0 +1,54 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_stat
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_stat': (
'fixtures/linux-proc/stat',
'fixtures/linux-proc/stat.json'),
'proc_stat2': (
'fixtures/linux-proc/stat2',
'fixtures/linux-proc/stat2.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_stat_nodata(self):
"""
Test 'proc_stat' with no data
"""
self.assertEqual(jc.parsers.proc_stat.parse('', quiet=True), {})
def test_proc_stat(self):
"""
Test '/proc/stat'
"""
self.assertEqual(jc.parsers.proc_stat.parse(self.f_in['proc_stat'], quiet=True),
self.f_json['proc_stat'])
def test_proc_stat2(self):
"""
Test '/proc/stat' #2
"""
self.assertEqual(jc.parsers.proc_stat.parse(self.f_in['proc_stat2'], quiet=True),
self.f_json['proc_stat2'])
if __name__ == '__main__':
unittest.main()

44
tests/test_proc_swaps.py Normal file
View File

@ -0,0 +1,44 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_swaps
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_swaps': (
'fixtures/linux-proc/swaps',
'fixtures/linux-proc/swaps.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_swaps_nodata(self):
"""
Test 'proc_swaps' with no data
"""
self.assertEqual(jc.parsers.proc_swaps.parse('', quiet=True), [])
def test_proc_swaps(self):
"""
Test '/proc/swaps'
"""
self.assertEqual(jc.parsers.proc_swaps.parse(self.f_in['proc_swaps'], quiet=True),
self.f_json['proc_swaps'])
if __name__ == '__main__':
unittest.main()

44
tests/test_proc_uptime.py Normal file
View File

@ -0,0 +1,44 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_uptime
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_uptime': (
'fixtures/linux-proc/uptime',
'fixtures/linux-proc/uptime.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_uptime_nodata(self):
"""
Test 'proc_uptime' with no data
"""
self.assertEqual(jc.parsers.proc_uptime.parse('', quiet=True), {})
def test_proc_uptime(self):
"""
Test '/proc/uptime'
"""
self.assertEqual(jc.parsers.proc_uptime.parse(self.f_in['proc_uptime'], quiet=True),
self.f_json['proc_uptime'])
if __name__ == '__main__':
unittest.main()

View File

@ -0,0 +1,64 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_version
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_version': (
'fixtures/linux-proc/version',
'fixtures/linux-proc/version.json'),
'proc_version2': (
'fixtures/linux-proc/version2',
'fixtures/linux-proc/version2.json'),
'proc_version3': (
'fixtures/linux-proc/version3',
'fixtures/linux-proc/version3.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_version_nodata(self):
"""
Test 'proc_version' with no data
"""
self.assertEqual(jc.parsers.proc_version.parse('', quiet=True), {})
def test_proc_version(self):
"""
Test '/proc/version'
"""
self.assertEqual(jc.parsers.proc_version.parse(self.f_in['proc_version'], quiet=True),
self.f_json['proc_version'])
def test_proc_version2(self):
"""
Test '/proc/version' #2
"""
self.assertEqual(jc.parsers.proc_version.parse(self.f_in['proc_version2'], quiet=True),
self.f_json['proc_version2'])
def test_proc_version3(self):
"""
Test '/proc/version' #3
"""
self.assertEqual(jc.parsers.proc_version.parse(self.f_in['proc_version3'], quiet=True),
self.f_json['proc_version3'])
if __name__ == '__main__':
unittest.main()

View File

@ -0,0 +1,44 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_vmallocinfo
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_vmallocinfo': (
'fixtures/linux-proc/vmallocinfo',
'fixtures/linux-proc/vmallocinfo.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_vmallocinfo_nodata(self):
"""
Test 'proc_vmallocinfo' with no data
"""
self.assertEqual(jc.parsers.proc_vmallocinfo.parse('', quiet=True), [])
def test_proc_vmallocinfo(self):
"""
Test '/proc/vmallocinfo'
"""
self.assertEqual(jc.parsers.proc_vmallocinfo.parse(self.f_in['proc_vmallocinfo'], quiet=True),
self.f_json['proc_vmallocinfo'])
if __name__ == '__main__':
unittest.main()

44
tests/test_proc_vmstat.py Normal file
View File

@ -0,0 +1,44 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_vmstat
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_vmstat': (
'fixtures/linux-proc/vmstat',
'fixtures/linux-proc/vmstat.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_vmstat_nodata(self):
"""
Test 'proc_vmstat' with no data
"""
self.assertEqual(jc.parsers.proc_vmstat.parse('', quiet=True), {})
def test_proc_vmstat(self):
"""
Test '/proc/vmstat'
"""
self.assertEqual(jc.parsers.proc_vmstat.parse(self.f_in['proc_vmstat'], quiet=True),
self.f_json['proc_vmstat'])
if __name__ == '__main__':
unittest.main()

View File

@ -0,0 +1,54 @@
import os
import unittest
import json
from typing import Dict
import jc.parsers.proc_zoneinfo
THIS_DIR = os.path.dirname(os.path.abspath(__file__))
class MyTests(unittest.TestCase):
f_in: Dict = {}
f_json: Dict = {}
@classmethod
def setUpClass(cls):
fixtures = {
'proc_zoneinfo': (
'fixtures/linux-proc/zoneinfo',
'fixtures/linux-proc/zoneinfo.json'),
'proc_zoneinfo2': (
'fixtures/linux-proc/zoneinfo2',
'fixtures/linux-proc/zoneinfo2.json')
}
for file, filepaths in fixtures.items():
with open(os.path.join(THIS_DIR, filepaths[0]), 'r', encoding='utf-8') as a, \
open(os.path.join(THIS_DIR, filepaths[1]), 'r', encoding='utf-8') as b:
cls.f_in[file] = a.read()
cls.f_json[file] = json.loads(b.read())
def test_proc_zoneinfo_nodata(self):
"""
Test 'proc_zoneinfo' with no data
"""
self.assertEqual(jc.parsers.proc_zoneinfo.parse('', quiet=True), [])
def test_proc_zoneinfo(self):
"""
Test '/proc/zoneinfo'
"""
self.assertEqual(jc.parsers.proc_zoneinfo.parse(self.f_in['proc_zoneinfo'], quiet=True),
self.f_json['proc_zoneinfo'])
def test_proc_zoneinfo2(self):
"""
Test '/proc/zoneinfo' #2
"""
self.assertEqual(jc.parsers.proc_zoneinfo.parse(self.f_in['proc_zoneinfo2'], quiet=True),
self.f_json['proc_zoneinfo2'])
if __name__ == '__main__':
unittest.main()