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
|
||||
|
||||
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):
|
||||
intf = None
|
||||
|
@ -314,11 +322,10 @@ class PyusbBasicTest(BaseHostTest):
|
|||
def find_device(self, serial_number):
|
||||
# to make it more reliable, 20 retries in 2[s]
|
||||
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:
|
||||
break
|
||||
time.sleep(0.1)
|
||||
|
||||
if dev is None:
|
||||
self.log("Device not found")
|
||||
self.send_kv("failed", "0")
|
||||
|
|
|
@ -19,6 +19,7 @@ import functools
|
|||
import time
|
||||
import threading
|
||||
import uuid
|
||||
import sys
|
||||
import mbed_host_tests
|
||||
import usb.core
|
||||
from usb.util import (
|
||||
|
@ -31,6 +32,15 @@ from usb.util import (
|
|||
DESC_TYPE_CONFIG,
|
||||
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:
|
||||
import hid
|
||||
except ImportError:
|
||||
|
@ -232,7 +242,7 @@ class USBHIDTest(mbed_host_tests.BaseHostTest):
|
|||
during test suite setup.
|
||||
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:
|
||||
err_msg = 'USB device (SN={}) not found.'
|
||||
raise RuntimeError(err_msg.format(usb_id_str))
|
||||
|
|
Loading…
Reference in New Issue