def test_lsblk(self, mock_subp): # lsblk can write non-ascii data, causing shlex to blow up out = (b'ALIGNMENT="0" DISC-ALN="0" DISC-GRAN="512" ' b'DISC-MAX="2147450880" DISC-ZERO="0" FSTYPE="" ' b'GROUP="root" KNAME="sda" LABEL="" LOG-SEC="512" ' b'MAJ:MIN="8:0" MIN-IO="512" MODE="\xc3\xb8---------" ' b'MODEL="Samsung SSD 850 " MOUNTPOINT="" NAME="sda" ' b'OPT-IO="0" OWNER="root" PHY-SEC="512" RM="0" RO="0" ' b'ROTA="0" RQ-SIZE="128" SIZE="500107862016" ' b'STATE="running" TYPE="disk" UUID=""').decode('utf-8') err = b''.decode() mock_subp.return_value = (out, err) out = block._lsblock()
def get_root_info(target): """Returns the root partitions information.""" rootpath = block.get_devices_for_mp(target)[0] rootdev = os.path.basename(rootpath) blocks = block._lsblock() return blocks[rootdev]
def get_uefi_partition(): """Return the UEFI partition.""" for _, value in block._lsblock().items(): if value['LABEL'] == 'uefi-boot': return value return None