question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Test suite is not compatible with pytest

See original GitHub issue
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-pyusb-1.0.2-11.fc34.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/python3 setup.py pytest
running pytest
running egg_info
writing pyusb.egg-info/PKG-INFO
writing dependency_links to pyusb.egg-info/dependency_links.txt
writing top-level names to pyusb.egg-info/top_level.txt
reading manifest file 'pyusb.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'ChangeLog'
warning: no files found matching 'ReleaseNotes.rst'
writing manifest file 'pyusb.egg-info/SOURCES.txt'
running build_ext
========================================================================================= test session starts ==========================================================================================
platform linux -- Python 3.8.3, pytest-4.6.9, py-1.8.0, pluggy-0.13.1
hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase('/home/tkloczko/rpmbuild/BUILD/pyusb-1.0.2/.hypothesis/examples')
rootdir: /home/tkloczko/rpmbuild/BUILD/pyusb-1.0.2
plugins: forked-1.1.1, mock-1.10.4, expect-1.1.0, hypothesis-4.23.8, xdist-1.31.0, httpbin-0.3.0, cov-2.8.1, timeout-1.3.4, rerunfailures-8.0, flaky-3.6.1
collected 62 items

tests/test_backend.py FFFFFFFFFFFFFFFFF                                                                                                                                                          [ 27%]
tests/test_control.py FFFFFF                                                                                                                                                                     [ 37%]
tests/test_find.py .                                                                                                                                                                             [ 38%]
tests/test_integration.py FFFFFFFFFFFEEEE                                                                                                                                                        [ 62%]
tests/test_legacy.py EEEEEEEEEEEEEEEEE                                                                                                                                                           [ 90%]
tests/test_util.py ......                                                                                                                                                                        [100%]

================================================================================================ ERRORS ================================================================================================
___________________________________________________________________________ ERROR at setup of InterfaceTest.test_attributes ____________________________________________________________________________

self = <test_integration.InterfaceTest testMethod=runTest>, dev = 'test_attributes'

    @methodtrace(utils.logger)
    def __init__(self, dev):
        unittest.TestCase.__init__(self)
        self.dev = dev
>       self.intf = dev[0][(0,0)]
E       TypeError: string indices must be integers

tests/test_integration.py:302: TypeError
_________________________________________________________________________ ERROR at setup of InterfaceTest.test_set_altsetting __________________________________________________________________________

self = <test_integration.InterfaceTest testMethod=runTest>, dev = 'test_set_altsetting'

    @methodtrace(utils.logger)
    def __init__(self, dev):
        unittest.TestCase.__init__(self)
        self.dev = dev
>       self.intf = dev[0][(0,0)]
E       TypeError: string indices must be integers

tests/test_integration.py:302: TypeError
____________________________________________________________________________ ERROR at setup of EndpointTest.test_attributes ____________________________________________________________________________

self = <test_integration.EndpointTest testMethod=runTest>, dev = 'test_attributes'

    @methodtrace(utils.logger)
    def __init__(self, dev):
        unittest.TestCase.__init__(self)
        self.dev = dev
>       intf = dev[0][(0,0)]
E       TypeError: string indices must be integers

tests/test_integration.py:334: TypeError
____________________________________________________________________________ ERROR at setup of EndpointTest.test_write_read ____________________________________________________________________________

self = <test_integration.EndpointTest testMethod=runTest>, dev = 'test_write_read'

    @methodtrace(utils.logger)
    def __init__(self, dev):
        unittest.TestCase.__init__(self)
        self.dev = dev
>       intf = dev[0][(0,0)]
E       TypeError: string indices must be integers

tests/test_integration.py:334: TypeError
__________________________________________________________________________ ERROR at setup of LegacyTest.test_bulk_write_read ___________________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f33bb6cb4c0>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)

    @classmethod
    def from_call(cls, func, when, reraise=None):
        #: context of invocation: one of "setup", "call",
        #: "teardown", "memocollect"
        start = time()
        excinfo = None
        try:
>           result = func()

/usr/lib/python3.8/site-packages/_pytest/runner.py:226:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:198: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/hooks.py:286: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:93: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:84: in <lambda>
    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
/usr/lib/python3.8/site-packages/_pytest/runner.py:116: in pytest_runtest_setup
    item.session._setupstate.prepare(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:362: in prepare
    col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <TestCaseFunction test_bulk_write_read>

    def setup(self):
>       self._testcase = self.parent.obj(self.name)
E       TypeError: __init__() takes 1 positional argument but 2 were given

/usr/lib/python3.8/site-packages/_pytest/unittest.py:115: TypeError
__________________________________________________________________________ ERROR at setup of LegacyTest.test_claim_interface ___________________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f33bb6cb550>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)

    @classmethod
    def from_call(cls, func, when, reraise=None):
        #: context of invocation: one of "setup", "call",
        #: "teardown", "memocollect"
        start = time()
        excinfo = None
        try:
>           result = func()

/usr/lib/python3.8/site-packages/_pytest/runner.py:226:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:198: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/hooks.py:286: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:93: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:84: in <lambda>
    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
/usr/lib/python3.8/site-packages/_pytest/runner.py:116: in pytest_runtest_setup
    item.session._setupstate.prepare(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:362: in prepare
    col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <TestCaseFunction test_claim_interface>

    def setup(self):
>       self._testcase = self.parent.obj(self.name)
E       TypeError: __init__() takes 1 positional argument but 2 were given

/usr/lib/python3.8/site-packages/_pytest/unittest.py:115: TypeError
_____________________________________________________________________________ ERROR at setup of LegacyTest.test_clear_halt _____________________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f33bb6cb0d0>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)

    @classmethod
    def from_call(cls, func, when, reraise=None):
        #: context of invocation: one of "setup", "call",
        #: "teardown", "memocollect"
        start = time()
        excinfo = None
        try:
>           result = func()

/usr/lib/python3.8/site-packages/_pytest/runner.py:226:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:198: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/hooks.py:286: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:93: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:84: in <lambda>
    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
/usr/lib/python3.8/site-packages/_pytest/runner.py:116: in pytest_runtest_setup
    item.session._setupstate.prepare(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:362: in prepare
    col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <TestCaseFunction test_clear_halt>

    def setup(self):
>       self._testcase = self.parent.obj(self.name)
E       TypeError: __init__() takes 1 positional argument but 2 were given

/usr/lib/python3.8/site-packages/_pytest/unittest.py:115: TypeError
____________________________________________________________________________ ERROR at setup of LegacyTest.test_close_device ____________________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f33bb68c5e0>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)

    @classmethod
    def from_call(cls, func, when, reraise=None):
        #: context of invocation: one of "setup", "call",
        #: "teardown", "memocollect"
        start = time()
        excinfo = None
        try:
>           result = func()

/usr/lib/python3.8/site-packages/_pytest/runner.py:226:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:198: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/hooks.py:286: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:93: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:84: in <lambda>
    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
/usr/lib/python3.8/site-packages/_pytest/runner.py:116: in pytest_runtest_setup
    item.session._setupstate.prepare(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:362: in prepare
    col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <TestCaseFunction test_close_device>

    def setup(self):
>       self._testcase = self.parent.obj(self.name)
E       TypeError: __init__() takes 1 positional argument but 2 were given

/usr/lib/python3.8/site-packages/_pytest/unittest.py:115: TypeError
______________________________________________________________________ ERROR at setup of LegacyTest.test_configuration_descriptor ______________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f33bb68ca60>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)

    @classmethod
    def from_call(cls, func, when, reraise=None):
        #: context of invocation: one of "setup", "call",
        #: "teardown", "memocollect"
        start = time()
        excinfo = None
        try:
>           result = func()

/usr/lib/python3.8/site-packages/_pytest/runner.py:226:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:198: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/hooks.py:286: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:93: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:84: in <lambda>
    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
