mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #11458 from fkjagodzinski/test_update-usb_device-fix_pyusb_backend
Tests: USB: Use libusb0 backend on Windowspull/11595/head
commit
a1961de8a2
|
@ -38,6 +38,14 @@ from usb.util import (DESC_TYPE_DEVICE, DESC_TYPE_CONFIG, DESC_TYPE_STRING,
|
||||||
|
|
||||||
import struct
|
import struct
|
||||||
|
|
||||||
|
if sys.platform.startswith('win'):
|
||||||
|
# Use libusb0 on Windows. libusb1 implementation for Windows
|
||||||
|
# does not support all features necessary for testing.
|
||||||
|
import usb.backend.libusb0
|
||||||
|
USB_BACKEND = usb.backend.libusb0.get_backend()
|
||||||
|
else:
|
||||||
|
# Use a default backend on other platforms.
|
||||||
|
USB_BACKEND = None
|
||||||
|
|
||||||
def get_interface(dev, interface, alternate=0):
|
def get_interface(dev, interface, alternate=0):
|
||||||
intf = None
|
intf = None
|
||||||
|
@ -314,11 +322,10 @@ class PyusbBasicTest(BaseHostTest):
|
||||||
def find_device(self, serial_number):
|
def find_device(self, serial_number):
|
||||||
# to make it more reliable, 20 retries in 2[s]
|
# to make it more reliable, 20 retries in 2[s]
|
||||||
for _ in range(20):
|
for _ in range(20):
|
||||||
dev = usb.core.find(custom_match=TestMatch(serial_number))
|
dev = usb.core.find(custom_match=TestMatch(serial_number), backend=USB_BACKEND)
|
||||||
if dev is not None:
|
if dev is not None:
|
||||||
break
|
break
|
||||||
time.sleep(0.1)
|
time.sleep(0.1)
|
||||||
|
|
||||||
if dev is None:
|
if dev is None:
|
||||||
self.log("Device not found")
|
self.log("Device not found")
|
||||||
self.send_kv("failed", "0")
|
self.send_kv("failed", "0")
|
||||||
|
|
|
@ -19,6 +19,7 @@ import functools
|
||||||
import time
|
import time
|
||||||
import threading
|
import threading
|
||||||
import uuid
|
import uuid
|
||||||
|
import sys
|
||||||
import mbed_host_tests
|
import mbed_host_tests
|
||||||
import usb.core
|
import usb.core
|
||||||
from usb.util import (
|
from usb.util import (
|
||||||
|
@ -31,6 +32,15 @@ from usb.util import (
|
||||||
DESC_TYPE_CONFIG,
|
DESC_TYPE_CONFIG,
|
||||||
build_request_type)
|
build_request_type)
|
||||||
|
|
||||||
|
if sys.platform.startswith('win'):
|
||||||
|
# Use libusb0 on Windows. libusb1 implementation for Windows
|
||||||
|
# does not support all features necessary for testing.
|
||||||
|
import usb.backend.libusb0
|
||||||
|
USB_BACKEND = usb.backend.libusb0.get_backend()
|
||||||
|
else:
|
||||||
|
# Use a default backend on other platforms.
|
||||||
|
USB_BACKEND = None
|
||||||
|
|
||||||
try:
|
try:
|
||||||
import hid
|
import hid
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
@ -232,7 +242,7 @@ class USBHIDTest(mbed_host_tests.BaseHostTest):
|
||||||
during test suite setup.
|
during test suite setup.
|
||||||
Raises RuntimeError if the device is not found.
|
Raises RuntimeError if the device is not found.
|
||||||
"""
|
"""
|
||||||
usb_dev = usb.core.find(custom_match=lambda d: d.serial_number == usb_id_str)
|
usb_dev = usb.core.find(custom_match=lambda d: d.serial_number == usb_id_str, backend=USB_BACKEND)
|
||||||
if usb_dev is None:
|
if usb_dev is None:
|
||||||
err_msg = 'USB device (SN={}) not found.'
|
err_msg = 'USB device (SN={}) not found.'
|
||||||
raise RuntimeError(err_msg.format(usb_id_str))
|
raise RuntimeError(err_msg.format(usb_id_str))
|
||||||
|
|
Loading…
Reference in New Issue