Skip to content

ad9375: update test #72

ad9375: update test

ad9375: update test #72

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

227 fail, 968 skipped, 357 pass in 18m 26s

1 552 tests  ±0   357 ✅ ±0   18m 26s ⏱️ -56s
    1 suites ±0   968 💤 ±0 
    1 files   ±0   227 ❌ ±0 

Results for commit 339f487. ± Comparison against earlier commit ef54a9b.

Annotations

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 6s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_attribute_single_value = <function attribute_single_value at 0x7fb349f943a0>
iio_uri = 'ip:10.1.0.120', 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:290: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/attr_tests.py:70: in attribute_single_value
    assert dev_interface(uri, classname, val, attr, tol)
test/common.py:110: in dev_interface
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb349e29a00>
event = <threading.Event object at 0x7fb349e299d0>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_attribute_single_value = <function attribute_single_value at 0x7fb349f943a0>
iio_uri = 'ip:10.1.0.120', 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:290: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/attr_tests.py:70: in attribute_single_value
    assert dev_interface(uri, classname, val, attr, tol)
test/common.py:110: in dev_interface
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb349cb56a0>
event = <threading.Event object at 0x7fb349cb5340>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_attribute_single_value = <function attribute_single_value at 0x7fb349f943a0>
iio_uri = 'ip:10.1.0.120', 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:290: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/attr_tests.py:70: in attribute_single_value
    assert dev_interface(uri, classname, val, attr, tol)
test/common.py:110: in dev_interface
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb349ababe0>
event = <threading.Event object at 0x7fb349aba700>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_attribute_single_value = <function attribute_single_value at 0x7fb349f943a0>
iio_uri = 'ip:10.1.0.120', 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:290: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/attr_tests.py:70: in attribute_single_value
    assert dev_interface(uri, classname, val, attr, tol)
test/common.py:110: in dev_interface
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb349f6df40>
event = <threading.Event object at 0x7fb349f69370>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dma_rx = <function dma_rx at 0x7fb34a377dc0>, iio_uri = 'ip:10.1.0.120'
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:298: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:49: in dma_rx
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb349e8fa30>
event = <threading.Event object at 0x7fb349e5e430>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dma_rx = <function dma_rx at 0x7fb34a377dc0>, iio_uri = 'ip:10.1.0.120'
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:298: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:49: in dma_rx
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb349d39af0>
event = <threading.Event object at 0x7fb349d39460>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7fb354580f70>
iio_uri = 'ip:10.1.0.120', 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:335: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb34987ba00>
event = <threading.Event object at 0x7fb349d9e3d0>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7fb354580f70>
iio_uri = 'ip:10.1.0.120', 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:335: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb3498ac9d0>
event = <threading.Event object at 0x7fb3498aceb0>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7fb354580f70>
iio_uri = 'ip:10.1.0.120', 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:335: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb34999a5b0>
event = <threading.Event object at 0x7fb34999a0a0>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7fb354580f70>
iio_uri = 'ip:10.1.0.120', 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:335: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb349d4daf0>
event = <threading.Event object at 0x7fb349d4dc10>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7fb354580f70>
iio_uri = 'ip:10.1.0.120', 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:335: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb3499800a0>
event = <threading.Event object at 0x7fb349980c10>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7fb354580f70>
iio_uri = 'ip:10.1.0.120', 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:335: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb349c9a3a0>
event = <threading.Event object at 0x7fb349c9af10>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

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

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

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

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

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

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

During handling of the above exception, another exception occurred:

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

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

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7fb354580f70>
iio_uri = 'ip:10.1.0.120', 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:335: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb34999a430>
event = <threading.Event object at 0x7fb349d81460>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7fb354580f70>
iio_uri = 'ip:10.1.0.120', 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:335: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb3499f48e0>
event = <threading.Event object at 0x7fb3499f4880>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7fb354580f70>
iio_uri = 'ip:10.1.0.120', 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:335: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb3499a3130>
event = <threading.Event object at 0x7fb3499a3ca0>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7fb354580f70>
iio_uri = 'ip:10.1.0.120', 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:335: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb3496997c0>
event = <threading.Event object at 0x7fb349d0e970>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7fb354580f70>
iio_uri = 'ip:10.1.0.120', 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:335: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb34987be20>
event = <threading.Event object at 0x7fb34987b2b0>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7fb354580f70>
iio_uri = 'ip:10.1.0.120', 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:335: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb349c4d940>
event = <threading.Event object at 0x7fb349c4d880>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7fb354580f70>
iio_uri = 'ip:10.1.0.120', 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:335: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb349dbb0a0>
event = <threading.Event object at 0x7fb34987eca0>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7fb354580f70>
iio_uri = 'ip:10.1.0.120', 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:335: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb349c0dfa0>
event = <threading.Event object at 0x7fb349c0dca0>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7fb354580f70>
iio_uri = 'ip:10.1.0.120', 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:335: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb349e9ab50>
event = <threading.Event object at 0x7fb349e9a250>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7fb354580f70>
iio_uri = 'ip:10.1.0.120', 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:335: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb349853910>
event = <threading.Event object at 0x7fb349853100>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

results.xml [took 3s]
Raw output
paramiko.ssh_exception.AuthenticationException: Authentication failed.
test_dds_loopback = <function dds_loopback at 0x7fb354580f70>
iio_uri = 'ip:10.1.0.120', 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:335: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
test/dma_tests.py:286: in dds_loopback
    sdr = eval(classname + "(uri='" + uri + "')")
<string>:1: in <module>
    ???
adi/ad937x.py:40: in __init__
    self._jesd = jesd(uri, username=username, password=password)
adi/jesd_internal.py:20: in __init__
    self.fs = sshfs(address, username, password)
adi/sshfs.py:28: in __init__
    self.ssh.connect(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:485: in connect
    self._auth(
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:818: in _auth
    raise saved_exception
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/client.py:805: in _auth
    self._transport.auth_password(username, password)
/opt/hostedtoolcache/Python/3.8.18/x64/lib/python3.8/site-packages/paramiko/transport.py:1603: in auth_password
    return self.auth_handler.wait_for_response(my_event)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <paramiko.auth_handler.AuthHandler object at 0x7fb3499c5700>
event = <threading.Event object at 0x7fb3499c5b50>

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

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

Check warning on line 0 in test.test_ad9371

See this annotation in the file changed.

@github-actions github-actions / Test Results

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

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

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

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

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

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

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

During handling of the above exception, another exception occurred:

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

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

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

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