/usr/lib/python3.8/site-packages/_pytest/runner.py:116: in pytest_runtest_setup
    item.session._setupstate.prepare(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:362: in prepare
    col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <TestCaseFunction test_configuration_descriptor>

    def setup(self):
>       self._testcase = self.parent.obj(self.name)
E       TypeError: __init__() takes 1 positional argument but 2 were given

/usr/lib/python3.8/site-packages/_pytest/unittest.py:115: TypeError
___________________________________________________________________________ ERROR at setup of LegacyTest.test_ctrl_transfer ____________________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f33bb68cc10>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)

    @classmethod
    def from_call(cls, func, when, reraise=None):
        #: context of invocation: one of "setup", "call",
        #: "teardown", "memocollect"
        start = time()
        excinfo = None
        try:
>           result = func()

/usr/lib/python3.8/site-packages/_pytest/runner.py:226:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:198: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/hooks.py:286: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:93: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:84: in <lambda>
    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
/usr/lib/python3.8/site-packages/_pytest/runner.py:116: in pytest_runtest_setup
    item.session._setupstate.prepare(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:362: in prepare
    col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <TestCaseFunction test_ctrl_transfer>

    def setup(self):
>       self._testcase = self.parent.obj(self.name)
E       TypeError: __init__() takes 1 positional argument but 2 were given

/usr/lib/python3.8/site-packages/_pytest/unittest.py:115: TypeError
_________________________________________________________________________ ERROR at setup of LegacyTest.test_device_descriptor __________________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f33bb68cdc0>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)

    @classmethod
    def from_call(cls, func, when, reraise=None):
        #: context of invocation: one of "setup", "call",
        #: "teardown", "memocollect"
        start = time()
        excinfo = None
        try:
>           result = func()

/usr/lib/python3.8/site-packages/_pytest/runner.py:226:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:198: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/hooks.py:286: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:93: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:84: in <lambda>
    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
/usr/lib/python3.8/site-packages/_pytest/runner.py:116: in pytest_runtest_setup
    item.session._setupstate.prepare(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:362: in prepare
    col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <TestCaseFunction test_device_descriptor>

    def setup(self):
>       self._testcase = self.parent.obj(self.name)
E       TypeError: __init__() takes 1 positional argument but 2 were given

/usr/lib/python3.8/site-packages/_pytest/unittest.py:115: TypeError
________________________________________________________________________ ERROR at setup of LegacyTest.test_endpoint_descriptor _________________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f33bb68cf70>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)

    @classmethod
    def from_call(cls, func, when, reraise=None):
        #: context of invocation: one of "setup", "call",
        #: "teardown", "memocollect"
        start = time()
        excinfo = None
        try:
>           result = func()

/usr/lib/python3.8/site-packages/_pytest/runner.py:226:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:198: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/hooks.py:286: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:93: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:84: in <lambda>
    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
/usr/lib/python3.8/site-packages/_pytest/runner.py:116: in pytest_runtest_setup
    item.session._setupstate.prepare(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:362: in prepare
    col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <TestCaseFunction test_endpoint_descriptor>

    def setup(self):
>       self._testcase = self.parent.obj(self.name)
E       TypeError: __init__() takes 1 positional argument but 2 were given

/usr/lib/python3.8/site-packages/_pytest/unittest.py:115: TypeError
____________________________________________________________________________ ERROR at setup of LegacyTest.test_find_device _____________________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f33bb68caf0>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)

    @classmethod
    def from_call(cls, func, when, reraise=None):
        #: context of invocation: one of "setup", "call",
        #: "teardown", "memocollect"
        start = time()
        excinfo = None
        try:
>           result = func()

/usr/lib/python3.8/site-packages/_pytest/runner.py:226:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:198: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/hooks.py:286: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:93: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:84: in <lambda>
    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
/usr/lib/python3.8/site-packages/_pytest/runner.py:116: in pytest_runtest_setup
    item.session._setupstate.prepare(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:362: in prepare
    col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <TestCaseFunction test_find_device>

    def setup(self):
>       self._testcase = self.parent.obj(self.name)
E       TypeError: __init__() takes 1 positional argument but 2 were given

/usr/lib/python3.8/site-packages/_pytest/unittest.py:115: TypeError
___________________________________________________________________________ ERROR at setup of LegacyTest.test_get_descriptor ___________________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f33bb68c550>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)

    @classmethod
    def from_call(cls, func, when, reraise=None):
        #: context of invocation: one of "setup", "call",
        #: "teardown", "memocollect"
        start = time()
        excinfo = None
        try:
>           result = func()

/usr/lib/python3.8/site-packages/_pytest/runner.py:226:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:198: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/hooks.py:286: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:93: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:84: in <lambda>
    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
/usr/lib/python3.8/site-packages/_pytest/runner.py:116: in pytest_runtest_setup
    item.session._setupstate.prepare(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:362: in prepare
    col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <TestCaseFunction test_get_descriptor>

    def setup(self):
>       self._testcase = self.parent.obj(self.name)
E       TypeError: __init__() takes 1 positional argument but 2 were given

/usr/lib/python3.8/site-packages/_pytest/unittest.py:115: TypeError
_____________________________________________________________________________ ERROR at setup of LegacyTest.test_get_string _____________________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f33bb68c8b0>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)

    @classmethod
    def from_call(cls, func, when, reraise=None):
        #: context of invocation: one of "setup", "call",
        #: "teardown", "memocollect"
        start = time()
        excinfo = None
        try:
>           result = func()

/usr/lib/python3.8/site-packages/_pytest/runner.py:226:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:198: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/hooks.py:286: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:93: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:84: in <lambda>
    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
/usr/lib/python3.8/site-packages/_pytest/runner.py:116: in pytest_runtest_setup
    item.session._setupstate.prepare(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:362: in prepare
    col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <TestCaseFunction test_get_string>

    def setup(self):
>       self._testcase = self.parent.obj(self.name)
E       TypeError: __init__() takes 1 positional argument but 2 were given

/usr/lib/python3.8/site-packages/_pytest/unittest.py:115: TypeError
________________________________________________________________________ ERROR at setup of LegacyTest.test_interface_descriptor ________________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f33bb68c9d0>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)

    @classmethod
    def from_call(cls, func, when, reraise=None):
        #: context of invocation: one of "setup", "call",
        #: "teardown", "memocollect"
        start = time()
        excinfo = None
        try:
>           result = func()

/usr/lib/python3.8/site-packages/_pytest/runner.py:226:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:198: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/hooks.py:286: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:93: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:84: in <lambda>
    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
/usr/lib/python3.8/site-packages/_pytest/runner.py:116: in pytest_runtest_setup
    item.session._setupstate.prepare(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:362: in prepare
    col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <TestCaseFunction test_interface_descriptor>

    def setup(self):
>       self._testcase = self.parent.obj(self.name)
E       TypeError: __init__() takes 1 positional argument but 2 were given

/usr/lib/python3.8/site-packages/_pytest/unittest.py:115: TypeError
__________________________________________________________________________ ERROR at setup of LegacyTest.test_intr_write_read ___________________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f33bb68c1f0>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)

    @classmethod
    def from_call(cls, func, when, reraise=None):
        #: context of invocation: one of "setup", "call",
        #: "teardown", "memocollect"
        start = time()
        excinfo = None
        try:
>           result = func()

/usr/lib/python3.8/site-packages/_pytest/runner.py:226:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:198: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/hooks.py:286: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:93: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:84: in <lambda>
    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
