Skip to content

ad937x: fix tests

ad937x: fix tests #75

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

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

1 575 tests  ±0   357 ✅ ±0   18m 36s ⏱️ - 1m 11s
    1 suites ±0   991 💤 ±0 
    1 files   ±0   227 ❌ ±0 

Results for commit 484e0ba. ± Comparison against earlier commit b38f57d.

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 5s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_attribute_single_value = <function attribute_single_value at 0x7f92108caa60>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f92080d8310>
event = <threading.Event object at 0x7f92080d8040>

    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.9.19/x64/lib/python3.9/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 4s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_attribute_single_value = <function attribute_single_value at 0x7f92108caa60>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f92080279a0>
event = <threading.Event object at 0x7f92080279d0>

    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.9.19/x64/lib/python3.9/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 0x7f92108caa60>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f920805bf70>
event = <threading.Event object at 0x7f920805ba30>

    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.9.19/x64/lib/python3.9/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 2s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_attribute_single_value = <function attribute_single_value at 0x7f92108caa60>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f920811d5e0>
event = <threading.Event object at 0x7f9203f10430>

    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.9.19/x64/lib/python3.9/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 0x7f92108c85e0>, iio_uri = 'ip:10.1.0.103'
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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f9203f4d580>
event = <threading.Event object at 0x7f920808d610>

    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.9.19/x64/lib/python3.9/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 0x7f92108c85e0>, iio_uri = 'ip:10.1.0.103'
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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f9203dba220>
event = <threading.Event object at 0x7f9203dba4f0>

    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.9.19/x64/lib/python3.9/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 0x7f9209a59d30>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f9203bcba30>
event = <threading.Event object at 0x7f9203bcb5e0>

    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.9.19/x64/lib/python3.9/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 0x7f9209a59d30>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f9203f08130>
event = <threading.Event object at 0x7f9203f08be0>

    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.9.19/x64/lib/python3.9/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 0x7f9209a59d30>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f9203fe6820>
event = <threading.Event object at 0x7f9203fe6460>

    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.9.19/x64/lib/python3.9/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 0x7f9209a59d30>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f920814ebe0>
event = <threading.Event object at 0x7f920814eb50>

    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.9.19/x64/lib/python3.9/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 4s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f9209a59d30>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f9208066fd0>
event = <threading.Event object at 0x7f9208066910>

    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.9.19/x64/lib/python3.9/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 0x7f9209a59d30>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f9203c41a60>
event = <threading.Event object at 0x7f9203c41d90>

    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.9.19/x64/lib/python3.9/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 4s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f9209a59d30>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f9208067b80>
event = <threading.Event object at 0x7f9203ff7f10>

    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.9.19/x64/lib/python3.9/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-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 0x7f9209a59d30>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f9203f4ad00>
event = <threading.Event object at 0x7f9203f4a9a0>

    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.9.19/x64/lib/python3.9/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 0s]
Raw output
paramiko.ssh_exception.SSHException: Error reading SSH protocol banner
self = <paramiko.Transport at 0x3f331c0 (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.9.19/x64/lib/python3.9/site-packages/paramiko/transport.py:2327: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/packet.py:381: in readline
    buf += self._read_timeout(timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.packet.Packetizer object at 0x7f9203f33340>, 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.9.19/x64/lib/python3.9/site-packages/paramiko/packet.py:618: EOFError

During handling of the above exception, another exception occurred:

test_dds_loopback = <function dds_loopback at 0x7f9209a59d30>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:451: in connect
    t.start_client(timeout=timeout)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/transport.py:738: in start_client
    raise e
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/transport.py:2143: in run
    self._check_banner()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.Transport at 0x3f331c0 (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.9.19/x64/lib/python3.9/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_set4-2000000-0.12--14.7-1-adi.ad9371] (test.test_ad9371) failed

results.xml [took 4s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f9209a59d30>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f9203c127c0>
event = <threading.Event object at 0x7f9203e27250>

    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.9.19/x64/lib/python3.9/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 0x3a16670 (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.9.19/x64/lib/python3.9/site-packages/paramiko/transport.py:2327: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/packet.py:381: in readline
    buf += self._read_timeout(timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.packet.Packetizer object at 0x7f9203a16f40>, 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.9.19/x64/lib/python3.9/site-packages/paramiko/packet.py:618: EOFError

During handling of the above exception, another exception occurred:

test_dds_loopback = <function dds_loopback at 0x7f9209a59d30>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:451: in connect
    t.start_client(timeout=timeout)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/transport.py:738: in start_client
    raise e
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/transport.py:2143: in run
    self._check_banner()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.Transport at 0x3a16670 (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.9.19/x64/lib/python3.9/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 0x7f9209a59d30>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f9203ff4220>
event = <threading.Event object at 0x7f9203ff4400>

    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.9.19/x64/lib/python3.9/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 4s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f9209a59d30>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f9203b84040>
event = <threading.Event object at 0x7f920815c670>

    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.9.19/x64/lib/python3.9/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 4s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f9209a59d30>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f9203ff7070>
event = <threading.Event object at 0x7f9203fc74c0>

    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.9.19/x64/lib/python3.9/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 0s]
Raw output
paramiko.ssh_exception.SSHException: Error reading SSH protocol banner
self = <paramiko.Transport at 0x3d1d970 (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.9.19/x64/lib/python3.9/site-packages/paramiko/transport.py:2327: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/packet.py:381: in readline
    buf += self._read_timeout(timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.packet.Packetizer object at 0x7f9203d1d8e0>, 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.9.19/x64/lib/python3.9/site-packages/paramiko/packet.py:618: EOFError

During handling of the above exception, another exception occurred:

test_dds_loopback = <function dds_loopback at 0x7f9209a59d30>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:451: in connect
    t.start_client(timeout=timeout)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/transport.py:738: in start_client
    raise e
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/transport.py:2143: in run
    self._check_banner()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.Transport at 0x3d1d970 (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.9.19/x64/lib/python3.9/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_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 0x3e429d0 (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.9.19/x64/lib/python3.9/site-packages/paramiko/transport.py:2327: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/packet.py:381: in readline
    buf += self._read_timeout(timeout)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.packet.Packetizer object at 0x7f9203fd2250>, 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.9.19/x64/lib/python3.9/site-packages/paramiko/packet.py:618: EOFError

During handling of the above exception, another exception occurred:

test_dds_loopback = <function dds_loopback at 0x7f9209a59d30>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:451: in connect
    t.start_client(timeout=timeout)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/transport.py:738: in start_client
    raise e
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/transport.py:2143: in run
    self._check_banner()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.Transport at 0x3e429d0 (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.9.19/x64/lib/python3.9/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 2s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f9209a59d30>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f9203f49c70>
event = <threading.Event object at 0x7f9203f49430>

    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.9.19/x64/lib/python3.9/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 4s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7f9209a59d30>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f9203d226a0>
event = <threading.Event object at 0x7f9203d22e20>

    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.9.19/x64/lib/python3.9/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 0x7f9209a59d30>
iio_uri = 'ip:10.1.0.103', 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.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/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 0x7f9203abe100>
event = <threading.Event object at 0x7f9203abe2e0>

    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.9.19/x64/lib/python3.9/site-packages/paramiko/auth_handler.py:263: AuthenticationException