diff --git a/checkbox-support/checkbox_support/parsers/tests/test_udevadm.py b/checkbox-support/checkbox_support/parsers/tests/test_udevadm.py index a8d232a040..06eb397610 100644 --- a/checkbox-support/checkbox_support/parsers/tests/test_udevadm.py +++ b/checkbox-support/checkbox_support/parsers/tests/test_udevadm.py @@ -97,6 +97,16 @@ def test_openfirmware_network(self): devices = parser.run() self.assertEqual(devices[0].category, "NETWORK") + def test_KIOXIA_TransMemory(self): + # this is a non-regression test to check that the KIOXIA TransMemory + # USB stick is detected as a usb stick and not a mediacard + devices = self.parse( + "KIOXIA_TransMemory", with_lsblk=True, with_partitions=True + ) + busses = [d.bus for d in devices] + self.assertEqual(["usb", "usb"], busses) + self.assertEqual(self.count(devices, "PARTITION"), 1) + def test_DELL_INSPIRON3521_TOUCHSCREEN(self): """ Check devices category having the ID_INPUT_TOUCHSCREEN property diff --git a/checkbox-support/checkbox_support/parsers/tests/udevadm_data/KIOXIA_TransMemory.lsblk b/checkbox-support/checkbox_support/parsers/tests/udevadm_data/KIOXIA_TransMemory.lsblk new file mode 100644 index 0000000000..d25c62db7c --- /dev/null +++ b/checkbox-support/checkbox_support/parsers/tests/udevadm_data/KIOXIA_TransMemory.lsblk @@ -0,0 +1,21 @@ +KNAME="loop0" TYPE="loop" MOUNTPOINT="/snap/core22/1985" +KNAME="loop1" TYPE="loop" MOUNTPOINT="/snap/pi/133" +KNAME="loop2" TYPE="loop" MOUNTPOINT="/snap/pi-kernel/976" +KNAME="loop3" TYPE="loop" MOUNTPOINT="/snap/bluez/396" +KNAME="loop4" TYPE="loop" MOUNTPOINT="/snap/checkbox/13902" +KNAME="loop5" TYPE="loop" MOUNTPOINT="/snap/checkbox22/1629" +KNAME="loop6" TYPE="loop" MOUNTPOINT="/snap/core18/2858" +KNAME="loop7" TYPE="loop" MOUNTPOINT="/snap/core22/1124" +KNAME="loop8" TYPE="loop" MOUNTPOINT="/snap/core22/1910" +KNAME="loop9" TYPE="loop" MOUNTPOINT="/snap/docker/3066" +KNAME="loop10" TYPE="loop" MOUNTPOINT="/snap/pi-bluetooth/18" +KNAME="loop11" TYPE="loop" MOUNTPOINT="/snap/pi-kernel/767" +KNAME="loop12" TYPE="loop" MOUNTPOINT="/snap/snapd/20675" +KNAME="loop13" TYPE="loop" MOUNTPOINT="/snap/snapd/24507" +KNAME="sda" TYPE="disk" MOUNTPOINT="" +KNAME="sda1" TYPE="part" MOUNTPOINT="" +KNAME="mmcblk0" TYPE="disk" MOUNTPOINT="" +KNAME="mmcblk0p1" TYPE="part" MOUNTPOINT="/var/lib/snapd/seed" +KNAME="mmcblk0p2" TYPE="part" MOUNTPOINT="/run/mnt/ubuntu-boot" +KNAME="mmcblk0p3" TYPE="part" MOUNTPOINT="/var/lib/snapd/save" +KNAME="mmcblk0p4" TYPE="part" MOUNTPOINT="/writable" diff --git a/checkbox-support/checkbox_support/parsers/tests/udevadm_data/KIOXIA_TransMemory.txt b/checkbox-support/checkbox_support/parsers/tests/udevadm_data/KIOXIA_TransMemory.txt new file mode 100644 index 0000000000..52f1e93953 --- /dev/null +++ b/checkbox-support/checkbox_support/parsers/tests/udevadm_data/KIOXIA_TransMemory.txt @@ -0,0 +1,123 @@ +P: /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2 +N: bus/usb/001/006 +L: 0 +E: DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2 +E: SUBSYSTEM=usb +E: DEVNAME=/dev/bus/usb/001/006 +E: DEVTYPE=usb_device +E: DRIVER=usb +E: PRODUCT=30de/6544/1 +E: TYPE=0/0/0 +E: BUSNUM=001 +E: DEVNUM=006 +E: MAJOR=189 +E: MINOR=5 +E: USEC_INITIALIZED=38846816 +E: ID_VENDOR=KIOXIA +E: ID_VENDOR_ENC=KIOXIA +E: ID_VENDOR_ID=30de +E: ID_MODEL=TransMemory +E: ID_MODEL_ENC=TransMemory +E: ID_MODEL_ID=6544 +E: ID_REVISION=0001 +E: ID_SERIAL=KIOXIA_TransMemory_0022CFF6BD70C670E32160AA +E: ID_SERIAL_SHORT=0022CFF6BD70C670E32160AA +E: ID_BUS=usb +E: ID_USB_INTERFACES=:080650: +E: ID_PATH=platform-3f980000.usb-usb-0:1.1.2 +E: ID_PATH_TAG=platform-3f980000_usb-usb-0_1_1_2 +E: ID_FOR_SEAT=usb-platform-3f980000_usb-usb-0_1_1_2 +E: TAGS=:seat: +E: CURRENT_TAGS=:seat: + +P: /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2:1.0/host0/target0:0:0/0:0:0:0/block/sda +N: sda +L: 0 +S: disk/by-path/platform-3f980000.usb-usb-0:1.1.2:1.0-scsi-0:0:0:0 +S: disk/by-id/usb-KIOXIA_TransMemory_0022CFF6BD70C670E32160AA-0:0 +E: DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2:1.0/host0/target0:0:0/0:0:0:0/block/sda +E: SUBSYSTEM=block +E: DEVNAME=/dev/sda +E: DEVTYPE=disk +E: DISKSEQ=10 +E: MAJOR=8 +E: MINOR=0 +E: USEC_INITIALIZED=39060437 +E: ID_VENDOR=KIOXIA +E: ID_VENDOR_ENC=KIOXIA\x20\x20 +E: ID_VENDOR_ID=30de +E: ID_MODEL=TransMemory +E: ID_MODEL_ENC=TransMemory\x20\x20\x20\x20\x20 +E: ID_MODEL_ID=6544 +E: ID_REVISION=0001 +E: ID_SERIAL=KIOXIA_TransMemory_0022CFF6BD70C670E32160AA-0:0 +E: ID_SERIAL_SHORT=0022CFF6BD70C670E32160AA +E: ID_TYPE=disk +E: ID_INSTANCE=0:0 +E: ID_BUS=usb +E: ID_USB_INTERFACES=:080650: +E: ID_USB_INTERFACE_NUM=00 +E: ID_USB_DRIVER=usb-storage +E: ID_PATH=platform-3f980000.usb-usb-0:1.1.2:1.0-scsi-0:0:0:0 +E: ID_PATH_TAG=platform-3f980000_usb-usb-0_1_1_2_1_0-scsi-0_0_0_0 +E: ID_PART_TABLE_UUID=1fa94f30 +E: ID_PART_TABLE_TYPE=dos +E: DEVLINKS=/dev/disk/by-path/platform-3f980000.usb-usb-0:1.1.2:1.0-scsi-0:0:0:0 /dev/disk/by-id/usb-KIOXIA_TransMemory_0022CFF6BD70C670E32160AA-0:0 +E: TAGS=:systemd: +E: CURRENT_TAGS=:systemd: + +P: /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2:1.0/host0/target0:0:0/0:0:0:0/block/sda/sda1 +N: sda1 +L: 0 +S: disk/by-partuuid/1fa94f30-01 +S: disk/by-id/usb-KIOXIA_TransMemory_0022CFF6BD70C670E32160AA-0:0-part1 +S: disk/by-uuid/46C8-7866 +S: disk/by-label/KIOXIA +S: disk/by-path/platform-3f980000.usb-usb-0:1.1.2:1.0-scsi-0:0:0:0-part1 +E: DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.1/1-1.1.2/1-1.1.2:1.0/host0/target0:0:0/0:0:0:0/block/sda/sda1 +E: SUBSYSTEM=block +E: DEVNAME=/dev/sda1 +E: DEVTYPE=partition +E: DISKSEQ=10 +E: PARTN=1 +E: MAJOR=8 +E: MINOR=1 +E: USEC_INITIALIZED=39224894 +E: ID_VENDOR=KIOXIA +E: ID_VENDOR_ENC=KIOXIA\x20\x20 +E: ID_VENDOR_ID=30de +E: ID_MODEL=TransMemory +E: ID_MODEL_ENC=TransMemory\x20\x20\x20\x20\x20 +E: ID_MODEL_ID=6544 +E: ID_REVISION=0001 +E: ID_SERIAL=KIOXIA_TransMemory_0022CFF6BD70C670E32160AA-0:0 +E: ID_SERIAL_SHORT=0022CFF6BD70C670E32160AA +E: ID_TYPE=disk +E: ID_INSTANCE=0:0 +E: ID_BUS=usb +E: ID_USB_INTERFACES=:080650: +E: ID_USB_INTERFACE_NUM=00 +E: ID_USB_DRIVER=usb-storage +E: ID_PATH=platform-3f980000.usb-usb-0:1.1.2:1.0-scsi-0:0:0:0 +E: ID_PATH_TAG=platform-3f980000_usb-usb-0_1_1_2_1_0-scsi-0_0_0_0 +E: ID_PART_TABLE_UUID=1fa94f30 +E: ID_PART_TABLE_TYPE=dos +E: ID_FS_LABEL=KIOXIA +E: ID_FS_LABEL_ENC=KIOXIA +E: ID_FS_UUID=46C8-7866 +E: ID_FS_UUID_ENC=46C8-7866 +E: ID_FS_VERSION=FAT32 +E: ID_FS_TYPE=vfat +E: ID_FS_USAGE=filesystem +E: ID_PART_ENTRY_SCHEME=dos +E: ID_PART_ENTRY_UUID=1fa94f30-01 +E: ID_PART_ENTRY_TYPE=0xb +E: ID_PART_ENTRY_FLAGS=0x80 +E: ID_PART_ENTRY_NUMBER=1 +E: ID_PART_ENTRY_OFFSET=63 +E: ID_PART_ENTRY_SIZE=60548481 +E: ID_PART_ENTRY_DISK=8:0 +E: SYSTEMD_WANTS=snapd.autoimport-device@sda1.service +E: DEVLINKS=/dev/disk/by-partuuid/1fa94f30-01 /dev/disk/by-id/usb-KIOXIA_TransMemory_0022CFF6BD70C670E32160AA-0:0-part1 /dev/disk/by-uuid/46C8-7866 /dev/disk/by-label/KIOXIA /dev/disk/by-path/platform-3f980000.usb-usb-0:1.1.2:1.0-scsi-0:0:0:0-part1 +E: TAGS=:systemd: +E: CURRENT_TAGS=:systemd: diff --git a/checkbox-support/checkbox_support/parsers/udevadm.py b/checkbox-support/checkbox_support/parsers/udevadm.py index 55b2b4cee2..ab852b2eb8 100644 --- a/checkbox-support/checkbox_support/parsers/udevadm.py +++ b/checkbox-support/checkbox_support/parsers/udevadm.py @@ -85,7 +85,7 @@ OPENFIRMWARE_RE = re.compile( r"^of:" r"N(?P.*?)" r"T(?P.*?)" r"C(?P.*?)" ) -CARD_READER_RE = re.compile(r"SD|MMC|CF|MS(?!ata)|SM|xD|Card", re.I) +CARD_READER_RE = re.compile(r"SD|MMC|CF|MS(?!ata)|xD|Card", re.I) GENERIC_RE = re.compile(r"Generic", re.I) FLASH_RE = re.compile(r"Flash", re.I) FLASH_DISK_RE = re.compile(r"Mass|Storage|Disk", re.I) @@ -447,6 +447,7 @@ def category(self): # As it's not possible to distinguish them from simple MMC # removable storage, only those with a partition mounted as / # will be considered. + if self.driver.startswith("mmc"): if self._mmc_type == "MMC" and find_pkname_is_root_mountpoint( self.name, self._lsblk diff --git a/providers/base/units/usb/usb.pxu b/providers/base/units/usb/usb.pxu index 82c0d56084..cf09b2723c 100644 --- a/providers/base/units/usb/usb.pxu +++ b/providers/base/units/usb/usb.pxu @@ -182,7 +182,7 @@ requires: manifest.has_usb_storage == 'True' estimated_duration: 45.0 command: removable_storage_test.py -l usb && timeout 300 removable_storage_test.py -s 268400000 -m 500000000 usb --driver xhci_hcd -_summary: +_summary: Test USB 3.0 or 3.1 ports _purpose: Tests USB 3.0 ports on a system by doing write/read/compare tests on @@ -228,6 +228,7 @@ category_id: com.canonical.plainbox::usb plugin: shell _summary: Detect storage partitions on a device on the USB bus command: + echo "Searching udev for a partitioned device connected via USB..." udev_resource.py -f PARTITION | grep "bus: usb" estimated_duration: 1.0 flags: also-after-suspend