/usr/lib/python3.8/site-packages/_pytest/runner.py:116: in pytest_runtest_setup
    item.session._setupstate.prepare(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:362: in prepare
    col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <TestCaseFunction test_intr_write_read>

    def setup(self):
>       self._testcase = self.parent.obj(self.name)
E       TypeError: __init__() takes 1 positional argument but 2 were given

/usr/lib/python3.8/site-packages/_pytest/unittest.py:115: TypeError
____________________________________________________________________________ ERROR at setup of LegacyTest.test_open_device _____________________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f33bb68c0d0>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)

    @classmethod
    def from_call(cls, func, when, reraise=None):
        #: context of invocation: one of "setup", "call",
        #: "teardown", "memocollect"
        start = time()
        excinfo = None
        try:
>           result = func()

/usr/lib/python3.8/site-packages/_pytest/runner.py:226:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:198: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/hooks.py:286: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:93: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:84: in <lambda>
    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
/usr/lib/python3.8/site-packages/_pytest/runner.py:116: in pytest_runtest_setup
    item.session._setupstate.prepare(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:362: in prepare
    col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <TestCaseFunction test_open_device>

    def setup(self):
>       self._testcase = self.parent.obj(self.name)
E       TypeError: __init__() takes 1 positional argument but 2 were given

/usr/lib/python3.8/site-packages/_pytest/unittest.py:115: TypeError
_________________________________________________________________________ ERROR at setup of LegacyTest.test_release_interface __________________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f33bb68cd30>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)

    @classmethod
    def from_call(cls, func, when, reraise=None):
        #: context of invocation: one of "setup", "call",
        #: "teardown", "memocollect"
        start = time()
        excinfo = None
        try:
>           result = func()

/usr/lib/python3.8/site-packages/_pytest/runner.py:226:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:198: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/hooks.py:286: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:93: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:84: in <lambda>
    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
/usr/lib/python3.8/site-packages/_pytest/runner.py:116: in pytest_runtest_setup
    item.session._setupstate.prepare(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:362: in prepare
    col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <TestCaseFunction test_release_interface>

    def setup(self):
>       self._testcase = self.parent.obj(self.name)
E       TypeError: __init__() takes 1 positional argument but 2 were given

/usr/lib/python3.8/site-packages/_pytest/unittest.py:115: TypeError
_________________________________________________________________________ ERROR at setup of LegacyTest.test_set_configuration __________________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f33bb68c160>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)

    @classmethod
    def from_call(cls, func, when, reraise=None):
        #: context of invocation: one of "setup", "call",
        #: "teardown", "memocollect"
        start = time()
        excinfo = None
        try:
>           result = func()

/usr/lib/python3.8/site-packages/_pytest/runner.py:226:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:198: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/hooks.py:286: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:93: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:84: in <lambda>
    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
