Skip to content

ad937x: fix tests

ad937x: fix tests #73

GitHub Actions / Test Results failed Jul 17, 2024 in 0s

227 fail, 991 skipped, 357 pass in 18m 41s

1 575 tests  +23   357 ✅ ± 0   18m 41s ⏱️ -51s
    1 suites ± 0   991 💤 +23 
    1 files   ± 0   227 ❌ ± 0 

Results for commit 33ddb20. ± Comparison against earlier commit 339f487.

Annotations

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_attr[tx_hardwaregain_chan0--41.95-0.0-0.05-0.05-adi.ad9371] (test.test_ad9371) failed

results.xml [took 6s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_attribute_single_value = <function attribute_single_value at 0x7f5bf23193a0>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
attr = 'tx_hardwaregain_chan0', start = -41.95, stop = 0.0, step = 0.05
tol = 0.05

    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize(
        "attr, start, stop, step, tol",
        [
            ("tx_hardwaregain_chan0", -41.95, 0.0, 0.05, 0.05),
            ("tx_hardwaregain_chan1", -41.95, 0.0, 0.05, 0.05),
            ("tx_lo", 70000000, 6000000000, 1000, 0),
            ("rx_lo", 70000000, 6000000000, 1000, 0),
        ],
    )
    def test_ad9371_attr(
        test_attribute_single_value, iio_uri, classname, attr, start, stop, step, tol
    ):
>       test_attribute_single_value(iio_uri, classname, attr, start, stop, step, tol)

test/test_ad9371.py:265: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/attr_tests.py:70: in attribute_single_value
    assert dev_interface(uri, classname, val, attr, tol)
test/common.py:110: in dev_interface
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf2065190>
event = <threading.Event object at 0x7f5bf20090a0>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_attr[tx_hardwaregain_chan1--41.95-0.0-0.05-0.05-adi.ad9371] (test.test_ad9371) failed

results.xml [took 2s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_attribute_single_value = <function attribute_single_value at 0x7f5bf23193a0>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
attr = 'tx_hardwaregain_chan1', start = -41.95, stop = 0.0, step = 0.05
tol = 0.05

    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize(
        "attr, start, stop, step, tol",
        [
            ("tx_hardwaregain_chan0", -41.95, 0.0, 0.05, 0.05),
            ("tx_hardwaregain_chan1", -41.95, 0.0, 0.05, 0.05),
            ("tx_lo", 70000000, 6000000000, 1000, 0),
            ("rx_lo", 70000000, 6000000000, 1000, 0),
        ],
    )
    def test_ad9371_attr(
        test_attribute_single_value, iio_uri, classname, attr, start, stop, step, tol
    ):
>       test_attribute_single_value(iio_uri, classname, attr, start, stop, step, tol)

test/test_ad9371.py:265: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/attr_tests.py:70: in attribute_single_value
    assert dev_interface(uri, classname, val, attr, tol)
test/common.py:110: in dev_interface
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf1f0c490>
event = <threading.Event object at 0x7f5bf1f0c130>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_attr[tx_lo-70000000-6000000000-1000-0-adi.ad9371] (test.test_ad9371) failed

results.xml [took 2s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_attribute_single_value = <function attribute_single_value at 0x7f5bf23193a0>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371', attr = 'tx_lo'
start = 70000000, stop = 6000000000, step = 1000, tol = 0

    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize(
        "attr, start, stop, step, tol",
        [
            ("tx_hardwaregain_chan0", -41.95, 0.0, 0.05, 0.05),
            ("tx_hardwaregain_chan1", -41.95, 0.0, 0.05, 0.05),
            ("tx_lo", 70000000, 6000000000, 1000, 0),
            ("rx_lo", 70000000, 6000000000, 1000, 0),
        ],
    )
    def test_ad9371_attr(
        test_attribute_single_value, iio_uri, classname, attr, start, stop, step, tol
    ):
>       test_attribute_single_value(iio_uri, classname, attr, start, stop, step, tol)

test/test_ad9371.py:265: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/attr_tests.py:70: in attribute_single_value
    assert dev_interface(uri, classname, val, attr, tol)
test/common.py:110: in dev_interface
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf1aec3d0>
event = <threading.Event object at 0x7f5bf1aec580>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_attr[rx_lo-70000000-6000000000-1000-0-adi.ad9371] (test.test_ad9371) failed

results.xml [took 1s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_attribute_single_value = <function attribute_single_value at 0x7f5bf23193a0>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371', attr = 'rx_lo'
start = 70000000, stop = 6000000000, step = 1000, tol = 0

    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize(
        "attr, start, stop, step, tol",
        [
            ("tx_hardwaregain_chan0", -41.95, 0.0, 0.05, 0.05),
            ("tx_hardwaregain_chan1", -41.95, 0.0, 0.05, 0.05),
            ("tx_lo", 70000000, 6000000000, 1000, 0),
            ("rx_lo", 70000000, 6000000000, 1000, 0),
        ],
    )
    def test_ad9371_attr(
        test_attribute_single_value, iio_uri, classname, attr, start, stop, step, tol
    ):
>       test_attribute_single_value(iio_uri, classname, attr, start, stop, step, tol)

test/test_ad9371.py:265: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/attr_tests.py:70: in attribute_single_value
    assert dev_interface(uri, classname, val, attr, tol)
test/common.py:110: in dev_interface
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf1eab640>
event = <threading.Event object at 0x7f5bf1eabe50>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_rx_data[0-adi.ad9371] (test.test_ad9371) failed

results.xml [took 2s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dma_rx = <function dma_rx at 0x7f5bf25badc0>, iio_uri = 'ip:10.1.0.127'
classname = 'adi.ad9371', channel = 0

    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", range(2))
    def test_ad9371_rx_data(test_dma_rx, iio_uri, classname, channel):
>       test_dma_rx(iio_uri, classname, channel)

test/test_ad9371.py:273: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:49: in dma_rx
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf20c2280>
event = <threading.Event object at 0x7f5bf2034e50>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_rx_data[1-adi.ad9371] (test.test_ad9371) failed

results.xml [took 2s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dma_rx = <function dma_rx at 0x7f5bf25badc0>, iio_uri = 'ip:10.1.0.127'
classname = 'adi.ad9371', channel = 1

    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", range(2))
    def test_ad9371_rx_data(test_dma_rx, iio_uri, classname, channel):
>       test_dma_rx(iio_uri, classname, channel)

test/test_ad9371.py:273: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:49: in dma_rx
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf1ec4640>
event = <threading.Event object at 0x7f5bf1ec4820>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_dds_loopback[param_set0-2000000-0.5--13-0-adi.ad9371] (test.test_ad9371) failed

results.xml [took 2s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f5bfc77df70>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
param_set = {'ensm_mode': 'radio_on', 'gain_control_mode': 'manual', 'rx_hardwaregain_chan0': 10, 'rx_hardwaregain_chan1': 10, ...}
channel = 0, frequency = 2000000, scale = 0.5, peak_min = -13

    @pytest.mark.no_obs_required
    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", [0, 1])
    @pytest.mark.parametrize(
        "param_set, frequency, scale, peak_min",
        [
            (params["one_cw_tone_manual"], 2000000, 0.5, -13),
            (params["one_cw_tone_manual"], 2000000, 0.12, -25),
            (params["one_cw_tone_manual"], 2000000, 0.25, -19),
            (params["one_cw_tone_auto"], 1000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 2000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 500000, 0.12, -14.7),
            (params["change_attenuation_5dB_manual"], 2000000, 0.25, -23.8),
            (params["change_attenuation_10dB_manual"], 2000000, 0.25, -28.75),
            (params["change_attenuation_0dB_auto"], 1000000, 0.12, -9),
            (params["change_attenuation_20dB_auto"], 1000000, 0.12, -24.7),
            (params["change_rf_gain_0dB_manual"], 2000000, 0.25, -29),
            (params["change_rf_gain_20dB_manual"], 2000000, 0.25, -9),
            (params["change_temp_gain_up"], 2000000, 0.25, -16),
            (params["change_temp_gain_down"], 2000000, 0.25, -22),
        ],
    )
    def test_ad9371_dds_loopback(
        test_dds_loopback,
        iio_uri,
        classname,
        param_set,
        channel,
        frequency,
        scale,
        peak_min,
    ):
>       test_dds_loopback(
            iio_uri, classname, param_set, channel, frequency, scale, peak_min
        )

test/test_ad9371.py:310: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf21a5280>
event = <threading.Event object at 0x7f5bf19bad60>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_dds_loopback[param_set0-2000000-0.5--13-1-adi.ad9371] (test.test_ad9371) failed

results.xml [took 2s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f5bfc77df70>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
param_set = {'ensm_mode': 'radio_on', 'gain_control_mode': 'manual', 'rx_hardwaregain_chan0': 10, 'rx_hardwaregain_chan1': 10, ...}
channel = 1, frequency = 2000000, scale = 0.5, peak_min = -13

    @pytest.mark.no_obs_required
    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", [0, 1])
    @pytest.mark.parametrize(
        "param_set, frequency, scale, peak_min",
        [
            (params["one_cw_tone_manual"], 2000000, 0.5, -13),
            (params["one_cw_tone_manual"], 2000000, 0.12, -25),
            (params["one_cw_tone_manual"], 2000000, 0.25, -19),
            (params["one_cw_tone_auto"], 1000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 2000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 500000, 0.12, -14.7),
            (params["change_attenuation_5dB_manual"], 2000000, 0.25, -23.8),
            (params["change_attenuation_10dB_manual"], 2000000, 0.25, -28.75),
            (params["change_attenuation_0dB_auto"], 1000000, 0.12, -9),
            (params["change_attenuation_20dB_auto"], 1000000, 0.12, -24.7),
            (params["change_rf_gain_0dB_manual"], 2000000, 0.25, -29),
            (params["change_rf_gain_20dB_manual"], 2000000, 0.25, -9),
            (params["change_temp_gain_up"], 2000000, 0.25, -16),
            (params["change_temp_gain_down"], 2000000, 0.25, -22),
        ],
    )
    def test_ad9371_dds_loopback(
        test_dds_loopback,
        iio_uri,
        classname,
        param_set,
        channel,
        frequency,
        scale,
        peak_min,
    ):
>       test_dds_loopback(
            iio_uri, classname, param_set, channel, frequency, scale, peak_min
        )

test/test_ad9371.py:310: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf1ae7c40>
event = <threading.Event object at 0x7f5bf1ae7970>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_dds_loopback[param_set1-2000000-0.12--25-0-adi.ad9371] (test.test_ad9371) failed

results.xml [took 2s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f5bfc77df70>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
param_set = {'ensm_mode': 'radio_on', 'gain_control_mode': 'manual', 'rx_hardwaregain_chan0': 10, 'rx_hardwaregain_chan1': 10, ...}
channel = 0, frequency = 2000000, scale = 0.12, peak_min = -25

    @pytest.mark.no_obs_required
    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", [0, 1])
    @pytest.mark.parametrize(
        "param_set, frequency, scale, peak_min",
        [
            (params["one_cw_tone_manual"], 2000000, 0.5, -13),
            (params["one_cw_tone_manual"], 2000000, 0.12, -25),
            (params["one_cw_tone_manual"], 2000000, 0.25, -19),
            (params["one_cw_tone_auto"], 1000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 2000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 500000, 0.12, -14.7),
            (params["change_attenuation_5dB_manual"], 2000000, 0.25, -23.8),
            (params["change_attenuation_10dB_manual"], 2000000, 0.25, -28.75),
            (params["change_attenuation_0dB_auto"], 1000000, 0.12, -9),
            (params["change_attenuation_20dB_auto"], 1000000, 0.12, -24.7),
            (params["change_rf_gain_0dB_manual"], 2000000, 0.25, -29),
            (params["change_rf_gain_20dB_manual"], 2000000, 0.25, -9),
            (params["change_temp_gain_up"], 2000000, 0.25, -16),
            (params["change_temp_gain_down"], 2000000, 0.25, -22),
        ],
    )
    def test_ad9371_dds_loopback(
        test_dds_loopback,
        iio_uri,
        classname,
        param_set,
        channel,
        frequency,
        scale,
        peak_min,
    ):
>       test_dds_loopback(
            iio_uri, classname, param_set, channel, frequency, scale, peak_min
        )

test/test_ad9371.py:310: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf1b9aa60>
event = <threading.Event object at 0x7f5bf1b9a6d0>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_dds_loopback[param_set1-2000000-0.12--25-1-adi.ad9371] (test.test_ad9371) failed

results.xml [took 2s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f5bfc77df70>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
param_set = {'ensm_mode': 'radio_on', 'gain_control_mode': 'manual', 'rx_hardwaregain_chan0': 10, 'rx_hardwaregain_chan1': 10, ...}
channel = 1, frequency = 2000000, scale = 0.12, peak_min = -25

    @pytest.mark.no_obs_required
    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", [0, 1])
    @pytest.mark.parametrize(
        "param_set, frequency, scale, peak_min",
        [
            (params["one_cw_tone_manual"], 2000000, 0.5, -13),
            (params["one_cw_tone_manual"], 2000000, 0.12, -25),
            (params["one_cw_tone_manual"], 2000000, 0.25, -19),
            (params["one_cw_tone_auto"], 1000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 2000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 500000, 0.12, -14.7),
            (params["change_attenuation_5dB_manual"], 2000000, 0.25, -23.8),
            (params["change_attenuation_10dB_manual"], 2000000, 0.25, -28.75),
            (params["change_attenuation_0dB_auto"], 1000000, 0.12, -9),
            (params["change_attenuation_20dB_auto"], 1000000, 0.12, -24.7),
            (params["change_rf_gain_0dB_manual"], 2000000, 0.25, -29),
            (params["change_rf_gain_20dB_manual"], 2000000, 0.25, -9),
            (params["change_temp_gain_up"], 2000000, 0.25, -16),
            (params["change_temp_gain_down"], 2000000, 0.25, -22),
        ],
    )
    def test_ad9371_dds_loopback(
        test_dds_loopback,
        iio_uri,
        classname,
        param_set,
        channel,
        frequency,
        scale,
        peak_min,
    ):
>       test_dds_loopback(
            iio_uri, classname, param_set, channel, frequency, scale, peak_min
        )

test/test_ad9371.py:310: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf1e6a610>
event = <threading.Event object at 0x7f5bf1e6a3a0>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_dds_loopback[param_set2-2000000-0.25--19-0-adi.ad9371] (test.test_ad9371) failed

results.xml [took 2s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f5bfc77df70>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
param_set = {'ensm_mode': 'radio_on', 'gain_control_mode': 'manual', 'rx_hardwaregain_chan0': 10, 'rx_hardwaregain_chan1': 10, ...}
channel = 0, frequency = 2000000, scale = 0.25, peak_min = -19

    @pytest.mark.no_obs_required
    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", [0, 1])
    @pytest.mark.parametrize(
        "param_set, frequency, scale, peak_min",
        [
            (params["one_cw_tone_manual"], 2000000, 0.5, -13),
            (params["one_cw_tone_manual"], 2000000, 0.12, -25),
            (params["one_cw_tone_manual"], 2000000, 0.25, -19),
            (params["one_cw_tone_auto"], 1000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 2000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 500000, 0.12, -14.7),
            (params["change_attenuation_5dB_manual"], 2000000, 0.25, -23.8),
            (params["change_attenuation_10dB_manual"], 2000000, 0.25, -28.75),
            (params["change_attenuation_0dB_auto"], 1000000, 0.12, -9),
            (params["change_attenuation_20dB_auto"], 1000000, 0.12, -24.7),
            (params["change_rf_gain_0dB_manual"], 2000000, 0.25, -29),
            (params["change_rf_gain_20dB_manual"], 2000000, 0.25, -9),
            (params["change_temp_gain_up"], 2000000, 0.25, -16),
            (params["change_temp_gain_down"], 2000000, 0.25, -22),
        ],
    )
    def test_ad9371_dds_loopback(
        test_dds_loopback,
        iio_uri,
        classname,
        param_set,
        channel,
        frequency,
        scale,
        peak_min,
    ):
>       test_dds_loopback(
            iio_uri, classname, param_set, channel, frequency, scale, peak_min
        )

test/test_ad9371.py:310: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf18cdca0>
event = <threading.Event object at 0x7f5bf18cdbe0>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_dds_loopback[param_set2-2000000-0.25--19-1-adi.ad9371] (test.test_ad9371) failed

results.xml [took 2s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f5bfc77df70>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
param_set = {'ensm_mode': 'radio_on', 'gain_control_mode': 'manual', 'rx_hardwaregain_chan0': 10, 'rx_hardwaregain_chan1': 10, ...}
channel = 1, frequency = 2000000, scale = 0.25, peak_min = -19

    @pytest.mark.no_obs_required
    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", [0, 1])
    @pytest.mark.parametrize(
        "param_set, frequency, scale, peak_min",
        [
            (params["one_cw_tone_manual"], 2000000, 0.5, -13),
            (params["one_cw_tone_manual"], 2000000, 0.12, -25),
            (params["one_cw_tone_manual"], 2000000, 0.25, -19),
            (params["one_cw_tone_auto"], 1000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 2000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 500000, 0.12, -14.7),
            (params["change_attenuation_5dB_manual"], 2000000, 0.25, -23.8),
            (params["change_attenuation_10dB_manual"], 2000000, 0.25, -28.75),
            (params["change_attenuation_0dB_auto"], 1000000, 0.12, -9),
            (params["change_attenuation_20dB_auto"], 1000000, 0.12, -24.7),
            (params["change_rf_gain_0dB_manual"], 2000000, 0.25, -29),
            (params["change_rf_gain_20dB_manual"], 2000000, 0.25, -9),
            (params["change_temp_gain_up"], 2000000, 0.25, -16),
            (params["change_temp_gain_down"], 2000000, 0.25, -22),
        ],
    )
    def test_ad9371_dds_loopback(
        test_dds_loopback,
        iio_uri,
        classname,
        param_set,
        channel,
        frequency,
        scale,
        peak_min,
    ):
>       test_dds_loopback(
            iio_uri, classname, param_set, channel, frequency, scale, peak_min
        )

test/test_ad9371.py:310: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf1e07070>
event = <threading.Event object at 0x7f5bf1e0c370>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_dds_loopback[param_set3-1000000-0.12--14.7-0-adi.ad9371] (test.test_ad9371) failed

results.xml [took 0s]
Raw output
paramiko.ssh_exception.SSHException: Error reading SSH protocol banner
self = <paramiko.Transport at 0xf1afc250 (unconnected)>

    def _check_banner(self):
        # this is slow, but we only have to do it once
        for i in range(100):
            # give them 15 seconds for the first line, then just 2 seconds
            # each additional line.  (some sites have very high latency.)
            if i == 0:
                timeout = self.banner_timeout
            else:
                timeout = 2
            try:
>               buf = self.packetizer.readline(timeout)

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:2327: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/packet.py:381: in readline
    buf += self._read_timeout(timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.packet.Packetizer object at 0x7f5bf1afc610>, timeout = 2

    def _read_timeout(self, timeout):
        start = time.time()
        while True:
            try:
                x = self.__socket.recv(128)
                if len(x) == 0:
>                   raise EOFError()
E                   EOFError

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/packet.py:618: EOFError

During handling of the above exception, another exception occurred:

test_dds_loopback = <function dds_loopback at 0x7f5bfc77df70>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
param_set = {'ensm_mode': 'radio_on', 'gain_control_mode': 'automatic', 'rx_lo': 2500000000, 'rx_temp_comp_gain_chan0': 0, ...}
channel = 0, frequency = 1000000, scale = 0.12, peak_min = -14.7

    @pytest.mark.no_obs_required
    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", [0, 1])
    @pytest.mark.parametrize(
        "param_set, frequency, scale, peak_min",
        [
            (params["one_cw_tone_manual"], 2000000, 0.5, -13),
            (params["one_cw_tone_manual"], 2000000, 0.12, -25),
            (params["one_cw_tone_manual"], 2000000, 0.25, -19),
            (params["one_cw_tone_auto"], 1000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 2000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 500000, 0.12, -14.7),
            (params["change_attenuation_5dB_manual"], 2000000, 0.25, -23.8),
            (params["change_attenuation_10dB_manual"], 2000000, 0.25, -28.75),
            (params["change_attenuation_0dB_auto"], 1000000, 0.12, -9),
            (params["change_attenuation_20dB_auto"], 1000000, 0.12, -24.7),
            (params["change_rf_gain_0dB_manual"], 2000000, 0.25, -29),
            (params["change_rf_gain_20dB_manual"], 2000000, 0.25, -9),
            (params["change_temp_gain_up"], 2000000, 0.25, -16),
            (params["change_temp_gain_down"], 2000000, 0.25, -22),
        ],
    )
    def test_ad9371_dds_loopback(
        test_dds_loopback,
        iio_uri,
        classname,
        param_set,
        channel,
        frequency,
        scale,
        peak_min,
    ):
>       test_dds_loopback(
            iio_uri, classname, param_set, channel, frequency, scale, peak_min
        )

test/test_ad9371.py:310: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:451: in connect
    t.start_client(timeout=timeout)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:738: in start_client
    raise e
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:2143: in run
    self._check_banner()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.Transport at 0xf1afc250 (unconnected)>

    def _check_banner(self):
        # this is slow, but we only have to do it once
        for i in range(100):
            # give them 15 seconds for the first line, then just 2 seconds
            # each additional line.  (some sites have very high latency.)
            if i == 0:
                timeout = self.banner_timeout
            else:
                timeout = 2
            try:
                buf = self.packetizer.readline(timeout)
            except ProxyCommandFailure:
                raise
            except Exception as e:
>               raise SSHException(
                    "Error reading SSH protocol banner" + str(e)
                )
E               paramiko.ssh_exception.SSHException: Error reading SSH protocol banner

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:2331: SSHException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_dds_loopback[param_set3-1000000-0.12--14.7-1-adi.ad9371] (test.test_ad9371) failed

results.xml [took 2s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f5bfc77df70>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
param_set = {'ensm_mode': 'radio_on', 'gain_control_mode': 'automatic', 'rx_lo': 2500000000, 'rx_temp_comp_gain_chan0': 0, ...}
channel = 1, frequency = 1000000, scale = 0.12, peak_min = -14.7

    @pytest.mark.no_obs_required
    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", [0, 1])
    @pytest.mark.parametrize(
        "param_set, frequency, scale, peak_min",
        [
            (params["one_cw_tone_manual"], 2000000, 0.5, -13),
            (params["one_cw_tone_manual"], 2000000, 0.12, -25),
            (params["one_cw_tone_manual"], 2000000, 0.25, -19),
            (params["one_cw_tone_auto"], 1000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 2000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 500000, 0.12, -14.7),
            (params["change_attenuation_5dB_manual"], 2000000, 0.25, -23.8),
            (params["change_attenuation_10dB_manual"], 2000000, 0.25, -28.75),
            (params["change_attenuation_0dB_auto"], 1000000, 0.12, -9),
            (params["change_attenuation_20dB_auto"], 1000000, 0.12, -24.7),
            (params["change_rf_gain_0dB_manual"], 2000000, 0.25, -29),
            (params["change_rf_gain_20dB_manual"], 2000000, 0.25, -9),
            (params["change_temp_gain_up"], 2000000, 0.25, -16),
            (params["change_temp_gain_down"], 2000000, 0.25, -22),
        ],
    )
    def test_ad9371_dds_loopback(
        test_dds_loopback,
        iio_uri,
        classname,
        param_set,
        channel,
        frequency,
        scale,
        peak_min,
    ):
>       test_dds_loopback(
            iio_uri, classname, param_set, channel, frequency, scale, peak_min
        )

test/test_ad9371.py:310: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf1ad8100>
event = <threading.Event object at 0x7f5bf1ad8670>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_dds_loopback[param_set4-2000000-0.12--14.7-0-adi.ad9371] (test.test_ad9371) failed

results.xml [took 2s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f5bfc77df70>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
param_set = {'ensm_mode': 'radio_on', 'gain_control_mode': 'automatic', 'rx_lo': 2500000000, 'rx_temp_comp_gain_chan0': 0, ...}
channel = 0, frequency = 2000000, scale = 0.12, peak_min = -14.7

    @pytest.mark.no_obs_required
    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", [0, 1])
    @pytest.mark.parametrize(
        "param_set, frequency, scale, peak_min",
        [
            (params["one_cw_tone_manual"], 2000000, 0.5, -13),
            (params["one_cw_tone_manual"], 2000000, 0.12, -25),
            (params["one_cw_tone_manual"], 2000000, 0.25, -19),
            (params["one_cw_tone_auto"], 1000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 2000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 500000, 0.12, -14.7),
            (params["change_attenuation_5dB_manual"], 2000000, 0.25, -23.8),
            (params["change_attenuation_10dB_manual"], 2000000, 0.25, -28.75),
            (params["change_attenuation_0dB_auto"], 1000000, 0.12, -9),
            (params["change_attenuation_20dB_auto"], 1000000, 0.12, -24.7),
            (params["change_rf_gain_0dB_manual"], 2000000, 0.25, -29),
            (params["change_rf_gain_20dB_manual"], 2000000, 0.25, -9),
            (params["change_temp_gain_up"], 2000000, 0.25, -16),
            (params["change_temp_gain_down"], 2000000, 0.25, -22),
        ],
    )
    def test_ad9371_dds_loopback(
        test_dds_loopback,
        iio_uri,
        classname,
        param_set,
        channel,
        frequency,
        scale,
        peak_min,
    ):
>       test_dds_loopback(
            iio_uri, classname, param_set, channel, frequency, scale, peak_min
        )

test/test_ad9371.py:310: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf1df02b0>
event = <threading.Event object at 0x7f5bf1ce14c0>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_dds_loopback[param_set4-2000000-0.12--14.7-1-adi.ad9371] (test.test_ad9371) failed

results.xml [took 2s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f5bfc77df70>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
param_set = {'ensm_mode': 'radio_on', 'gain_control_mode': 'automatic', 'rx_lo': 2500000000, 'rx_temp_comp_gain_chan0': 0, ...}
channel = 1, frequency = 2000000, scale = 0.12, peak_min = -14.7

    @pytest.mark.no_obs_required
    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", [0, 1])
    @pytest.mark.parametrize(
        "param_set, frequency, scale, peak_min",
        [
            (params["one_cw_tone_manual"], 2000000, 0.5, -13),
            (params["one_cw_tone_manual"], 2000000, 0.12, -25),
            (params["one_cw_tone_manual"], 2000000, 0.25, -19),
            (params["one_cw_tone_auto"], 1000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 2000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 500000, 0.12, -14.7),
            (params["change_attenuation_5dB_manual"], 2000000, 0.25, -23.8),
            (params["change_attenuation_10dB_manual"], 2000000, 0.25, -28.75),
            (params["change_attenuation_0dB_auto"], 1000000, 0.12, -9),
            (params["change_attenuation_20dB_auto"], 1000000, 0.12, -24.7),
            (params["change_rf_gain_0dB_manual"], 2000000, 0.25, -29),
            (params["change_rf_gain_20dB_manual"], 2000000, 0.25, -9),
            (params["change_temp_gain_up"], 2000000, 0.25, -16),
            (params["change_temp_gain_down"], 2000000, 0.25, -22),
        ],
    )
    def test_ad9371_dds_loopback(
        test_dds_loopback,
        iio_uri,
        classname,
        param_set,
        channel,
        frequency,
        scale,
        peak_min,
    ):
>       test_dds_loopback(
            iio_uri, classname, param_set, channel, frequency, scale, peak_min
        )

test/test_ad9371.py:310: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf1bbab20>
event = <threading.Event object at 0x7f5bf1bba700>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_dds_loopback[param_set5-500000-0.12--14.7-0-adi.ad9371] (test.test_ad9371) failed

results.xml [took 0s]
Raw output
paramiko.ssh_exception.SSHException: Error reading SSH protocol banner
self = <paramiko.Transport at 0xf1c7ec10 (unconnected)>

    def _check_banner(self):
        # this is slow, but we only have to do it once
        for i in range(100):
            # give them 15 seconds for the first line, then just 2 seconds
            # each additional line.  (some sites have very high latency.)
            if i == 0:
                timeout = self.banner_timeout
            else:
                timeout = 2
            try:
>               buf = self.packetizer.readline(timeout)

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:2327: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/packet.py:381: in readline
    buf += self._read_timeout(timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.packet.Packetizer object at 0x7f5bf1aa9850>, timeout = 2

    def _read_timeout(self, timeout):
        start = time.time()
        while True:
            try:
                x = self.__socket.recv(128)
                if len(x) == 0:
>                   raise EOFError()
E                   EOFError

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/packet.py:618: EOFError

During handling of the above exception, another exception occurred:

test_dds_loopback = <function dds_loopback at 0x7f5bfc77df70>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
param_set = {'ensm_mode': 'radio_on', 'gain_control_mode': 'automatic', 'rx_lo': 2500000000, 'rx_temp_comp_gain_chan0': 0, ...}
channel = 0, frequency = 500000, scale = 0.12, peak_min = -14.7

    @pytest.mark.no_obs_required
    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", [0, 1])
    @pytest.mark.parametrize(
        "param_set, frequency, scale, peak_min",
        [
            (params["one_cw_tone_manual"], 2000000, 0.5, -13),
            (params["one_cw_tone_manual"], 2000000, 0.12, -25),
            (params["one_cw_tone_manual"], 2000000, 0.25, -19),
            (params["one_cw_tone_auto"], 1000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 2000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 500000, 0.12, -14.7),
            (params["change_attenuation_5dB_manual"], 2000000, 0.25, -23.8),
            (params["change_attenuation_10dB_manual"], 2000000, 0.25, -28.75),
            (params["change_attenuation_0dB_auto"], 1000000, 0.12, -9),
            (params["change_attenuation_20dB_auto"], 1000000, 0.12, -24.7),
            (params["change_rf_gain_0dB_manual"], 2000000, 0.25, -29),
            (params["change_rf_gain_20dB_manual"], 2000000, 0.25, -9),
            (params["change_temp_gain_up"], 2000000, 0.25, -16),
            (params["change_temp_gain_down"], 2000000, 0.25, -22),
        ],
    )
    def test_ad9371_dds_loopback(
        test_dds_loopback,
        iio_uri,
        classname,
        param_set,
        channel,
        frequency,
        scale,
        peak_min,
    ):
>       test_dds_loopback(
            iio_uri, classname, param_set, channel, frequency, scale, peak_min
        )

test/test_ad9371.py:310: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:451: in connect
    t.start_client(timeout=timeout)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:738: in start_client
    raise e
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:2143: in run
    self._check_banner()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.Transport at 0xf1c7ec10 (unconnected)>

    def _check_banner(self):
        # this is slow, but we only have to do it once
        for i in range(100):
            # give them 15 seconds for the first line, then just 2 seconds
            # each additional line.  (some sites have very high latency.)
            if i == 0:
                timeout = self.banner_timeout
            else:
                timeout = 2
            try:
                buf = self.packetizer.readline(timeout)
            except ProxyCommandFailure:
                raise
            except Exception as e:
>               raise SSHException(
                    "Error reading SSH protocol banner" + str(e)
                )
E               paramiko.ssh_exception.SSHException: Error reading SSH protocol banner

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:2331: SSHException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_dds_loopback[param_set5-500000-0.12--14.7-1-adi.ad9371] (test.test_ad9371) failed

results.xml [took 2s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f5bfc77df70>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
param_set = {'ensm_mode': 'radio_on', 'gain_control_mode': 'automatic', 'rx_lo': 2500000000, 'rx_temp_comp_gain_chan0': 0, ...}
channel = 1, frequency = 500000, scale = 0.12, peak_min = -14.7

    @pytest.mark.no_obs_required
    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", [0, 1])
    @pytest.mark.parametrize(
        "param_set, frequency, scale, peak_min",
        [
            (params["one_cw_tone_manual"], 2000000, 0.5, -13),
            (params["one_cw_tone_manual"], 2000000, 0.12, -25),
            (params["one_cw_tone_manual"], 2000000, 0.25, -19),
            (params["one_cw_tone_auto"], 1000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 2000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 500000, 0.12, -14.7),
            (params["change_attenuation_5dB_manual"], 2000000, 0.25, -23.8),
            (params["change_attenuation_10dB_manual"], 2000000, 0.25, -28.75),
            (params["change_attenuation_0dB_auto"], 1000000, 0.12, -9),
            (params["change_attenuation_20dB_auto"], 1000000, 0.12, -24.7),
            (params["change_rf_gain_0dB_manual"], 2000000, 0.25, -29),
            (params["change_rf_gain_20dB_manual"], 2000000, 0.25, -9),
            (params["change_temp_gain_up"], 2000000, 0.25, -16),
            (params["change_temp_gain_down"], 2000000, 0.25, -22),
        ],
    )
    def test_ad9371_dds_loopback(
        test_dds_loopback,
        iio_uri,
        classname,
        param_set,
        channel,
        frequency,
        scale,
        peak_min,
    ):
>       test_dds_loopback(
            iio_uri, classname, param_set, channel, frequency, scale, peak_min
        )

test/test_ad9371.py:310: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf1ae74c0>
event = <threading.Event object at 0x7f5bf1bb8790>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_dds_loopback[param_set6-2000000-0.25--23.8-0-adi.ad9371] (test.test_ad9371) failed

results.xml [took 2s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f5bfc77df70>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
param_set = {'ensm_mode': 'radio_on', 'gain_control_mode': 'manual', 'rx_hardwaregain_chan0': 10, 'rx_hardwaregain_chan1': 10, ...}
channel = 0, frequency = 2000000, scale = 0.25, peak_min = -23.8

    @pytest.mark.no_obs_required
    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", [0, 1])
    @pytest.mark.parametrize(
        "param_set, frequency, scale, peak_min",
        [
            (params["one_cw_tone_manual"], 2000000, 0.5, -13),
            (params["one_cw_tone_manual"], 2000000, 0.12, -25),
            (params["one_cw_tone_manual"], 2000000, 0.25, -19),
            (params["one_cw_tone_auto"], 1000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 2000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 500000, 0.12, -14.7),
            (params["change_attenuation_5dB_manual"], 2000000, 0.25, -23.8),
            (params["change_attenuation_10dB_manual"], 2000000, 0.25, -28.75),
            (params["change_attenuation_0dB_auto"], 1000000, 0.12, -9),
            (params["change_attenuation_20dB_auto"], 1000000, 0.12, -24.7),
            (params["change_rf_gain_0dB_manual"], 2000000, 0.25, -29),
            (params["change_rf_gain_20dB_manual"], 2000000, 0.25, -9),
            (params["change_temp_gain_up"], 2000000, 0.25, -16),
            (params["change_temp_gain_down"], 2000000, 0.25, -22),
        ],
    )
    def test_ad9371_dds_loopback(
        test_dds_loopback,
        iio_uri,
        classname,
        param_set,
        channel,
        frequency,
        scale,
        peak_min,
    ):
>       test_dds_loopback(
            iio_uri, classname, param_set, channel, frequency, scale, peak_min
        )

test/test_ad9371.py:310: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf1ac78e0>
event = <threading.Event object at 0x7f5bf1ac7a00>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_dds_loopback[param_set6-2000000-0.25--23.8-1-adi.ad9371] (test.test_ad9371) failed

results.xml [took 1s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f5bfc77df70>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
param_set = {'ensm_mode': 'radio_on', 'gain_control_mode': 'manual', 'rx_hardwaregain_chan0': 10, 'rx_hardwaregain_chan1': 10, ...}
channel = 1, frequency = 2000000, scale = 0.25, peak_min = -23.8

    @pytest.mark.no_obs_required
    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", [0, 1])
    @pytest.mark.parametrize(
        "param_set, frequency, scale, peak_min",
        [
            (params["one_cw_tone_manual"], 2000000, 0.5, -13),
            (params["one_cw_tone_manual"], 2000000, 0.12, -25),
            (params["one_cw_tone_manual"], 2000000, 0.25, -19),
            (params["one_cw_tone_auto"], 1000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 2000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 500000, 0.12, -14.7),
            (params["change_attenuation_5dB_manual"], 2000000, 0.25, -23.8),
            (params["change_attenuation_10dB_manual"], 2000000, 0.25, -28.75),
            (params["change_attenuation_0dB_auto"], 1000000, 0.12, -9),
            (params["change_attenuation_20dB_auto"], 1000000, 0.12, -24.7),
            (params["change_rf_gain_0dB_manual"], 2000000, 0.25, -29),
            (params["change_rf_gain_20dB_manual"], 2000000, 0.25, -9),
            (params["change_temp_gain_up"], 2000000, 0.25, -16),
            (params["change_temp_gain_down"], 2000000, 0.25, -22),
        ],
    )
    def test_ad9371_dds_loopback(
        test_dds_loopback,
        iio_uri,
        classname,
        param_set,
        channel,
        frequency,
        scale,
        peak_min,
    ):
>       test_dds_loopback(
            iio_uri, classname, param_set, channel, frequency, scale, peak_min
        )

test/test_ad9371.py:310: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf1d38f40>
event = <threading.Event object at 0x7f5bf1d386a0>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_dds_loopback[param_set7-2000000-0.25--28.75-0-adi.ad9371] (test.test_ad9371) failed

results.xml [took 2s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f5bfc77df70>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
param_set = {'ensm_mode': 'radio_on', 'gain_control_mode': 'manual', 'rx_hardwaregain_chan0': 10, 'rx_hardwaregain_chan1': 10, ...}
channel = 0, frequency = 2000000, scale = 0.25, peak_min = -28.75

    @pytest.mark.no_obs_required
    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", [0, 1])
    @pytest.mark.parametrize(
        "param_set, frequency, scale, peak_min",
        [
            (params["one_cw_tone_manual"], 2000000, 0.5, -13),
            (params["one_cw_tone_manual"], 2000000, 0.12, -25),
            (params["one_cw_tone_manual"], 2000000, 0.25, -19),
            (params["one_cw_tone_auto"], 1000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 2000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 500000, 0.12, -14.7),
            (params["change_attenuation_5dB_manual"], 2000000, 0.25, -23.8),
            (params["change_attenuation_10dB_manual"], 2000000, 0.25, -28.75),
            (params["change_attenuation_0dB_auto"], 1000000, 0.12, -9),
            (params["change_attenuation_20dB_auto"], 1000000, 0.12, -24.7),
            (params["change_rf_gain_0dB_manual"], 2000000, 0.25, -29),
            (params["change_rf_gain_20dB_manual"], 2000000, 0.25, -9),
            (params["change_temp_gain_up"], 2000000, 0.25, -16),
            (params["change_temp_gain_down"], 2000000, 0.25, -22),
        ],
    )
    def test_ad9371_dds_loopback(
        test_dds_loopback,
        iio_uri,
        classname,
        param_set,
        channel,
        frequency,
        scale,
        peak_min,
    ):
>       test_dds_loopback(
            iio_uri, classname, param_set, channel, frequency, scale, peak_min
        )

test/test_ad9371.py:310: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf1f60f70>
event = <threading.Event object at 0x7f5bf1b9df10>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_dds_loopback[param_set7-2000000-0.25--28.75-1-adi.ad9371] (test.test_ad9371) failed

results.xml [took 0s]
Raw output
paramiko.ssh_exception.SSHException: Error reading SSH protocol banner
self = <paramiko.Transport at 0xf1edba60 (unconnected)>

    def _check_banner(self):
        # this is slow, but we only have to do it once
        for i in range(100):
            # give them 15 seconds for the first line, then just 2 seconds
            # each additional line.  (some sites have very high latency.)
            if i == 0:
                timeout = self.banner_timeout
            else:
                timeout = 2
            try:
>               buf = self.packetizer.readline(timeout)

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:2327: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/packet.py:381: in readline
    buf += self._read_timeout(timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.packet.Packetizer object at 0x7f5bf1edb9d0>, timeout = 2

    def _read_timeout(self, timeout):
        start = time.time()
        while True:
            try:
                x = self.__socket.recv(128)
                if len(x) == 0:
>                   raise EOFError()
E                   EOFError

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/packet.py:618: EOFError

During handling of the above exception, another exception occurred:

test_dds_loopback = <function dds_loopback at 0x7f5bfc77df70>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
param_set = {'ensm_mode': 'radio_on', 'gain_control_mode': 'manual', 'rx_hardwaregain_chan0': 10, 'rx_hardwaregain_chan1': 10, ...}
channel = 1, frequency = 2000000, scale = 0.25, peak_min = -28.75

    @pytest.mark.no_obs_required
    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", [0, 1])
    @pytest.mark.parametrize(
        "param_set, frequency, scale, peak_min",
        [
            (params["one_cw_tone_manual"], 2000000, 0.5, -13),
            (params["one_cw_tone_manual"], 2000000, 0.12, -25),
            (params["one_cw_tone_manual"], 2000000, 0.25, -19),
            (params["one_cw_tone_auto"], 1000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 2000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 500000, 0.12, -14.7),
            (params["change_attenuation_5dB_manual"], 2000000, 0.25, -23.8),
            (params["change_attenuation_10dB_manual"], 2000000, 0.25, -28.75),
            (params["change_attenuation_0dB_auto"], 1000000, 0.12, -9),
            (params["change_attenuation_20dB_auto"], 1000000, 0.12, -24.7),
            (params["change_rf_gain_0dB_manual"], 2000000, 0.25, -29),
            (params["change_rf_gain_20dB_manual"], 2000000, 0.25, -9),
            (params["change_temp_gain_up"], 2000000, 0.25, -16),
            (params["change_temp_gain_down"], 2000000, 0.25, -22),
        ],
    )
    def test_ad9371_dds_loopback(
        test_dds_loopback,
        iio_uri,
        classname,
        param_set,
        channel,
        frequency,
        scale,
        peak_min,
    ):
>       test_dds_loopback(
            iio_uri, classname, param_set, channel, frequency, scale, peak_min
        )

test/test_ad9371.py:310: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:451: in connect
    t.start_client(timeout=timeout)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:738: in start_client
    raise e
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:2143: in run
    self._check_banner()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.Transport at 0xf1edba60 (unconnected)>

    def _check_banner(self):
        # this is slow, but we only have to do it once
        for i in range(100):
            # give them 15 seconds for the first line, then just 2 seconds
            # each additional line.  (some sites have very high latency.)
            if i == 0:
                timeout = self.banner_timeout
            else:
                timeout = 2
            try:
                buf = self.packetizer.readline(timeout)
            except ProxyCommandFailure:
                raise
            except Exception as e:
>               raise SSHException(
                    "Error reading SSH protocol banner" + str(e)
                )
E               paramiko.ssh_exception.SSHException: Error reading SSH protocol banner

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:2331: SSHException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_dds_loopback[param_set8-1000000-0.12--9-0-adi.ad9371] (test.test_ad9371) failed

results.xml [took 1s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f5bfc77df70>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
param_set = {'ensm_mode': 'radio_on', 'gain_control_mode': 'automatic', 'rx_lo': 2500000000, 'rx_temp_comp_gain_chan0': 0, ...}
channel = 0, frequency = 1000000, scale = 0.12, peak_min = -9

    @pytest.mark.no_obs_required
    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", [0, 1])
    @pytest.mark.parametrize(
        "param_set, frequency, scale, peak_min",
        [
            (params["one_cw_tone_manual"], 2000000, 0.5, -13),
            (params["one_cw_tone_manual"], 2000000, 0.12, -25),
            (params["one_cw_tone_manual"], 2000000, 0.25, -19),
            (params["one_cw_tone_auto"], 1000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 2000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 500000, 0.12, -14.7),
            (params["change_attenuation_5dB_manual"], 2000000, 0.25, -23.8),
            (params["change_attenuation_10dB_manual"], 2000000, 0.25, -28.75),
            (params["change_attenuation_0dB_auto"], 1000000, 0.12, -9),
            (params["change_attenuation_20dB_auto"], 1000000, 0.12, -24.7),
            (params["change_rf_gain_0dB_manual"], 2000000, 0.25, -29),
            (params["change_rf_gain_20dB_manual"], 2000000, 0.25, -9),
            (params["change_temp_gain_up"], 2000000, 0.25, -16),
            (params["change_temp_gain_down"], 2000000, 0.25, -22),
        ],
    )
    def test_ad9371_dds_loopback(
        test_dds_loopback,
        iio_uri,
        classname,
        param_set,
        channel,
        frequency,
        scale,
        peak_min,
    ):
>       test_dds_loopback(
            iio_uri, classname, param_set, channel, frequency, scale, peak_min
        )

test/test_ad9371.py:310: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf1d0d3a0>
event = <threading.Event object at 0x7f5bf1d0ddf0>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_dds_loopback[param_set8-1000000-0.12--9-1-adi.ad9371] (test.test_ad9371) failed

results.xml [took 2s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f5bfc77df70>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
param_set = {'ensm_mode': 'radio_on', 'gain_control_mode': 'automatic', 'rx_lo': 2500000000, 'rx_temp_comp_gain_chan0': 0, ...}
channel = 1, frequency = 1000000, scale = 0.12, peak_min = -9

    @pytest.mark.no_obs_required
    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", [0, 1])
    @pytest.mark.parametrize(
        "param_set, frequency, scale, peak_min",
        [
            (params["one_cw_tone_manual"], 2000000, 0.5, -13),
            (params["one_cw_tone_manual"], 2000000, 0.12, -25),
            (params["one_cw_tone_manual"], 2000000, 0.25, -19),
            (params["one_cw_tone_auto"], 1000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 2000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 500000, 0.12, -14.7),
            (params["change_attenuation_5dB_manual"], 2000000, 0.25, -23.8),
            (params["change_attenuation_10dB_manual"], 2000000, 0.25, -28.75),
            (params["change_attenuation_0dB_auto"], 1000000, 0.12, -9),
            (params["change_attenuation_20dB_auto"], 1000000, 0.12, -24.7),
            (params["change_rf_gain_0dB_manual"], 2000000, 0.25, -29),
            (params["change_rf_gain_20dB_manual"], 2000000, 0.25, -9),
            (params["change_temp_gain_up"], 2000000, 0.25, -16),
            (params["change_temp_gain_down"], 2000000, 0.25, -22),
        ],
    )
    def test_ad9371_dds_loopback(
        test_dds_loopback,
        iio_uri,
        classname,
        param_set,
        channel,
        frequency,
        scale,
        peak_min,
    ):
>       test_dds_loopback(
            iio_uri, classname, param_set, channel, frequency, scale, peak_min
        )

test/test_ad9371.py:310: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf19ac670>
event = <threading.Event object at 0x7f5bf19ac940>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

test_ad9371_dds_loopback[param_set9-1000000-0.12--24.7-0-adi.ad9371] (test.test_ad9371) failed

results.xml [took 2s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f5bfc77df70>
iio_uri = 'ip:10.1.0.127', classname = 'adi.ad9371'
param_set = {'ensm_mode': 'radio_on', 'gain_control_mode': 'automatic', 'rx_lo': 2500000000, 'rx_temp_comp_gain_chan0': 0, ...}
channel = 0, frequency = 1000000, scale = 0.12, peak_min = -24.7

    @pytest.mark.no_obs_required
    @pytest.mark.iio_hardware(hardware)
    @pytest.mark.parametrize("classname", [(classname)])
    @pytest.mark.parametrize("channel", [0, 1])
    @pytest.mark.parametrize(
        "param_set, frequency, scale, peak_min",
        [
            (params["one_cw_tone_manual"], 2000000, 0.5, -13),
            (params["one_cw_tone_manual"], 2000000, 0.12, -25),
            (params["one_cw_tone_manual"], 2000000, 0.25, -19),
            (params["one_cw_tone_auto"], 1000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 2000000, 0.12, -14.7),
            (params["one_cw_tone_auto"], 500000, 0.12, -14.7),
            (params["change_attenuation_5dB_manual"], 2000000, 0.25, -23.8),
            (params["change_attenuation_10dB_manual"], 2000000, 0.25, -28.75),
            (params["change_attenuation_0dB_auto"], 1000000, 0.12, -9),
            (params["change_attenuation_20dB_auto"], 1000000, 0.12, -24.7),
            (params["change_rf_gain_0dB_manual"], 2000000, 0.25, -29),
            (params["change_rf_gain_20dB_manual"], 2000000, 0.25, -9),
            (params["change_temp_gain_up"], 2000000, 0.25, -16),
            (params["change_temp_gain_down"], 2000000, 0.25, -22),
        ],
    )
    def test_ad9371_dds_loopback(
        test_dds_loopback,
        iio_uri,
        classname,
        param_set,
        channel,
        frequency,
        scale,
        peak_min,
    ):
>       test_dds_loopback(
            iio_uri, classname, param_set, channel, frequency, scale, peak_min
        )

test/test_ad9371.py:310: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7f5bf20c28b0>
event = <threading.Event object at 0x7f5bf20c2460>

    def wait_for_response(self, event):
        max_ts = None
        if self.transport.auth_timeout is not None:
            max_ts = time.time() + self.transport.auth_timeout
        while True:
            event.wait(0.1)
            if not self.transport.is_active():
                e = self.transport.get_exception()
                if (e is None) or issubclass(e.__class__, EOFError):
                    e = AuthenticationException(
                        "Authentication failed: transport shut down or saw EOF"
                    )
                raise e
            if event.is_set():
                break
            if max_ts is not None and max_ts <= time.time():
                raise AuthenticationException("Authentication timeout.")
    
        if not self.is_authenticated():
            e = self.transport.get_exception()
            if e is None:
                e = AuthenticationException("Authentication failed.")
            # this is horrible.  Python Exception isn't yet descended from
            # object, so type(e) won't work. :(
            # TODO 4.0: lol. just lmao.
            if issubclass(e.__class__, PartialAuthentication):
                return e.allowed_types
>           raise e
E           paramiko.ssh_exception.AuthenticationException: Authentication failed.

/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/auth_handler.py:263: AuthenticationException