Skip to content
jc-rs
GitHub

udevadm

--udevadmv1.0.0

Converts `udevadm info` command output to JSON

Linuxcommand
$ udevadm info | jc-rs --udevadm

A real pair

From the reference corpus (generic/udevadm.json). The left pane is the input the fixture ships; the right pane is the corpus's expected JSON. CI compares jc-rs with it field by field under the published differential. Hover a value to see where it came from.

udevadm infogeneric
P: /devices/pci0000:00/0000:00:10.0/host32/target32:0:0/32:0:0:0/block/sda
N: sda
L: 0
S: disk/by-path/pci-0000:00:10.0-scsi-0:0:0:0
E: DEVPATH=/devices/pci0000:00/0000:00:10.0/host32/target32:0:0/32:0:0:0/block/sda
E: DEVNAME=/dev/sda
E: DEVTYPE=disk
E: MAJOR=8
E: MINOR=0
E: SUBSYSTEM=block
E: USEC_INITIALIZED=6100111
E: SCSI_TPGS=0
E: SCSI_TYPE=disk
E: SCSI_VENDOR=VMware,
E: SCSI_VENDOR_ENC=VMware,\x20
E: SCSI_MODEL=VMware_Virtual_S
E: SCSI_MODEL_ENC=VMware\x20Virtual\x20S
E: SCSI_REVISION=1.0
E: ID_SCSI=1
E: ID_VENDOR=VMware_
E: ID_VENDOR_ENC=VMware\x2c\x20
E: ID_MODEL=VMware_Virtual_S
E: ID_MODEL_ENC=VMware\x20Virtual\x20S
E: ID_REVISION=1.0
E: ID_TYPE=disk
E: MPATH_SBIN_PATH=/sbin
E: ID_BUS=scsi
E: ID_PATH=pci-0000:00:10.0-scsi-0:0:0:0
E: ID_PATH_TAG=pci-0000_00_10_0-scsi-0_0_0_0
E: ID_PART_TABLE_UUID=a5bd0c01-4210-46f2-b558-5c11c209a8f7
E: ID_PART_TABLE_TYPE=gpt
E: DEVLINKS=/dev/disk/by-path/pci-0000:00:10.0-scsi-0:0:0:0
E: TAGS=:systemd:
expected outputjson
Use the Left and Right arrow keys to highlight the matching value in the input.
{
  "P": "/devices/pci0000:00/0000:00:10.0/host32/target32:0:0/32:0:0:0/block/sda",
  "N": "sda",
  "L": 0,
  "S": [
    "disk/by-path/pci-0000:00:10.0-scsi-0:0:0:0"
  ],
  "E": {
    "DEVPATH": "/devices/pci0000:00/0000:00:10.0/host32/target32:0:0/32:0:0:0/block/sda",
    "DEVNAME": "/dev/sda",
    "DEVTYPE": "disk",
    "MAJOR": "8",
    "MINOR": "0",
    "SUBSYSTEM": "block",
    "USEC_INITIALIZED": "6100111",
    "SCSI_TPGS": "0",
    "SCSI_TYPE": "disk",
    "SCSI_VENDOR": "VMware,",
    "SCSI_VENDOR_ENC": "VMware,\\x20",
    "SCSI_MODEL": "VMware_Virtual_S",
    "SCSI_MODEL_ENC": "VMware\\x20Virtual\\x20S",
    "SCSI_REVISION": "1.0",
    "ID_SCSI": "1",
    "ID_VENDOR": "VMware_",
    "ID_VENDOR_ENC": "VMware\\x2c\\x20",
    "ID_MODEL": "VMware_Virtual_S",
    "ID_MODEL_ENC": "VMware\\x20Virtual\\x20S",
    "ID_REVISION": "1.0",
    "ID_TYPE": "disk",
    "MPATH_SBIN_PATH": "/sbin",
    "ID_BUS": "scsi",
    "ID_PATH": "pci-0000:00:10.0-scsi-0:0:0:0",
    "ID_PATH_TAG": "pci-0000_00_10_0-scsi-0_0_0_0",
    "ID_PART_TABLE_UUID": "a5bd0c01-4210-46f2-b558-5c11c209a8f7",
    "ID_PART_TABLE_TYPE": "gpt",
    "DEVLINKS": "/dev/disk/by-path/pci-0000:00:10.0-scsi-0:0:0:0",
    "TAGS": ":systemd:"
  }
}

Fixture coverage

1/1oracle-valid pairs match under the published structural JSON comparison

Magic syntax

jc-rs udevadm infojc-rs runs the command itself and parses what it prints. Recognised for: `udevadm info`

Source: crates/jc-rs-parsers/src/system/udevadm.rs. jc-rs targets the schemas defined by the original Python tool. Fixture coverage above is the measured evidence for this parser; test the inputs your pipeline depends on. Compare