/usr/lib/python3.8/site-packages/_pytest/runner.py:116: in pytest_runtest_setup
    item.session._setupstate.prepare(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:362: in prepare
    col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <TestCaseFunction test_set_configuration>

    def setup(self):
>       self._testcase = self.parent.obj(self.name)
E       TypeError: __init__() takes 1 positional argument but 2 were given

/usr/lib/python3.8/site-packages/_pytest/unittest.py:115: TypeError
______________________________________________________________________ ERROR at setup of LegacyTest.test_set_interface_altsetting ______________________________________________________________________

cls = <class '_pytest.runner.CallInfo'>, func = <function call_runtest_hook.<locals>.<lambda> at 0x7f33bb68ce50>, when = 'setup'
reraise = (<class '_pytest.outcomes.Exit'>, <class 'KeyboardInterrupt'>)

    @classmethod
    def from_call(cls, func, when, reraise=None):
        #: context of invocation: one of "setup", "call",
        #: "teardown", "memocollect"
        start = time()
        excinfo = None
        try:
>           result = func()

/usr/lib/python3.8/site-packages/_pytest/runner.py:226:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/_pytest/runner.py:198: in <lambda>
    lambda: ihook(item=item, **kwds), when=when, reraise=reraise
/usr/lib/python3.8/site-packages/pluggy/hooks.py:286: in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:93: in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
/usr/lib/python3.8/site-packages/pluggy/manager.py:84: in <lambda>
    self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
/usr/lib/python3.8/site-packages/_pytest/runner.py:116: in pytest_runtest_setup
    item.session._setupstate.prepare(item)
/usr/lib/python3.8/site-packages/_pytest/runner.py:362: in prepare
    col.setup()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <TestCaseFunction test_set_interface_altsetting>

    def setup(self):
>       self._testcase = self.parent.obj(self.name)
E       TypeError: __init__() takes 1 positional argument but 2 were given

/usr/lib/python3.8/site-packages/_pytest/unittest.py:115: TypeError
=============================================================================================== FAILURES ===============================================================================================
___________________________________________________________________________________ BackendTest.test_bulk_write_read ___________________________________________________________________________________

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_enumerate_devices()

tests/test_backend.py:49:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_enumerate_devices(self):
>       for d in self.backend.enumerate_devices():
E       AttributeError: 'str' object has no attribute 'enumerate_devices'

tests/test_backend.py:76: AttributeError

During handling of the above exception, another exception occurred:

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_enumerate_devices()
            self.test_get_device_descriptor()
            self.test_get_configuration_descriptor()
            self.test_get_interface_descriptor()
            self.test_get_endpoint_descriptor()
            self.test_open_device()
            self.test_set_configuration()
            self.test_claim_interface()
            self.test_set_interface_altsetting()
            self.test_clear_halt()
            self.test_bulk_write_read()
            self.test_intr_write_read()
            self.test_iso_write_read()
            self.test_ctrl_transfer()
        except:
            # do this to not influence other tests upon error
>           intf = self.backend.get_interface_descriptor(self.dev, 0, 0, 0)
E           AttributeError: 'str' object has no attribute 'get_interface_descriptor'

tests/test_backend.py:65: AttributeError
___________________________________________________________________________________ BackendTest.test_claim_interface ___________________________________________________________________________________

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_enumerate_devices()

tests/test_backend.py:49:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_enumerate_devices(self):
>       for d in self.backend.enumerate_devices():
E       AttributeError: 'str' object has no attribute 'enumerate_devices'

tests/test_backend.py:76: AttributeError

During handling of the above exception, another exception occurred:

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_enumerate_devices()
            self.test_get_device_descriptor()
            self.test_get_configuration_descriptor()
            self.test_get_interface_descriptor()
            self.test_get_endpoint_descriptor()
            self.test_open_device()
            self.test_set_configuration()
            self.test_claim_interface()
            self.test_set_interface_altsetting()
            self.test_clear_halt()
            self.test_bulk_write_read()
            self.test_intr_write_read()
            self.test_iso_write_read()
            self.test_ctrl_transfer()
        except:
            # do this to not influence other tests upon error
>           intf = self.backend.get_interface_descriptor(self.dev, 0, 0, 0)
E           AttributeError: 'str' object has no attribute 'get_interface_descriptor'

tests/test_backend.py:65: AttributeError
_____________________________________________________________________________________ BackendTest.test_clear_halt ______________________________________________________________________________________

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_enumerate_devices()

tests/test_backend.py:49:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_enumerate_devices(self):
>       for d in self.backend.enumerate_devices():
E       AttributeError: 'str' object has no attribute 'enumerate_devices'

tests/test_backend.py:76: AttributeError

During handling of the above exception, another exception occurred:

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_enumerate_devices()
            self.test_get_device_descriptor()
            self.test_get_configuration_descriptor()
            self.test_get_interface_descriptor()
            self.test_get_endpoint_descriptor()
            self.test_open_device()
            self.test_set_configuration()
            self.test_claim_interface()
            self.test_set_interface_altsetting()
            self.test_clear_halt()
            self.test_bulk_write_read()
            self.test_intr_write_read()
            self.test_iso_write_read()
            self.test_ctrl_transfer()
        except:
            # do this to not influence other tests upon error
>           intf = self.backend.get_interface_descriptor(self.dev, 0, 0, 0)
E           AttributeError: 'str' object has no attribute 'get_interface_descriptor'

tests/test_backend.py:65: AttributeError
____________________________________________________________________________________ BackendTest.test_close_device _____________________________________________________________________________________

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_enumerate_devices()

tests/test_backend.py:49:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_enumerate_devices(self):
>       for d in self.backend.enumerate_devices():
E       AttributeError: 'str' object has no attribute 'enumerate_devices'

tests/test_backend.py:76: AttributeError

During handling of the above exception, another exception occurred:

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_enumerate_devices()
            self.test_get_device_descriptor()
            self.test_get_configuration_descriptor()
            self.test_get_interface_descriptor()
            self.test_get_endpoint_descriptor()
            self.test_open_device()
            self.test_set_configuration()
            self.test_claim_interface()
            self.test_set_interface_altsetting()
            self.test_clear_halt()
            self.test_bulk_write_read()
            self.test_intr_write_read()
            self.test_iso_write_read()
            self.test_ctrl_transfer()
        except:
            # do this to not influence other tests upon error
>           intf = self.backend.get_interface_descriptor(self.dev, 0, 0, 0)
E           AttributeError: 'str' object has no attribute 'get_interface_descriptor'

tests/test_backend.py:65: AttributeError
____________________________________________________________________________________ BackendTest.test_ctrl_transfer ____________________________________________________________________________________

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_enumerate_devices()

tests/test_backend.py:49:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_enumerate_devices(self):
>       for d in self.backend.enumerate_devices():
E       AttributeError: 'str' object has no attribute 'enumerate_devices'

tests/test_backend.py:76: AttributeError

During handling of the above exception, another exception occurred:

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_enumerate_devices()
            self.test_get_device_descriptor()
            self.test_get_configuration_descriptor()
            self.test_get_interface_descriptor()
            self.test_get_endpoint_descriptor()
            self.test_open_device()
            self.test_set_configuration()
            self.test_claim_interface()
            self.test_set_interface_altsetting()
            self.test_clear_halt()
            self.test_bulk_write_read()
            self.test_intr_write_read()
            self.test_iso_write_read()
            self.test_ctrl_transfer()
        except:
            # do this to not influence other tests upon error
>           intf = self.backend.get_interface_descriptor(self.dev, 0, 0, 0)
E           AttributeError: 'str' object has no attribute 'get_interface_descriptor'

tests/test_backend.py:65: AttributeError
__________________________________________________________________________________ BackendTest.test_enumerate_devices __________________________________________________________________________________

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_enumerate_devices()

tests/test_backend.py:49:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_enumerate_devices(self):
>       for d in self.backend.enumerate_devices():
E       AttributeError: 'str' object has no attribute 'enumerate_devices'

tests/test_backend.py:76: AttributeError

During handling of the above exception, another exception occurred:

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_enumerate_devices()
            self.test_get_device_descriptor()
            self.test_get_configuration_descriptor()
            self.test_get_interface_descriptor()
            self.test_get_endpoint_descriptor()
            self.test_open_device()
            self.test_set_configuration()
            self.test_claim_interface()
            self.test_set_interface_altsetting()
            self.test_clear_halt()
            self.test_bulk_write_read()
            self.test_intr_write_read()
            self.test_iso_write_read()
            self.test_ctrl_transfer()
        except:
            # do this to not influence other tests upon error
>           intf = self.backend.get_interface_descriptor(self.dev, 0, 0, 0)
E           AttributeError: 'str' object has no attribute 'get_interface_descriptor'

tests/test_backend.py:65: AttributeError
____________________________________________________________________________ BackendTest.test_get_configuration_descriptor _____________________________________________________________________________

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_enumerate_devices()

tests/test_backend.py:49:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_enumerate_devices(self):
>       for d in self.backend.enumerate_devices():
E       AttributeError: 'str' object has no attribute 'enumerate_devices'

tests/test_backend.py:76: AttributeError

During handling of the above exception, another exception occurred:

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_enumerate_devices()
            self.test_get_device_descriptor()
            self.test_get_configuration_descriptor()
            self.test_get_interface_descriptor()
            self.test_get_endpoint_descriptor()
            self.test_open_device()
            self.test_set_configuration()
            self.test_claim_interface()
            self.test_set_interface_altsetting()
            self.test_clear_halt()
            self.test_bulk_write_read()
            self.test_intr_write_read()
            self.test_iso_write_read()
            self.test_ctrl_transfer()
        except:
            # do this to not influence other tests upon error
>           intf = self.backend.get_interface_descriptor(self.dev, 0, 0, 0)
E           AttributeError: 'str' object has no attribute 'get_interface_descriptor'

tests/test_backend.py:65: AttributeError
________________________________________________________________________________ BackendTest.test_get_device_descriptor ________________________________________________________________________________

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_enumerate_devices()

tests/test_backend.py:49:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_enumerate_devices(self):
>       for d in self.backend.enumerate_devices():
E       AttributeError: 'str' object has no attribute 'enumerate_devices'

tests/test_backend.py:76: AttributeError

During handling of the above exception, another exception occurred:

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_enumerate_devices()
            self.test_get_device_descriptor()
            self.test_get_configuration_descriptor()
            self.test_get_interface_descriptor()
            self.test_get_endpoint_descriptor()
            self.test_open_device()
            self.test_set_configuration()
            self.test_claim_interface()
            self.test_set_interface_altsetting()
            self.test_clear_halt()
            self.test_bulk_write_read()
            self.test_intr_write_read()
            self.test_iso_write_read()
            self.test_ctrl_transfer()
        except:
            # do this to not influence other tests upon error
>           intf = self.backend.get_interface_descriptor(self.dev, 0, 0, 0)
E           AttributeError: 'str' object has no attribute 'get_interface_descriptor'

tests/test_backend.py:65: AttributeError
_______________________________________________________________________________ BackendTest.test_get_endpoint_descriptor _______________________________________________________________________________

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_enumerate_devices()

tests/test_backend.py:49:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_enumerate_devices(self):
>       for d in self.backend.enumerate_devices():
E       AttributeError: 'str' object has no attribute 'enumerate_devices'

tests/test_backend.py:76: AttributeError

During handling of the above exception, another exception occurred:

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_enumerate_devices()
            self.test_get_device_descriptor()
            self.test_get_configuration_descriptor()
            self.test_get_interface_descriptor()
            self.test_get_endpoint_descriptor()
            self.test_open_device()
            self.test_set_configuration()
            self.test_claim_interface()
            self.test_set_interface_altsetting()
            self.test_clear_halt()
            self.test_bulk_write_read()
            self.test_intr_write_read()
            self.test_iso_write_read()
            self.test_ctrl_transfer()
        except:
            # do this to not influence other tests upon error
>           intf = self.backend.get_interface_descriptor(self.dev, 0, 0, 0)
E           AttributeError: 'str' object has no attribute 'get_interface_descriptor'

tests/test_backend.py:65: AttributeError
______________________________________________________________________________ BackendTest.test_get_interface_descriptor _______________________________________________________________________________

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_enumerate_devices()

tests/test_backend.py:49:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_enumerate_devices(self):
>       for d in self.backend.enumerate_devices():
E       AttributeError: 'str' object has no attribute 'enumerate_devices'

tests/test_backend.py:76: AttributeError

During handling of the above exception, another exception occurred:

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_enumerate_devices()
            self.test_get_device_descriptor()
            self.test_get_configuration_descriptor()
            self.test_get_interface_descriptor()
            self.test_get_endpoint_descriptor()
            self.test_open_device()
            self.test_set_configuration()
            self.test_claim_interface()
            self.test_set_interface_altsetting()
            self.test_clear_halt()
            self.test_bulk_write_read()
            self.test_intr_write_read()
            self.test_iso_write_read()
            self.test_ctrl_transfer()
        except:
            # do this to not influence other tests upon error
>           intf = self.backend.get_interface_descriptor(self.dev, 0, 0, 0)
E           AttributeError: 'str' object has no attribute 'get_interface_descriptor'

tests/test_backend.py:65: AttributeError
___________________________________________________________________________________ BackendTest.test_intr_write_read ___________________________________________________________________________________

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_enumerate_devices()

tests/test_backend.py:49:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_enumerate_devices(self):
>       for d in self.backend.enumerate_devices():
E       AttributeError: 'str' object has no attribute 'enumerate_devices'

tests/test_backend.py:76: AttributeError

During handling of the above exception, another exception occurred:

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_enumerate_devices()
            self.test_get_device_descriptor()
            self.test_get_configuration_descriptor()
            self.test_get_interface_descriptor()
            self.test_get_endpoint_descriptor()
            self.test_open_device()
            self.test_set_configuration()
            self.test_claim_interface()
            self.test_set_interface_altsetting()
            self.test_clear_halt()
            self.test_bulk_write_read()
            self.test_intr_write_read()
            self.test_iso_write_read()
            self.test_ctrl_transfer()
        except:
            # do this to not influence other tests upon error
>           intf = self.backend.get_interface_descriptor(self.dev, 0, 0, 0)
E           AttributeError: 'str' object has no attribute 'get_interface_descriptor'

tests/test_backend.py:65: AttributeError
___________________________________________________________________________________ BackendTest.test_iso_write_read ____________________________________________________________________________________

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_enumerate_devices()

tests/test_backend.py:49:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_enumerate_devices(self):
>       for d in self.backend.enumerate_devices():
E       AttributeError: 'str' object has no attribute 'enumerate_devices'

tests/test_backend.py:76: AttributeError

During handling of the above exception, another exception occurred:

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_enumerate_devices()
            self.test_get_device_descriptor()
            self.test_get_configuration_descriptor()
            self.test_get_interface_descriptor()
            self.test_get_endpoint_descriptor()
            self.test_open_device()
            self.test_set_configuration()
            self.test_claim_interface()
            self.test_set_interface_altsetting()
            self.test_clear_halt()
            self.test_bulk_write_read()
            self.test_intr_write_read()
            self.test_iso_write_read()
            self.test_ctrl_transfer()
        except:
            # do this to not influence other tests upon error
>           intf = self.backend.get_interface_descriptor(self.dev, 0, 0, 0)
E           AttributeError: 'str' object has no attribute 'get_interface_descriptor'

tests/test_backend.py:65: AttributeError
_____________________________________________________________________________________ BackendTest.test_open_device _____________________________________________________________________________________

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_enumerate_devices()

tests/test_backend.py:49:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_enumerate_devices(self):
>       for d in self.backend.enumerate_devices():
E       AttributeError: 'str' object has no attribute 'enumerate_devices'

tests/test_backend.py:76: AttributeError

During handling of the above exception, another exception occurred:

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_enumerate_devices()
            self.test_get_device_descriptor()
            self.test_get_configuration_descriptor()
            self.test_get_interface_descriptor()
            self.test_get_endpoint_descriptor()
            self.test_open_device()
            self.test_set_configuration()
            self.test_claim_interface()
            self.test_set_interface_altsetting()
            self.test_clear_halt()
            self.test_bulk_write_read()
            self.test_intr_write_read()
            self.test_iso_write_read()
            self.test_ctrl_transfer()
        except:
            # do this to not influence other tests upon error
>           intf = self.backend.get_interface_descriptor(self.dev, 0, 0, 0)
E           AttributeError: 'str' object has no attribute 'get_interface_descriptor'

tests/test_backend.py:65: AttributeError
__________________________________________________________________________________ BackendTest.test_release_interface __________________________________________________________________________________

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_enumerate_devices()

tests/test_backend.py:49:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_enumerate_devices(self):
>       for d in self.backend.enumerate_devices():
E       AttributeError: 'str' object has no attribute 'enumerate_devices'

tests/test_backend.py:76: AttributeError

During handling of the above exception, another exception occurred:

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_enumerate_devices()
            self.test_get_device_descriptor()
            self.test_get_configuration_descriptor()
            self.test_get_interface_descriptor()
            self.test_get_endpoint_descriptor()
            self.test_open_device()
            self.test_set_configuration()
            self.test_claim_interface()
            self.test_set_interface_altsetting()
            self.test_clear_halt()
            self.test_bulk_write_read()
            self.test_intr_write_read()
            self.test_iso_write_read()
            self.test_ctrl_transfer()
        except:
            # do this to not influence other tests upon error
>           intf = self.backend.get_interface_descriptor(self.dev, 0, 0, 0)
E           AttributeError: 'str' object has no attribute 'get_interface_descriptor'

tests/test_backend.py:65: AttributeError
____________________________________________________________________________________ BackendTest.test_reset_device _____________________________________________________________________________________

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_enumerate_devices()

tests/test_backend.py:49:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_enumerate_devices(self):
>       for d in self.backend.enumerate_devices():
E       AttributeError: 'str' object has no attribute 'enumerate_devices'

tests/test_backend.py:76: AttributeError

During handling of the above exception, another exception occurred:

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_enumerate_devices()
            self.test_get_device_descriptor()
            self.test_get_configuration_descriptor()
            self.test_get_interface_descriptor()
            self.test_get_endpoint_descriptor()
            self.test_open_device()
            self.test_set_configuration()
            self.test_claim_interface()
            self.test_set_interface_altsetting()
            self.test_clear_halt()
            self.test_bulk_write_read()
            self.test_intr_write_read()
            self.test_iso_write_read()
            self.test_ctrl_transfer()
        except:
            # do this to not influence other tests upon error
>           intf = self.backend.get_interface_descriptor(self.dev, 0, 0, 0)
E           AttributeError: 'str' object has no attribute 'get_interface_descriptor'

tests/test_backend.py:65: AttributeError
__________________________________________________________________________________ BackendTest.test_set_configuration __________________________________________________________________________________

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_enumerate_devices()

tests/test_backend.py:49:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_enumerate_devices(self):
>       for d in self.backend.enumerate_devices():
E       AttributeError: 'str' object has no attribute 'enumerate_devices'

tests/test_backend.py:76: AttributeError

During handling of the above exception, another exception occurred:

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_enumerate_devices()
            self.test_get_device_descriptor()
            self.test_get_configuration_descriptor()
            self.test_get_interface_descriptor()
            self.test_get_endpoint_descriptor()
            self.test_open_device()
            self.test_set_configuration()
            self.test_claim_interface()
            self.test_set_interface_altsetting()
            self.test_clear_halt()
            self.test_bulk_write_read()
            self.test_intr_write_read()
            self.test_iso_write_read()
            self.test_ctrl_transfer()
        except:
            # do this to not influence other tests upon error
>           intf = self.backend.get_interface_descriptor(self.dev, 0, 0, 0)
E           AttributeError: 'str' object has no attribute 'get_interface_descriptor'

tests/test_backend.py:65: AttributeError
______________________________________________________________________________ BackendTest.test_set_interface_altsetting _______________________________________________________________________________

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_enumerate_devices()

tests/test_backend.py:49:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_enumerate_devices(self):
>       for d in self.backend.enumerate_devices():
E       AttributeError: 'str' object has no attribute 'enumerate_devices'

tests/test_backend.py:76: AttributeError

During handling of the above exception, another exception occurred:

self = <test_backend.BackendTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_enumerate_devices()
            self.test_get_device_descriptor()
            self.test_get_configuration_descriptor()
            self.test_get_interface_descriptor()
            self.test_get_endpoint_descriptor()
            self.test_open_device()
            self.test_set_configuration()
            self.test_claim_interface()
            self.test_set_interface_altsetting()
            self.test_clear_halt()
            self.test_bulk_write_read()
            self.test_intr_write_read()
            self.test_iso_write_read()
            self.test_ctrl_transfer()
        except:
            # do this to not influence other tests upon error
>           intf = self.backend.get_interface_descriptor(self.dev, 0, 0, 0)
E           AttributeError: 'str' object has no attribute 'get_interface_descriptor'

tests/test_backend.py:65: AttributeError
__________________________________________________________________________________ ControlTest.test_clearset_feature ___________________________________________________________________________________

self = <test_control.ControlTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.dev.set_configuration()
E           AttributeError: 'str' object has no attribute 'set_configuration'

tests/test_control.py:50: AttributeError

During handling of the above exception, another exception occurred:

self = <test_control.ControlTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.dev.set_configuration()
            self.test_getset_configuration()
            self.test_get_status()
            self.test_getset_descriptor()
            self.test_getset_interface()
            # this test case is problematic in Windows, and nobody could
            # figure out why. Let's disable it for now.
            if sys.platform not in ('win32', 'cygwin'):
                self.test_clearset_feature()
            self.test_get_string()
        finally:
>           usb.util.dispose_resources(self.dev)

tests/test_control.py:61:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

device = 'test_clearset_feature'

    def dispose_resources(device):
        r"""Release internal resources allocated by the object.

        Sometimes you need to provide deterministic resources
        freeing, for example to allow another application to
        talk to the device. As Python does not provide deterministic
        destruction, this function releases all internal resources
        allocated by the device, like device handle and interface
        policy.

        After calling this function, you can continue using the device
        object normally. If the resources will be necessary again, it
        will be allocated automatically.
        """
>       device._ctx.dispose(device)
E       AttributeError: 'str' object has no attribute '_ctx'

usb/util.py:233: AttributeError
_____________________________________________________________________________________ ControlTest.test_get_status ______________________________________________________________________________________

self = <test_control.ControlTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.dev.set_configuration()
E           AttributeError: 'str' object has no attribute 'set_configuration'

tests/test_control.py:50: AttributeError

During handling of the above exception, another exception occurred:

self = <test_control.ControlTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.dev.set_configuration()
            self.test_getset_configuration()
            self.test_get_status()
            self.test_getset_descriptor()
            self.test_getset_interface()
            # this test case is problematic in Windows, and nobody could
            # figure out why. Let's disable it for now.
            if sys.platform not in ('win32', 'cygwin'):
                self.test_clearset_feature()
            self.test_get_string()
        finally:
>           usb.util.dispose_resources(self.dev)

tests/test_control.py:61:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

device = 'test_get_status'

    def dispose_resources(device):
        r"""Release internal resources allocated by the object.

        Sometimes you need to provide deterministic resources
        freeing, for example to allow another application to
        talk to the device. As Python does not provide deterministic
        destruction, this function releases all internal resources
        allocated by the device, like device handle and interface
        policy.

        After calling this function, you can continue using the device
        object normally. If the resources will be necessary again, it
        will be allocated automatically.
        """
>       device._ctx.dispose(device)
E       AttributeError: 'str' object has no attribute '_ctx'

usb/util.py:233: AttributeError
_____________________________________________________________________________________ ControlTest.test_get_string ______________________________________________________________________________________

self = <test_control.ControlTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.dev.set_configuration()
E           AttributeError: 'str' object has no attribute 'set_configuration'

tests/test_control.py:50: AttributeError

During handling of the above exception, another exception occurred:

self = <test_control.ControlTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.dev.set_configuration()
            self.test_getset_configuration()
            self.test_get_status()
            self.test_getset_descriptor()
            self.test_getset_interface()
            # this test case is problematic in Windows, and nobody could
            # figure out why. Let's disable it for now.
            if sys.platform not in ('win32', 'cygwin'):
                self.test_clearset_feature()
            self.test_get_string()
        finally:
>           usb.util.dispose_resources(self.dev)

tests/test_control.py:61:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

device = 'test_get_string'

    def dispose_resources(device):
        r"""Release internal resources allocated by the object.

        Sometimes you need to provide deterministic resources
        freeing, for example to allow another application to
        talk to the device. As Python does not provide deterministic
        destruction, this function releases all internal resources
        allocated by the device, like device handle and interface
        policy.

        After calling this function, you can continue using the device
        object normally. If the resources will be necessary again, it
        will be allocated automatically.
        """
>       device._ctx.dispose(device)
E       AttributeError: 'str' object has no attribute '_ctx'

usb/util.py:233: AttributeError
________________________________________________________________________________ ControlTest.test_getset_configuration _________________________________________________________________________________

self = <test_control.ControlTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.dev.set_configuration()
E           AttributeError: 'str' object has no attribute 'set_configuration'

tests/test_control.py:50: AttributeError

During handling of the above exception, another exception occurred:

self = <test_control.ControlTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.dev.set_configuration()
            self.test_getset_configuration()
            self.test_get_status()
            self.test_getset_descriptor()
            self.test_getset_interface()
            # this test case is problematic in Windows, and nobody could
            # figure out why. Let's disable it for now.
            if sys.platform not in ('win32', 'cygwin'):
                self.test_clearset_feature()
            self.test_get_string()
        finally:
>           usb.util.dispose_resources(self.dev)

tests/test_control.py:61:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

device = 'test_getset_configuration'

    def dispose_resources(device):
        r"""Release internal resources allocated by the object.

        Sometimes you need to provide deterministic resources
        freeing, for example to allow another application to
        talk to the device. As Python does not provide deterministic
        destruction, this function releases all internal resources
        allocated by the device, like device handle and interface
        policy.

        After calling this function, you can continue using the device
        object normally. If the resources will be necessary again, it
        will be allocated automatically.
        """
>       device._ctx.dispose(device)
E       AttributeError: 'str' object has no attribute '_ctx'

usb/util.py:233: AttributeError
__________________________________________________________________________________ ControlTest.test_getset_descriptor __________________________________________________________________________________

self = <test_control.ControlTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.dev.set_configuration()
E           AttributeError: 'str' object has no attribute 'set_configuration'

tests/test_control.py:50: AttributeError

During handling of the above exception, another exception occurred:

self = <test_control.ControlTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.dev.set_configuration()
            self.test_getset_configuration()
            self.test_get_status()
            self.test_getset_descriptor()
            self.test_getset_interface()
            # this test case is problematic in Windows, and nobody could
            # figure out why. Let's disable it for now.
            if sys.platform not in ('win32', 'cygwin'):
                self.test_clearset_feature()
            self.test_get_string()
        finally:
>           usb.util.dispose_resources(self.dev)

tests/test_control.py:61:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

device = 'test_getset_descriptor'

    def dispose_resources(device):
        r"""Release internal resources allocated by the object.

        Sometimes you need to provide deterministic resources
        freeing, for example to allow another application to
        talk to the device. As Python does not provide deterministic
        destruction, this function releases all internal resources
        allocated by the device, like device handle and interface
        policy.

        After calling this function, you can continue using the device
        object normally. If the resources will be necessary again, it
        will be allocated automatically.
        """
>       device._ctx.dispose(device)
E       AttributeError: 'str' object has no attribute '_ctx'

usb/util.py:233: AttributeError
__________________________________________________________________________________ ControlTest.test_getset_interface ___________________________________________________________________________________

self = <test_control.ControlTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.dev.set_configuration()
E           AttributeError: 'str' object has no attribute 'set_configuration'

tests/test_control.py:50: AttributeError

During handling of the above exception, another exception occurred:

self = <test_control.ControlTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.dev.set_configuration()
            self.test_getset_configuration()
            self.test_get_status()
            self.test_getset_descriptor()
            self.test_getset_interface()
            # this test case is problematic in Windows, and nobody could
            # figure out why. Let's disable it for now.
            if sys.platform not in ('win32', 'cygwin'):
                self.test_clearset_feature()
            self.test_get_string()
        finally:
>           usb.util.dispose_resources(self.dev)

tests/test_control.py:61:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

device = 'test_getset_interface'

    def dispose_resources(device):
        r"""Release internal resources allocated by the object.

        Sometimes you need to provide deterministic resources
        freeing, for example to allow another application to
        talk to the device. As Python does not provide deterministic
        destruction, this function releases all internal resources
        allocated by the device, like device handle and interface
        policy.

        After calling this function, you can continue using the device
        object normally. If the resources will be necessary again, it
        will be allocated automatically.
        """
>       device._ctx.dispose(device)
E       AttributeError: 'str' object has no attribute '_ctx'

usb/util.py:233: AttributeError
______________________________________________________________________________________ DeviceTest.test_attributes ______________________________________________________________________________________

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_attributes()

tests/test_integration.py:61:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_attributes(self):
>       self.assertEqual(self.dev.bLength, 18)
E       AttributeError: 'str' object has no attribute 'bLength'

tests/test_integration.py:75: AttributeError

During handling of the above exception, another exception occurred:

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_attributes()
            self.test_timeout()
            self.test_set_configuration()
            self.test_set_interface_altsetting()
            self.test_write_read()
            self.test_write_array()
            self.test_ctrl_transfer()
            self.test_clear_halt()
            #self.test_reset()
        finally:
>           usb.util.dispose_resources(self.dev)

tests/test_integration.py:71:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

device = 'test_attributes'

    def dispose_resources(device):
        r"""Release internal resources allocated by the object.

        Sometimes you need to provide deterministic resources
        freeing, for example to allow another application to
        talk to the device. As Python does not provide deterministic
        destruction, this function releases all internal resources
        allocated by the device, like device handle and interface
        policy.

        After calling this function, you can continue using the device
        object normally. If the resources will be necessary again, it
        will be allocated automatically.
        """
>       device._ctx.dispose(device)
E       AttributeError: 'str' object has no attribute '_ctx'

usb/util.py:233: AttributeError
______________________________________________________________________________________ DeviceTest.test_clear_halt ______________________________________________________________________________________

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_attributes()

tests/test_integration.py:61:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_attributes(self):
>       self.assertEqual(self.dev.bLength, 18)
E       AttributeError: 'str' object has no attribute 'bLength'

tests/test_integration.py:75: AttributeError

During handling of the above exception, another exception occurred:

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_attributes()
            self.test_timeout()
            self.test_set_configuration()
            self.test_set_interface_altsetting()
            self.test_write_read()
            self.test_write_array()
            self.test_ctrl_transfer()
            self.test_clear_halt()
            #self.test_reset()
        finally:
>           usb.util.dispose_resources(self.dev)

tests/test_integration.py:71:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

device = 'test_clear_halt'

    def dispose_resources(device):
        r"""Release internal resources allocated by the object.

        Sometimes you need to provide deterministic resources
        freeing, for example to allow another application to
        talk to the device. As Python does not provide deterministic
        destruction, this function releases all internal resources
        allocated by the device, like device handle and interface
        policy.

        After calling this function, you can continue using the device
        object normally. If the resources will be necessary again, it
        will be allocated automatically.
        """
>       device._ctx.dispose(device)
E       AttributeError: 'str' object has no attribute '_ctx'

usb/util.py:233: AttributeError
____________________________________________________________________________________ DeviceTest.test_ctrl_transfer _____________________________________________________________________________________

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_attributes()

tests/test_integration.py:61:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_attributes(self):
>       self.assertEqual(self.dev.bLength, 18)
E       AttributeError: 'str' object has no attribute 'bLength'

tests/test_integration.py:75: AttributeError

During handling of the above exception, another exception occurred:

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_attributes()
            self.test_timeout()
            self.test_set_configuration()
            self.test_set_interface_altsetting()
            self.test_write_read()
            self.test_write_array()
            self.test_ctrl_transfer()
            self.test_clear_halt()
            #self.test_reset()
        finally:
>           usb.util.dispose_resources(self.dev)

tests/test_integration.py:71:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

device = 'test_ctrl_transfer'

    def dispose_resources(device):
        r"""Release internal resources allocated by the object.

        Sometimes you need to provide deterministic resources
        freeing, for example to allow another application to
        talk to the device. As Python does not provide deterministic
        destruction, this function releases all internal resources
        allocated by the device, like device handle and interface
        policy.

        After calling this function, you can continue using the device
        object normally. If the resources will be necessary again, it
        will be allocated automatically.
        """
>       device._ctx.dispose(device)
E       AttributeError: 'str' object has no attribute '_ctx'

usb/util.py:233: AttributeError
________________________________________________________________________________________ DeviceTest.test_reset _________________________________________________________________________________________

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_attributes()

tests/test_integration.py:61:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_attributes(self):
>       self.assertEqual(self.dev.bLength, 18)
E       AttributeError: 'str' object has no attribute 'bLength'

tests/test_integration.py:75: AttributeError

During handling of the above exception, another exception occurred:

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_attributes()
            self.test_timeout()
            self.test_set_configuration()
            self.test_set_interface_altsetting()
            self.test_write_read()
            self.test_write_array()
            self.test_ctrl_transfer()
            self.test_clear_halt()
            #self.test_reset()
        finally:
>           usb.util.dispose_resources(self.dev)

tests/test_integration.py:71:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

device = 'test_reset'

    def dispose_resources(device):
        r"""Release internal resources allocated by the object.

        Sometimes you need to provide deterministic resources
        freeing, for example to allow another application to
        talk to the device. As Python does not provide deterministic
        destruction, this function releases all internal resources
        allocated by the device, like device handle and interface
        policy.

        After calling this function, you can continue using the device
        object normally. If the resources will be necessary again, it
        will be allocated automatically.
        """
>       device._ctx.dispose(device)
E       AttributeError: 'str' object has no attribute '_ctx'

usb/util.py:233: AttributeError
__________________________________________________________________________________ DeviceTest.test_set_configuration ___________________________________________________________________________________

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_attributes()

tests/test_integration.py:61:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_attributes(self):
>       self.assertEqual(self.dev.bLength, 18)
E       AttributeError: 'str' object has no attribute 'bLength'

tests/test_integration.py:75: AttributeError

During handling of the above exception, another exception occurred:

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_attributes()
            self.test_timeout()
            self.test_set_configuration()
            self.test_set_interface_altsetting()
            self.test_write_read()
            self.test_write_array()
            self.test_ctrl_transfer()
            self.test_clear_halt()
            #self.test_reset()
        finally:
>           usb.util.dispose_resources(self.dev)

tests/test_integration.py:71:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

device = 'test_set_configuration'

    def dispose_resources(device):
        r"""Release internal resources allocated by the object.

        Sometimes you need to provide deterministic resources
        freeing, for example to allow another application to
        talk to the device. As Python does not provide deterministic
        destruction, this function releases all internal resources
        allocated by the device, like device handle and interface
        policy.

        After calling this function, you can continue using the device
        object normally. If the resources will be necessary again, it
        will be allocated automatically.
        """
>       device._ctx.dispose(device)
E       AttributeError: 'str' object has no attribute '_ctx'

usb/util.py:233: AttributeError
_______________________________________________________________________________ DeviceTest.test_set_interface_altsetting _______________________________________________________________________________

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_attributes()

tests/test_integration.py:61:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_attributes(self):
>       self.assertEqual(self.dev.bLength, 18)
E       AttributeError: 'str' object has no attribute 'bLength'

tests/test_integration.py:75: AttributeError

During handling of the above exception, another exception occurred:

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_attributes()
            self.test_timeout()
            self.test_set_configuration()
            self.test_set_interface_altsetting()
            self.test_write_read()
            self.test_write_array()
            self.test_ctrl_transfer()
            self.test_clear_halt()
            #self.test_reset()
        finally:
>           usb.util.dispose_resources(self.dev)

tests/test_integration.py:71:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

device = 'test_set_interface_altsetting'

    def dispose_resources(device):
        r"""Release internal resources allocated by the object.

        Sometimes you need to provide deterministic resources
        freeing, for example to allow another application to
        talk to the device. As Python does not provide deterministic
        destruction, this function releases all internal resources
        allocated by the device, like device handle and interface
        policy.

        After calling this function, you can continue using the device
        object normally. If the resources will be necessary again, it
        will be allocated automatically.
        """
>       device._ctx.dispose(device)
E       AttributeError: 'str' object has no attribute '_ctx'

usb/util.py:233: AttributeError
_______________________________________________________________________________________ DeviceTest.test_timeout ________________________________________________________________________________________

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_attributes()

tests/test_integration.py:61:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_attributes(self):
>       self.assertEqual(self.dev.bLength, 18)
E       AttributeError: 'str' object has no attribute 'bLength'

tests/test_integration.py:75: AttributeError

During handling of the above exception, another exception occurred:

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_attributes()
            self.test_timeout()
            self.test_set_configuration()
            self.test_set_interface_altsetting()
            self.test_write_read()
            self.test_write_array()
            self.test_ctrl_transfer()
            self.test_clear_halt()
            #self.test_reset()
        finally:
>           usb.util.dispose_resources(self.dev)

tests/test_integration.py:71:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

device = 'test_timeout'

    def dispose_resources(device):
        r"""Release internal resources allocated by the object.

        Sometimes you need to provide deterministic resources
        freeing, for example to allow another application to
        talk to the device. As Python does not provide deterministic
        destruction, this function releases all internal resources
        allocated by the device, like device handle and interface
        policy.

        After calling this function, you can continue using the device
        object normally. If the resources will be necessary again, it
        will be allocated automatically.
        """
>       device._ctx.dispose(device)
E       AttributeError: 'str' object has no attribute '_ctx'

usb/util.py:233: AttributeError
_____________________________________________________________________________________ DeviceTest.test_write_array ______________________________________________________________________________________

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_attributes()

tests/test_integration.py:61:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_attributes(self):
>       self.assertEqual(self.dev.bLength, 18)
E       AttributeError: 'str' object has no attribute 'bLength'

tests/test_integration.py:75: AttributeError

During handling of the above exception, another exception occurred:

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_attributes()
            self.test_timeout()
            self.test_set_configuration()
            self.test_set_interface_altsetting()
            self.test_write_read()
            self.test_write_array()
            self.test_ctrl_transfer()
            self.test_clear_halt()
            #self.test_reset()
        finally:
>           usb.util.dispose_resources(self.dev)

tests/test_integration.py:71:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

device = 'test_write_array'

    def dispose_resources(device):
        r"""Release internal resources allocated by the object.

        Sometimes you need to provide deterministic resources
        freeing, for example to allow another application to
        talk to the device. As Python does not provide deterministic
        destruction, this function releases all internal resources
        allocated by the device, like device handle and interface
        policy.

        After calling this function, you can continue using the device
        object normally. If the resources will be necessary again, it
        will be allocated automatically.
        """
>       device._ctx.dispose(device)
E       AttributeError: 'str' object has no attribute '_ctx'

usb/util.py:233: AttributeError
______________________________________________________________________________________ DeviceTest.test_write_read ______________________________________________________________________________________

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_attributes()

tests/test_integration.py:61:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_attributes(self):
>       self.assertEqual(self.dev.bLength, 18)
E       AttributeError: 'str' object has no attribute 'bLength'

tests/test_integration.py:75: AttributeError

During handling of the above exception, another exception occurred:

self = <test_integration.DeviceTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_attributes()
            self.test_timeout()
            self.test_set_configuration()
            self.test_set_interface_altsetting()
            self.test_write_read()
            self.test_write_array()
            self.test_ctrl_transfer()
            self.test_clear_halt()
            #self.test_reset()
        finally:
>           usb.util.dispose_resources(self.dev)

tests/test_integration.py:71:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

device = 'test_write_read'

    def dispose_resources(device):
        r"""Release internal resources allocated by the object.

        Sometimes you need to provide deterministic resources
        freeing, for example to allow another application to
        talk to the device. As Python does not provide deterministic
        destruction, this function releases all internal resources
        allocated by the device, like device handle and interface
        policy.

        After calling this function, you can continue using the device
        object normally. If the resources will be necessary again, it
        will be allocated automatically.
        """
>       device._ctx.dispose(device)
E       AttributeError: 'str' object has no attribute '_ctx'

usb/util.py:233: AttributeError
__________________________________________________________________________________ ConfigurationTest.test_attributes ___________________________________________________________________________________

self = <test_integration.ConfigurationTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_attributes()

tests/test_integration.py:277:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_integration.ConfigurationTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_attributes(self):
>       self.assertEqual(self.cfg.bLength, 9)
E       AttributeError: 'str' object has no attribute 'bLength'

tests/test_integration.py:284: AttributeError

During handling of the above exception, another exception occurred:

self = <test_integration.ConfigurationTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_attributes()
            self.test_set()
        finally:
>           usb.util.dispose_resources(self.cfg.device)
E           AttributeError: 'str' object has no attribute 'device'

tests/test_integration.py:280: AttributeError
______________________________________________________________________________________ ConfigurationTest.test_set ______________________________________________________________________________________

self = <test_integration.ConfigurationTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
>           self.test_attributes()

tests/test_integration.py:277:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = <test_integration.ConfigurationTest testMethod=runTest>

    @methodtrace(utils.logger)
    def test_attributes(self):
>       self.assertEqual(self.cfg.bLength, 9)
E       AttributeError: 'str' object has no attribute 'bLength'

tests/test_integration.py:284: AttributeError

During handling of the above exception, another exception occurred:

self = <test_integration.ConfigurationTest testMethod=runTest>

    @methodtrace(utils.logger)
    def runTest(self):
        try:
            self.test_attributes()
            self.test_set()
        finally:
>           usb.util.dispose_resources(self.cfg.device)
E           AttributeError: 'str' object has no attribute 'device'

tests/test_integration.py:280: AttributeError
============================================================================ 34 failed, 7 passed, 21 error in 1.49 seconds =============================================================================

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:8 (7 by maintainers)

github_iconTop GitHub Comments

4reactions
ap--commented, Aug 24, 2020

This requires some way of using unittest.skipIf on the TestSuites to so that they are automatically supported by pytest. I can make a PR when I have some free time if you like 😊

Cheers, Andreas 😃

0reactions
jonasmalacofilhocommented, Oct 25, 2020

Fixed in #332.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Overhaul test suite to be compatible with pytest #1100 - GitHub
Overhaul test suite to be compatible with pytest #1100 ... Worst case I figure we just use os.environ as that's not the worst...
Read more >
How to use unittest-based tests with pytest
pytest supports running Python unittest -based tests out of the box. It's meant for leveraging existing unittest -based test suites to use pytest...
Read more >
Customizing your pytest test suite (part 1) - Raphael Pierzina
Let's identify the features that are not yet tested and ensure we can maintain excellent coverage in the future. This blog post is...
Read more >
testing incompatible configurations with py.test - Stack Overflow
Is there a way to have one py.test re-import classes? This is possible in Nose: each test module is imported only when it...
Read more >
Effective Python Testing With Pytest
In this tutorial, you'll learn how to take your testing to the next level with pytest. You'll cover intermediate and advanced pytest ......
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found