Exemplo n.º 1
0
def test_has_hotplug():
    session = usb.UsbSession()
    if session.has_hotplug:
        print("has hotplug!")
    else:
        print("Does NOT have hotplug!")
    assert isinstance(session.has_hotplug, bool)
Exemplo n.º 2
0
def test_has_hid_access():
    session = usb.UsbSession()
    if session.has_hid_access:
        print("has HID access!")
    else:
        print("Does NOT have HID access!")
    assert isinstance(session.has_hid_access, bool)
Exemplo n.º 3
0
def test_supports_detach_kernel_driver():
    session = usb.UsbSession()
    if session.supports_detach_kernel_driver:
        print("Supports detach kernel driver!")
    else:
        print("Does NOT support detach kernel driver!")
    assert isinstance(session.supports_detach_kernel_driver, bool)
Exemplo n.º 4
0
def test_interfaces():
    session = usb.UsbSession()
    dev = session.find(0x18d1, 0x4ee7)
    cf = dev.active_configuration
    for interface in cf.interfaces:
        print(interface)
    assert isinstance(interface, usb.UsbInterface)
Exemplo n.º 5
0
def test_detach_kernel_driver():
    session = usb.UsbSession()
    dev = session.find(0x18d1, 0x4ee7)
    dev.open()
    dev.detach_kernel_driver(0)
    assert dev.is_kernel_driver_active(0) is False
    dev.attach_kernel_driver(0)
    dev.close()
Exemplo n.º 6
0
def test_open():
    session = usb.UsbSession()
    dev = session.find(0x18d1, 0x4ee7)  # Google Pixel XL
    assert dev is not None
    dev.open()
    conf = dev.configuration
    assert conf is not None, "Got None for configuration on opened device."
    dev.close()
Exemplo n.º 7
0
def test_device_class():
    session = usb.UsbSession()
    dev = session.find(
        0x0a12,
        0x0001)  # Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
    assert dev is not None
    print(dev)
    print(dev.Class)
    assert isinstance(dev.Class, usb.DeviceClass)
Exemplo n.º 8
0
def test_find_device_with_serial():
    ANDROID_SERIAL = os.environ.get("ANDROID_SERIAL")
    session = usb.UsbSession()
    dev = session.find(0x18d1, 0x4ee7,
                       serial=ANDROID_SERIAL)  # Google Pixel XL
    assert dev is not None
    dev.open()
    print(dev)
    assert dev.serial == ANDROID_SERIAL
    dev.close()
Exemplo n.º 9
0
def test_operate_on_closed():
    session = usb.UsbSession()
    dev = session.find(0x18d1, 0x4ee7)  # Google Pixel XL
    assert dev is not None
    try:
        conf = dev.configuration
    except usb.UsbUsageError as err:
        pass
    else:
        raise AssertionError("Didn't raise UsbUsageError as expected.")
Exemplo n.º 10
0
def test_parent():
    session = usb.UsbSession()
    dev = session.find(
        0x0a12,
        0x0001)  # Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
    assert dev is not None
    print(dev)
    dev2 = dev.parent
    print(dev2)
    assert dev2 is not None
    del session
Exemplo n.º 11
0
def test_find_device():
    session = usb.UsbSession()
    if sys.platform == "darwin":  # TODO a better MacOS selector
        dev = session.find(0x05ac, 0x0274)  # Apple keyboard and trackpad
        if dev is None:
            dev = session.find(0x2109, 0x0812)  # USB 3.0 Hub
    else:
        dev = session.find(0x1d6b, 0x0002)  # Linux Foundation 2.0 root hub
    del session
    assert dev is not None
    print(dev)
Exemplo n.º 12
0
def test_open_str():
    session = usb.UsbSession()
    dev = session.find(0x18d1, 0x4ee7)  # Google Pixel XL
    assert dev is not None
    s = str(dev)
    print(s)
    assert "closed" in s
    dev.open()
    s = str(dev)
    assert "open" in s
    print(s)
    dev.close()
Exemplo n.º 13
0
def test_endpoints():
    session = usb.UsbSession()
    dev = session.find(0x18d1, 0x4ee7)
    cf = dev.active_configuration
    for interface in cf.interfaces:
        for endpoint in interface.endpoints:
            print(endpoint)
    assert isinstance(endpoint, usb.UsbEndpoint)
    print("Last endpoint direction:", endpoint.direction)
    print("Last endpoint transfer_type:", endpoint.transfer_type)
    print("Last endpoint address:", endpoint.address)
    print("Last endpoint extra:", endpoint.extra)
Exemplo n.º 14
0
def test_is_kernel_driver_active():
    session = usb.UsbSession()
    dev = session.find(0x18d1, 0x4ee7)
    dev.open()
    assert dev.is_kernel_driver_active(0) is True
    dev.close()
Exemplo n.º 15
0
def test_configurations():
    session = usb.UsbSession()
    dev = session.find(0x18d1, 0x4ee7)
    for cf in dev.configurations:
        assert isinstance(cf, usb.Configuration)
        print(cf)
Exemplo n.º 16
0
def test_device_count():
    session = usb.UsbSession()
    count = session.device_count
    assert count > 0
    print("device count:", count)
    del session
Exemplo n.º 17
0
def test_active_configuration():
    session = usb.UsbSession()
    dev = session.find(0x18d1, 0x4ee7)
    cf = dev.active_configuration
    assert isinstance(cf, usb.Configuration)
    print(cf)