mirror of https://github.com/ARMmbed/mbed-os.git
546 lines
28 KiB
Python
546 lines
28 KiB
Python
'''
|
|
mbed SDK
|
|
Copyright (c) 2011-2018 ARM Limited
|
|
|
|
Licensed under the Apache License, Version 2.0 (the 'License');
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an 'AS IS' BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
'''
|
|
|
|
import unittest
|
|
import sys
|
|
import os
|
|
from mock import patch, mock_open
|
|
from mbed_lstools.linux import MbedLsToolsLinuxGeneric
|
|
|
|
|
|
class LinuxPortTestCase(unittest.TestCase):
|
|
''' Basic test cases checking trivial asserts
|
|
'''
|
|
|
|
def setUp(self):
|
|
self.linux_generic = MbedLsToolsLinuxGeneric()
|
|
|
|
def tearDown(self):
|
|
pass
|
|
|
|
vfat_devices = [
|
|
b'/dev/sdb on /media/usb0 type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)',
|
|
b'/dev/sdd on /media/usb2 type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)',
|
|
b'/dev/sde on /media/usb3 type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)',
|
|
b'/dev/sdc on /media/usb1 type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)'
|
|
]
|
|
|
|
def test_get_mount_point_basic(self):
|
|
with patch('mbed_lstools.linux.MbedLsToolsLinuxGeneric._run_cli_process') as _cliproc:
|
|
_cliproc.return_value = (b'\n'.join(self.vfat_devices), None, 0)
|
|
mount_dict = dict(self.linux_generic._fat_mounts())
|
|
_cliproc.assert_called_once_with('mount')
|
|
self.assertEqual('/media/usb0', mount_dict['/dev/sdb'])
|
|
self.assertEqual('/media/usb2', mount_dict['/dev/sdd'])
|
|
self.assertEqual('/media/usb3', mount_dict['/dev/sde'])
|
|
self.assertEqual('/media/usb1', mount_dict['/dev/sdc'])
|
|
|
|
|
|
vfat_devices_ext = [
|
|
b'/dev/sdb on /media/MBED_xxx type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)',
|
|
b'/dev/sdd on /media/MBED___x type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)',
|
|
b'/dev/sde on /media/MBED-xxx type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)',
|
|
b'/dev/sdc on /media/MBED_x-x type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)',
|
|
|
|
b'/dev/sda on /mnt/NUCLEO type vfat (rw,relatime,uid=999,fmask=0133,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,flush,errors=remount-ro,uhelper=ldm)',
|
|
b'/dev/sdf on /mnt/NUCLEO_ type vfat (rw,relatime,uid=999,fmask=0133,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,utf8,flush,errors=remount-ro,uhelper=ldm)',
|
|
b'/dev/sdg on /mnt/DAPLINK type vfat (rw,relatime,sync,uid=999,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro,uhelper=ldm)',
|
|
b'/dev/sdh on /mnt/DAPLINK_ type vfat (rw,relatime,sync,uid=999,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro,uhelper=ldm)',
|
|
b'/dev/sdi on /mnt/DAPLINK__ type vfat (rw,relatime,sync,uid=999,fmask=0022,dmask=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro,uhelper=ldm)',
|
|
]
|
|
|
|
def test_get_mount_point_ext(self):
|
|
with patch('mbed_lstools.linux.MbedLsToolsLinuxGeneric._run_cli_process') as _cliproc:
|
|
_cliproc.return_value = (b'\n'.join(self.vfat_devices_ext), None, 0)
|
|
mount_dict = dict(self.linux_generic._fat_mounts())
|
|
_cliproc.assert_called_once_with('mount')
|
|
self.assertEqual('/media/MBED_xxx', mount_dict['/dev/sdb'])
|
|
self.assertEqual('/media/MBED___x', mount_dict['/dev/sdd'])
|
|
self.assertEqual('/media/MBED-xxx', mount_dict['/dev/sde'])
|
|
self.assertEqual('/media/MBED_x-x', mount_dict['/dev/sdc'])
|
|
|
|
self.assertEqual('/mnt/NUCLEO', mount_dict['/dev/sda'])
|
|
self.assertEqual('/mnt/NUCLEO_', mount_dict['/dev/sdf'])
|
|
self.assertEqual('/mnt/DAPLINK', mount_dict['/dev/sdg'])
|
|
self.assertEqual('/mnt/DAPLINK_', mount_dict['/dev/sdh'])
|
|
self.assertEqual('/mnt/DAPLINK__', mount_dict['/dev/sdi'])
|
|
|
|
def find_candidates_with_patch(self, mount_list, link_dict, listdir_dict, open_dict):
|
|
if not getattr(sys.modules['os'], 'readlink', None):
|
|
sys.modules['os'].readlink = None
|
|
|
|
def do_open(path, mode='r'):
|
|
path = path.replace('\\', '/')
|
|
file_object = mock_open(read_data=open_dict[path]).return_value
|
|
file_object.__iter__.return_value = open_dict[path].splitlines(True)
|
|
return file_object
|
|
|
|
with patch('mbed_lstools.linux.MbedLsToolsLinuxGeneric._run_cli_process') as _cliproc,\
|
|
patch('os.readlink') as _readlink,\
|
|
patch('os.listdir') as _listdir,\
|
|
patch('os.path.abspath') as _abspath,\
|
|
patch('mbed_os_tools.detect.linux.open', do_open) as _,\
|
|
patch('os.path.isdir') as _isdir:
|
|
_isdir.return_value = True
|
|
_cliproc.return_value = (b'\n'.join(mount_list), None, 0)
|
|
def do_readlink(link):
|
|
# Fix for testing on Windows
|
|
link = link.replace('\\', '/')
|
|
return link_dict[link]
|
|
_readlink.side_effect = do_readlink
|
|
def do_listdir(dir):
|
|
# Fix for testing on Windows
|
|
dir = dir.replace('\\', '/')
|
|
return listdir_dict[dir]
|
|
_listdir.side_effect = do_listdir
|
|
def do_abspath(dir):
|
|
_, path = os.path.splitdrive(
|
|
os.path.normpath(os.path.join(os.getcwd(), dir)))
|
|
path = path.replace('\\', '/')
|
|
return path
|
|
_abspath.side_effect = do_abspath
|
|
ret_val = self.linux_generic.find_candidates()
|
|
_cliproc.assert_called_once_with('mount')
|
|
return ret_val
|
|
|
|
|
|
listdir_dict_rpi = {
|
|
'/dev/disk/by-id': [
|
|
'usb-MBED_VFS_0240000028634e4500135006691700105f21000097969900-0:0',
|
|
'usb-MBED_VFS_0240000028884e450018700f6bf000338021000097969900-0:0',
|
|
'usb-MBED_VFS_0240000028884e45001f700f6bf000118021000097969900-0:0',
|
|
'usb-MBED_VFS_0240000028884e450036700f6bf000118021000097969900-0:0',
|
|
'usb-MBED_VFS_0240000029164e45001b0012706e000df301000097969900-0:0',
|
|
'usb-MBED_VFS_0240000029164e45002f0012706e0006f301000097969900-0:0',
|
|
'usb-MBED_VFS_9900000031864e45000a100e0000003c0000000097969901-0:0'
|
|
],
|
|
'/dev/serial/by-id': [
|
|
'usb-ARM_DAPLink_CMSIS-DAP_0240000028634e4500135006691700105f21000097969900-if01',
|
|
'usb-ARM_DAPLink_CMSIS-DAP_0240000028884e450018700f6bf000338021000097969900-if01',
|
|
'usb-ARM_DAPLink_CMSIS-DAP_0240000028884e450036700f6bf000118021000097969900-if01',
|
|
'usb-ARM_DAPLink_CMSIS-DAP_0240000029164e45001b0012706e000df301000097969900-if01',
|
|
'usb-ARM_BBC_micro:bit_CMSIS-DAP_9900000031864e45000a100e0000003c0000000097969901-if01'
|
|
],
|
|
'/sys/class/block': [
|
|
'sdb',
|
|
'sdc',
|
|
'sdd',
|
|
'sde',
|
|
'sdf',
|
|
'sdg',
|
|
'sdh',
|
|
],
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-1/1-1.2/1-1.2.6': [
|
|
'idVendor',
|
|
'idProduct'
|
|
],
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-3': [
|
|
'idVendor',
|
|
'idProduct'
|
|
],
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-4': [
|
|
'idVendor',
|
|
'idProduct'
|
|
],
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-5': [
|
|
'idVendor',
|
|
'idProduct'
|
|
],
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-6': [
|
|
'idVendor',
|
|
'idProduct'
|
|
],
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-7': [
|
|
'idVendor',
|
|
'idProduct'
|
|
],
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-8': [
|
|
'idVendor',
|
|
'idProduct'
|
|
]
|
|
}
|
|
|
|
open_dict_rpi = {
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-1/1-1.2/1-1.2.6/idVendor': '0d28\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-1/1-1.2/1-1.2.6/idProduct': '0204\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-3/idVendor': '0d28\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-3/idProduct': '0204\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-4/idVendor': '0d28\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-4/idProduct': '0204\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-5/idVendor': '0d28\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-5/idProduct': '0204\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-6/idVendor': '0d28\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-6/idProduct': '0204\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-7/idVendor': '0d28\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-7/idProduct': '0204\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-8/idVendor': '0d28\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-8/idProduct': '0204\n'
|
|
}
|
|
|
|
link_dict_rpi = {
|
|
'/dev/disk/by-id/usb-MBED_VFS_0240000028634e4500135006691700105f21000097969900-0:0': '../../sdb',
|
|
'/dev/disk/by-id/usb-MBED_VFS_0240000028884e450018700f6bf000338021000097969900-0:0': '../../sdc',
|
|
'/dev/disk/by-id/usb-MBED_VFS_0240000028884e45001f700f6bf000118021000097969900-0:0': '../../sdd',
|
|
'/dev/disk/by-id/usb-MBED_VFS_0240000028884e450036700f6bf000118021000097969900-0:0': '../../sde',
|
|
'/dev/disk/by-id/usb-MBED_VFS_0240000029164e45001b0012706e000df301000097969900-0:0': '../../sdf',
|
|
'/dev/disk/by-id/usb-MBED_VFS_0240000029164e45002f0012706e0006f301000097969900-0:0': '../../sdg',
|
|
'/dev/disk/by-id/usb-MBED_VFS_9900000031864e45000a100e0000003c0000000097969901-0:0': '../../sdh',
|
|
'/dev/serial/by-id/usb-ARM_DAPLink_CMSIS-DAP_0240000028634e4500135006691700105f21000097969900-if01': '../../ttyACM0',
|
|
'/dev/serial/by-id/usb-ARM_DAPLink_CMSIS-DAP_0240000028884e450018700f6bf000338021000097969900-if01': '../../ttyACM1',
|
|
'/dev/serial/by-id/usb-ARM_DAPLink_CMSIS-DAP_0240000028884e450036700f6bf000118021000097969900-if01': '../../ttyACM3',
|
|
'/dev/serial/by-id/usb-ARM_DAPLink_CMSIS-DAP_0240000029164e45001b0012706e000df301000097969900-if01': '../../ttyACM2',
|
|
'/dev/serial/by-id/usb-ARM_BBC_micro:bit_CMSIS-DAP_9900000031864e45000a100e0000003c0000000097969901-if01': '../../ttyACM4',
|
|
'/sys/class/block/sdb': '../../devices/pci0000:00/0000:00:06.0/usb1/1-1/1-1.2/1-1.2.6/1-1.2.6:1.0/host8568/target8568:0:0/8568:0:0:0/block/sdb',
|
|
'/sys/class/block/sdc': '../../devices/pci0000:00/0000:00:06.0/usb1/1-3/1-3:1.0/host4/target4:0:0/4:0:0:0/block/sdc',
|
|
'/sys/class/block/sdd': '../../devices/pci0000:00/0000:00:06.0/usb1/1-4/1-4:1.0/host5/target5:0:0/5:0:0:0/block/sdd',
|
|
'/sys/class/block/sde': '../../devices/pci0000:00/0000:00:06.0/usb1/1-5/1-5:1.0/host6/target6:0:0/6:0:0:0/block/sde',
|
|
'/sys/class/block/sdf': '../../devices/pci0000:00/0000:00:06.0/usb1/1-6/1-6:1.0/host7/target7:0:0/7:0:0:0/block/sdf',
|
|
'/sys/class/block/sdg': '../../devices/pci0000:00/0000:00:06.0/usb1/1-7/1-7:1.0/host8/target8:0:0/8:0:0:0/block/sdg',
|
|
'/sys/class/block/sdh': '../../devices/pci0000:00/0000:00:06.0/usb1/1-8/1-7:1.0/host9/target9:0:0/9:0:0:0/block/sdh'
|
|
}
|
|
|
|
mount_list_rpi = [
|
|
b'/dev/sdb on /media/usb0 type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)',
|
|
b'/dev/sdc on /media/usb1 type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)',
|
|
b'/dev/sdd on /media/usb2 type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)',
|
|
b'/dev/sde on /media/usb3 type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)',
|
|
b'/dev/sdf on /media/usb4 type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)',
|
|
b'/dev/sdg on /media/usb5 type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)',
|
|
b'/dev/sdh on /media/usb6 type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)'
|
|
]
|
|
def test_get_detected_rpi(self):
|
|
mbed_det = self.find_candidates_with_patch(
|
|
self.mount_list_rpi, self.link_dict_rpi, self.listdir_dict_rpi, self.open_dict_rpi)
|
|
|
|
self.assertIn({
|
|
'mount_point': '/media/usb0',
|
|
'serial_port': '/dev/ttyACM0',
|
|
'target_id_usb_id': '0240000028634e4500135006691700105f21000097969900',
|
|
'vendor_id': '0d28',
|
|
'product_id': '0204'
|
|
}, mbed_det)
|
|
self.assertIn({
|
|
'mount_point': '/media/usb1',
|
|
'serial_port': '/dev/ttyACM1',
|
|
'target_id_usb_id': '0240000028884e450018700f6bf000338021000097969900',
|
|
'vendor_id': '0d28',
|
|
'product_id': '0204'
|
|
}, mbed_det)
|
|
self.assertIn({
|
|
'mount_point': '/media/usb4',
|
|
'serial_port': '/dev/ttyACM2',
|
|
'target_id_usb_id': '0240000029164e45001b0012706e000df301000097969900',
|
|
'vendor_id': '0d28',
|
|
'product_id': '0204'
|
|
}, mbed_det)
|
|
self.assertIn({
|
|
'mount_point': '/media/usb3',
|
|
'serial_port': '/dev/ttyACM3',
|
|
'target_id_usb_id': '0240000028884e450036700f6bf000118021000097969900',
|
|
'vendor_id': '0d28',
|
|
'product_id': '0204'
|
|
}, mbed_det)
|
|
self.assertIn({
|
|
'mount_point': '/media/usb6',
|
|
'serial_port': '/dev/ttyACM4',
|
|
'target_id_usb_id': '9900000031864e45000a100e0000003c0000000097969901',
|
|
'vendor_id': '0d28',
|
|
'product_id': '0204'
|
|
}, mbed_det)
|
|
|
|
|
|
listdir_dict_1 = {
|
|
'/dev/disk/by-id': [
|
|
'/dev/disk/by-id/ata-HDS728080PLA380_40Y9028LEN_PFDB32S7S44XLM',
|
|
'/dev/disk/by-id/ata-HDS728080PLA380_40Y9028LEN_PFDB32S7S44XLM-part1',
|
|
'/dev/disk/by-id/ata-HDS728080PLA380_40Y9028LEN_PFDB32S7S44XLM-part2',
|
|
'/dev/disk/by-id/ata-HDS728080PLA380_40Y9028LEN_PFDB32S7S44XLM-part5',
|
|
'/dev/disk/by-id/ata-TSSTcorpDVD-ROM_TS-H352C',
|
|
'/dev/disk/by-id/usb-MBED_FDi_sk_A000000001-0:0',
|
|
'/dev/disk/by-id/usb-MBED_microcontroller_0240020152986E5EAF6693E6-0:0',
|
|
'/dev/disk/by-id/wwn-0x5000cca30ccffb77',
|
|
'/dev/disk/by-id/wwn-0x5000cca30ccffb77-part1',
|
|
'/dev/disk/by-id/wwn-0x5000cca30ccffb77-part2',
|
|
'/dev/disk/by-id/wwn-0x5000cca30ccffb77-part5',
|
|
],
|
|
'/dev/serial/by-id': [
|
|
'/dev/serial/by-id/usb-MBED_MBED_CMSIS-DAP_0240020152986E5EAF6693E6-if01',
|
|
'/dev/serial/by-id/usb-MBED_MBED_CMSIS-DAP_A000000001-if01',
|
|
],
|
|
'/sys/class/block': [
|
|
'sdb',
|
|
'sdc'
|
|
],
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-2': [
|
|
'idVendor',
|
|
'idProduct'
|
|
],
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-3': [
|
|
'idVendor',
|
|
'idProduct'
|
|
]
|
|
}
|
|
|
|
link_dict_1 = {
|
|
'/dev/disk/by-id/ata-HDS728080PLA380_40Y9028LEN_PFDB32S7S44XLM': '../../sda',
|
|
'/dev/disk/by-id/ata-HDS728080PLA380_40Y9028LEN_PFDB32S7S44XLM-part1': '../../sda1',
|
|
'/dev/disk/by-id/ata-HDS728080PLA380_40Y9028LEN_PFDB32S7S44XLM-part2': '../../sda2',
|
|
'/dev/disk/by-id/ata-HDS728080PLA380_40Y9028LEN_PFDB32S7S44XLM-part5': '../../sda5',
|
|
'/dev/disk/by-id/ata-TSSTcorpDVD-ROM_TS-H352C': '../../sr0',
|
|
'/dev/disk/by-id/usb-MBED_FDi_sk_A000000001-0:0': '../../sdc',
|
|
'/dev/disk/by-id/usb-MBED_microcontroller_0240020152986E5EAF6693E6-0:0': '../../sdb',
|
|
'/dev/disk/by-id/wwn-0x5000cca30ccffb77': '../../sda',
|
|
'/dev/disk/by-id/wwn-0x5000cca30ccffb77-part1': '../../sda1',
|
|
'/dev/disk/by-id/wwn-0x5000cca30ccffb77-part2': '../../sda2',
|
|
'/dev/disk/by-id/wwn-0x5000cca30ccffb77-part5': '../../sda5',
|
|
'/dev/serial/by-id/usb-MBED_MBED_CMSIS-DAP_0240020152986E5EAF6693E6-if01': '../../ttyACM1',
|
|
'/dev/serial/by-id/usb-MBED_MBED_CMSIS-DAP_A000000001-if01': '../../ttyACM0',
|
|
'/sys/class/block/sdb': '../../devices/pci0000:00/0000:00:06.0/usb1/1-2/1-2:1.0/host3/target3:0:0/3:0:0:0/block/sdb',
|
|
'/sys/class/block/sdc': '../../devices/pci0000:00/0000:00:06.0/usb1/1-3/1-3:1.0/host4/target4:0:0/4:0:0:0/block/sdc'
|
|
}
|
|
|
|
open_dict_1 = {
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-2/idVendor': '0d28\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-2/idProduct': '0204\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-3/idVendor': '0d28\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-3/idProduct': '0204\n'
|
|
}
|
|
|
|
mount_list_1 = [
|
|
b'/dev/sdb on /media/usb0 type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)',
|
|
b'/dev/sdc on /media/usb1 type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)'
|
|
]
|
|
def test_get_detected_1_k64f(self):
|
|
mbed_det = self.find_candidates_with_patch(
|
|
self.mount_list_1, self.link_dict_1, self.listdir_dict_1, self.open_dict_1)
|
|
self.assertIn({
|
|
'mount_point': '/media/usb0',
|
|
'serial_port': '/dev/ttyACM1',
|
|
'target_id_usb_id': '0240020152986E5EAF6693E6',
|
|
'vendor_id': '0d28',
|
|
'product_id': '0204'
|
|
}, mbed_det)
|
|
|
|
self.assertIn({
|
|
'mount_point': '/media/usb1',
|
|
'serial_port': '/dev/ttyACM0',
|
|
'target_id_usb_id': 'A000000001',
|
|
'vendor_id': '0d28',
|
|
'product_id': '0204'
|
|
}, mbed_det)
|
|
|
|
|
|
listdir_dict_2 = {
|
|
'/dev/disk/by-id': [
|
|
'ata-HDS728080PLA380_40Y9028LEN_PFDB32S7S44XLM',
|
|
'ata-HDS728080PLA380_40Y9028LEN_PFDB32S7S44XLM-part1',
|
|
'ata-HDS728080PLA380_40Y9028LEN_PFDB32S7S44XLM-part2',
|
|
'ata-HDS728080PLA380_40Y9028LEN_PFDB32S7S44XLM-part5',
|
|
'ata-TSSTcorpDVD-ROM_TS-H352C',
|
|
'usb-MBED_FDi_sk_A000000001-0:0',
|
|
'usb-MBED_microcontroller_02400201489A1E6CB564E3D4-0:0',
|
|
'usb-MBED_microcontroller_0240020152986E5EAF6693E6-0:0',
|
|
'usb-MBED_microcontroller_0240020152A06E54AF5E93EC-0:0',
|
|
'usb-MBED_microcontroller_0672FF485649785087171742-0:0',
|
|
'wwn-0x5000cca30ccffb77',
|
|
'wwn-0x5000cca30ccffb77-part1',
|
|
'wwn-0x5000cca30ccffb77-part2',
|
|
'wwn-0x5000cca30ccffb77-part5'
|
|
],
|
|
'/dev/serial/by-id': [
|
|
'usb-MBED_MBED_CMSIS-DAP_02400201489A1E6CB564E3D4-if01',
|
|
'usb-MBED_MBED_CMSIS-DAP_0240020152986E5EAF6693E6-if01',
|
|
'usb-MBED_MBED_CMSIS-DAP_0240020152A06E54AF5E93EC-if01',
|
|
'usb-MBED_MBED_CMSIS-DAP_A000000001-if01',
|
|
'usb-STMicroelectronics_STM32_STLink_0672FF485649785087171742-if02'
|
|
],
|
|
'/sys/class/block': [
|
|
'sdb',
|
|
'sdc',
|
|
'sdd',
|
|
'sde',
|
|
'sdf'
|
|
],
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-2': [
|
|
'idVendor',
|
|
'idProduct'
|
|
],
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-3': [
|
|
'idVendor',
|
|
'idProduct'
|
|
],
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-4': [
|
|
'idVendor',
|
|
'idProduct'
|
|
],
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-5': [
|
|
'idVendor',
|
|
'idProduct'
|
|
],
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-6': [
|
|
'idVendor',
|
|
'idProduct'
|
|
]
|
|
}
|
|
|
|
open_dict_2 = {
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-2/idVendor': '0d28\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-2/idProduct': '0204\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-3/idVendor': '0d28\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-3/idProduct': '0204\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-4/idVendor': '0d28\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-4/idProduct': '0204\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-5/idVendor': '0d28\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-5/idProduct': '0204\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-6/idVendor': '0d28\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-6/idProduct': '0204\n'
|
|
}
|
|
|
|
link_dict_2 = {
|
|
'/dev/disk/by-id/ata-HDS728080PLA380_40Y9028LEN_PFDB32S7S44XLM': '../../sda',
|
|
'/dev/disk/by-id/ata-HDS728080PLA380_40Y9028LEN_PFDB32S7S44XLM-part1': '../../sda1',
|
|
'/dev/disk/by-id/ata-HDS728080PLA380_40Y9028LEN_PFDB32S7S44XLM-part2': '../../sda2',
|
|
'/dev/disk/by-id/ata-HDS728080PLA380_40Y9028LEN_PFDB32S7S44XLM-part5': '../../sda5',
|
|
'/dev/disk/by-id/ata-TSSTcorpDVD-ROM_TS-H352C': '../../sr0',
|
|
'/dev/disk/by-id/usb-MBED_FDi_sk_A000000001-0:0': '../../sdc',
|
|
'/dev/disk/by-id/usb-MBED_microcontroller_02400201489A1E6CB564E3D4-0:0': '../../sde',
|
|
'/dev/disk/by-id/usb-MBED_microcontroller_0240020152986E5EAF6693E6-0:0': '../../sdb',
|
|
'/dev/disk/by-id/usb-MBED_microcontroller_0240020152A06E54AF5E93EC-0:0': '../../sdf',
|
|
'/dev/disk/by-id/usb-MBED_microcontroller_0672FF485649785087171742-0:0': '../../sdd',
|
|
'/dev/disk/by-id/wwn-0x5000cca30ccffb77': '../../sda',
|
|
'/dev/disk/by-id/wwn-0x5000cca30ccffb77-part1': '../../sda1',
|
|
'/dev/disk/by-id/wwn-0x5000cca30ccffb77-part2': '../../sda2',
|
|
'/dev/disk/by-id/wwn-0x5000cca30ccffb77-part5': '../../sda5',
|
|
'/dev/serial/by-id/usb-MBED_MBED_CMSIS-DAP_02400201489A1E6CB564E3D4-if01': '../../ttyACM3',
|
|
'/dev/serial/by-id/usb-MBED_MBED_CMSIS-DAP_0240020152986E5EAF6693E6-if01': '../../ttyACM1',
|
|
'/dev/serial/by-id/usb-MBED_MBED_CMSIS-DAP_0240020152A06E54AF5E93EC-if01': '../../ttyACM4',
|
|
'/dev/serial/by-id/usb-MBED_MBED_CMSIS-DAP_A000000001-if01': '../../ttyACM0',
|
|
'/dev/serial/by-id/usb-STMicroelectronics_STM32_STLink_0672FF485649785087171742-if02': '../../ttyACM2',
|
|
'/sys/class/block/sdb': '../../devices/pci0000:00/0000:00:06.0/usb1/1-2/1-2:1.0/host3/target3:0:0/3:0:0:0/block/sdb',
|
|
'/sys/class/block/sdc': '../../devices/pci0000:00/0000:00:06.0/usb1/1-3/1-3:1.0/host4/target4:0:0/4:0:0:0/block/sdc',
|
|
'/sys/class/block/sdd': '../../devices/pci0000:00/0000:00:06.0/usb1/1-4/1-4:1.0/host5/target5:0:0/5:0:0:0/block/sdd',
|
|
'/sys/class/block/sde': '../../devices/pci0000:00/0000:00:06.0/usb1/1-5/1-5:1.0/host6/target6:0:0/6:0:0:0/block/sde',
|
|
'/sys/class/block/sdf': '../../devices/pci0000:00/0000:00:06.0/usb1/1-6/1-6:1.0/host7/target7:0:0/7:0:0:0/block/sdf'
|
|
}
|
|
|
|
mount_list_2 = [
|
|
b'/dev/sdb on /media/usb0 type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)',
|
|
b'/dev/sdc on /media/usb1 type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)',
|
|
b'/dev/sdd on /media/usb2 type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)',
|
|
b'/dev/sde on /media/usb3 type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)',
|
|
b'/dev/sdf on /media/usb4 type vfat (rw,noexec,nodev,sync,noatime,nodiratime,gid=1000,uid=1000,dmask=000,fmask=000)'
|
|
]
|
|
def test_get_detected_2_k64f(self):
|
|
mbed_det = self.find_candidates_with_patch(
|
|
self.mount_list_2, self.link_dict_2, self.listdir_dict_2, self.open_dict_2)
|
|
|
|
self.assertIn({
|
|
'mount_point': '/media/usb1',
|
|
'serial_port': '/dev/ttyACM0',
|
|
'target_id_usb_id': 'A000000001',
|
|
'vendor_id': '0d28',
|
|
'product_id': '0204'
|
|
},
|
|
mbed_det)
|
|
self.assertIn({
|
|
'mount_point': '/media/usb2',
|
|
'serial_port': '/dev/ttyACM2',
|
|
'target_id_usb_id': '0672FF485649785087171742',
|
|
'vendor_id': '0d28',
|
|
'product_id': '0204'
|
|
},
|
|
mbed_det)
|
|
|
|
self.assertIn({
|
|
'mount_point': '/media/usb4',
|
|
'serial_port': '/dev/ttyACM4',
|
|
'target_id_usb_id': '0240020152A06E54AF5E93EC',
|
|
'vendor_id': '0d28',
|
|
'product_id': '0204'
|
|
},
|
|
mbed_det)
|
|
|
|
self.assertIn({
|
|
'mount_point': '/media/usb3',
|
|
'serial_port': '/dev/ttyACM3',
|
|
'target_id_usb_id': '02400201489A1E6CB564E3D4',
|
|
'vendor_id': '0d28',
|
|
'product_id': '0204'
|
|
},
|
|
mbed_det)
|
|
|
|
self.assertIn({
|
|
'mount_point': '/media/usb0',
|
|
'serial_port': '/dev/ttyACM1',
|
|
'target_id_usb_id': '0240020152986E5EAF6693E6',
|
|
'vendor_id': '0d28',
|
|
'product_id': '0204'
|
|
},
|
|
mbed_det)
|
|
|
|
|
|
listdir_dict_4 = {
|
|
'/dev/disk/by-id': [
|
|
'ata-VMware_Virtual_SATA_CDRW_Drive_00000000000000000001',
|
|
'ata-VMware_Virtual_SATA_CDRW_Drive_01000000000000000001',
|
|
'usb-MBED_VFS_0240000033514e45001f500585d40014e981000097969900-0:0'
|
|
],
|
|
'/dev/serial/by-id': [
|
|
'pci-ARM_DAPLink_CMSIS-DAP_0240000033514e45001f500585d40014e981000097969900-if01'
|
|
],
|
|
'/sys/class/block': [
|
|
'sdb'
|
|
],
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-2': [
|
|
'idVendor',
|
|
'idProduct'
|
|
],
|
|
}
|
|
|
|
open_dict_4 = {
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-2/idVendor': '0d28\n',
|
|
'/sys/class/block/../../devices/pci0000:00/0000:00:06.0/usb1/1-2/idProduct': '0204\n'
|
|
}
|
|
|
|
link_dict_4 = {
|
|
'/dev/disk/by-id/ata-VMware_Virtual_SATA_CDRW_Drive_00000000000000000001': '../../sr0',
|
|
'/dev/disk/by-id/ata-VMware_Virtual_SATA_CDRW_Drive_01000000000000000001': '../../sr1',
|
|
'/dev/disk/by-id/usb-MBED_VFS_0240000033514e45001f500585d40014e981000097969900-0:0': '../../sdb',
|
|
'/dev/serial/by-id/pci-ARM_DAPLink_CMSIS-DAP_0240000033514e45001f500585d40014e981000097969900-if01': '../../ttyACM0',
|
|
'/sys/class/block/sdb': '../../devices/pci0000:00/0000:00:06.0/usb1/1-2/1-2:1.0/host3/target3:0:0/3:0:0:0/block/sdb'
|
|
}
|
|
|
|
mount_list_4 = [
|
|
b'/dev/sdb on /media/przemek/DAPLINK type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2)'
|
|
]
|
|
def test_get_detected_3_k64f(self):
|
|
mbed_det = self.find_candidates_with_patch(
|
|
self.mount_list_4, self.link_dict_4, self.listdir_dict_4, self.open_dict_4)
|
|
|
|
self.assertIn({
|
|
'mount_point': '/media/przemek/DAPLINK',
|
|
'serial_port': '/dev/ttyACM0',
|
|
'target_id_usb_id': '0240000033514e45001f500585d40014e981000097969900',
|
|
'vendor_id': '0d28',
|
|
'product_id': '0204'
|
|
},
|
|
mbed_det)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|