paramiko / paramiko/paramiko

2.9.1: pytest is failing in two units

Open
#1,959 8 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
9.9k
Forks
2.1k
PR merge metrics
No merged PRs in 30d

Description

I'm trying to package your module as an rpm package. So I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.

  • python3 -sBm build -w
  • install .whl file in </install/prefix>
  • run pytest with PYTHONPATH pointing to sitearch and sitelib inside </install/prefix>

May I ask for some help with below two failing units?

Here is pytest output:
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-paramiko-2.9.1-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-paramiko-2.9.1-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.12, pytest-6.2.5, py-1.11.0, pluggy-1.0.0
Using --randomly-seed=1704518666
rootdir: /home/tkloczko/rpmbuild/BUILD/paramiko-2.9.1, configfile: pytest.ini
plugins: freezegun-0.4.2, mock-3.6.1, randomly-3.10.3, timeout-2.0.2, flaky-3.7.0, cov-3.0.0
collected 405 items

tests/test_sftp.py ...s............s..............F..F...                                                                                                            [  9%]
tests/test_util.py ......                                                                                                                                            [ 10%]
tests/test_file.py .s..............                                                                                                                                  [ 14%]
tests/test_ssh_exception.py .........                                                                                                                                [ 17%]
tests/test_auth.py .........                                                                                                                                         [ 19%]
tests/test_agent.py ...                                                                                                                                              [ 20%]
tests/test_sftp_big.py ..........                                                                                                                                    [ 22%]
tests/test_ssh_gss.py ss                                                                                                                                             [ 22%]
tests/test_kex_gss.py ss                                                                                                                                             [ 23%]
tests/test_channelfile.py ...........                                                                                                                                [ 26%]
tests/test_gssapi.py sss                                                                                                                                             [ 26%]
tests/test_pkey.py ..s...........................................                                                                                                    [ 38%]
tests/test_packetizer.py ...                                                                                                                                         [ 39%]
tests/test_transport.py ...........................................s.........                                                                                        [ 52%]
tests/test_buffered_pipe.py ....                                                                                                                                     [ 53%]
tests/test_client.py ..............s.......ss....s......                                                                                                             [ 61%]
tests/test_kex.py ..................                                                                                                                                 [ 66%]
tests/test_proxy.py ...........                                                                                                                                      [ 68%]
tests/test_message.py ....                                                                                                                                           [ 69%]
tests/test_config.py .................................................ssssss.........................................................s...                            [ 98%]
tests/test_hostkeys.py ......                                                                                                                                        [100%]

================================================================================= FAILURES =================================================================================
________________________________________________________________ TestSFTP.test_sftp_attributes_locale_time _________________________________________________________________

testself = <tests.test_sftp.TestSFTP object at 0x7fbc4c016100>, sftp = <paramiko.sftp_client.SFTP object at 0x7fbc4c025790>

    def _test_under_locale(testself, sftp):
        original = locale.setlocale(category)
        while try_locales:
            try:
                locale.setlocale(category, try_locales[0])
            except locale.Error:
                # Mutating original list is ok, setlocale would keep failing
                try_locales.pop(0)
            else:
                try:
>                   return test_method(testself)
E                   TypeError: test_sftp_attributes_locale_time() missing 1 required positional argument: 'sftp'

tests/__init__.py:49: TypeError
-------------------------------------------------------------------------- Captured stderr setup ---------------------------------------------------------------------------
[32130.091905593872]    DEBUG:paramiko.transport:starting thread (server mode): 0x4c0253a0
[32130.28383255005]     DEBUG:paramiko.transport:Local version/idstring: SSH-2.0-paramiko_2.9.1
[33131.07657432556]     DEBUG:paramiko.transport:starting thread (client mode): 0x4c025e80
[33131.314277648926]    DEBUG:paramiko.transport:Local version/idstring: SSH-2.0-paramiko_2.9.1
[33131.44302368164]     DEBUG:paramiko.transport:Remote version/idstring: SSH-2.0-paramiko_2.9.1
[33131.82783126831]     DEBUG:paramiko.transport:Remote version/idstring: SSH-2.0-paramiko_2.9.1
[33131.97302818298]     INFO:paramiko.transport:Connected (version 2.0, client paramiko_2.9.1)
[33132.09891319275]     INFO:paramiko.transport:Connected (version 2.0, client paramiko_2.9.1)
[33133.08548927307]     DEBUG:paramiko.transport:=== Key exchange possibilities ===
[33133.222341537476]    DEBUG:paramiko.transport:=== Key exchange possibilities ===
[33133.32676887512]     DEBUG:paramiko.transport:kex algos: curve25519-sha256@libssh.org, ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, diffie-hellman-group16-sha512, diffie-hellman-group-exchange-sha256, diffie-hellman-group14-sha256, diffie-hellman-group-exchange-sha1, diffie-hellman-group14-sha1, diffie-hellman-group1-sha1
[33133.586168289185]    DEBUG:paramiko.transport:kex algos: curve25519-sha256@libssh.org, ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, diffie-hellman-group16-sha512, diffie-hellman-group-exchange-sha256, diffie-hellman-group14-sha256, diffie-hellman-group-exchange-sha1, diffie-hellman-group14-sha1, diffie-hellman-group1-sha1, ext-info-c
[33133.69369506836]     DEBUG:paramiko.transport:server key: rsa-sha2-512, rsa-sha2-256, ssh-rsa
[33133.79645347595]     DEBUG:paramiko.transport:server key: ssh-ed25519, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, rsa-sha2-512, rsa-sha2-256, ssh-rsa, ssh-dss
[33133.89611244202]     DEBUG:paramiko.transport:client encrypt: aes128-ctr, aes192-ctr, aes256-ctr, aes128-cbc, aes192-cbc, aes256-cbc, blowfish-cbc, 3des-cbc
[33134.00173187256]     DEBUG:paramiko.transport:client encrypt: aes128-ctr, aes192-ctr, aes256-ctr, aes128-cbc, aes192-cbc, aes256-cbc, blowfish-cbc, 3des-cbc
[33134.1016292572]      DEBUG:paramiko.transport:server encrypt: aes128-ctr, aes192-ctr, aes256-ctr, aes128-cbc, aes192-cbc, aes256-cbc, blowfish-cbc, 3des-cbc
[33134.19985771179]     DEBUG:paramiko.transport:server encrypt: aes128-ctr, aes192-ctr, aes256-ctr, aes128-cbc, aes192-cbc, aes256-cbc, blowfish-cbc, 3des-cbc
[33134.29856300354]     DEBUG:paramiko.transport:client mac: hmac-sha2-256, hmac-sha2-512, hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, hmac-sha1, hmac-md5, hmac-sha1-96, hmac-md5-96
[33134.39583778381]     DEBUG:paramiko.transport:client mac: hmac-sha2-256, hmac-sha2-512, hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, hmac-sha1, hmac-md5, hmac-sha1-96, hmac-md5-96
[33134.49215888977]     DEBUG:paramiko.transport:server mac: hmac-sha2-256, hmac-sha2-512, hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, hmac-sha1, hmac-md5, hmac-sha1-96, hmac-md5-96
[33134.59014892578]     DEBUG:paramiko.transport:server mac: hmac-sha2-256, hmac-sha2-512, hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, hmac-sha1, hmac-md5, hmac-sha1-96, hmac-md5-96
[33134.68599319458]     DEBUG:paramiko.transport:client compress: none
[33134.783029556274]    DEBUG:paramiko.transport:client compress: none
[33134.878635406494]    DEBUG:paramiko.transport:server compress: none
[33134.98115539551]     DEBUG:paramiko.transport:server compress: none
[33135.079860687256]    DEBUG:paramiko.transport:client lang: <none>
[33135.191202163696]    DEBUG:paramiko.transport:client lang: <none>
[33135.289669036865]    DEBUG:paramiko.transport:server lang: <none>
[33135.387659072876]    DEBUG:paramiko.transport:server lang: <none>
[33135.48684120178]     DEBUG:paramiko.transport:kex follows: False
[33135.5836391449]      DEBUG:paramiko.transport:kex follows: False
[33135.677337646484]    DEBUG:paramiko.transport:=== Key exchange agreements ===
[33135.77127456665]     DEBUG:paramiko.transport:=== Key exchange agreements ===
[33135.887145996094]    DEBUG:paramiko.transport:Kex: curve25519-sha256@libssh.org
[33136.00754737854]     DEBUG:paramiko.transport:Kex: curve25519-sha256@libssh.org
[33136.12771034241]     DEBUG:paramiko.transport:HostKey: rsa-sha2-512
[33136.25240325928]     DEBUG:paramiko.transport:HostKey: rsa-sha2-512
[33136.37375831604]     DEBUG:paramiko.transport:Cipher: aes128-ctr
[33136.49392127991]     DEBUG:paramiko.transport:Cipher: aes128-ctr
[33136.613607406616]    DEBUG:paramiko.transport:MAC: hmac-sha2-256
[33136.73734664917]     DEBUG:paramiko.transport:MAC: hmac-sha2-256
[33136.85727119446]     DEBUG:paramiko.transport:Compression: none
[33136.97576522827]     DEBUG:paramiko.transport:Compression: none
[33137.07375526428]     DEBUG:paramiko.transport:=== End of kex handshake ===
[33137.16959953308]     DEBUG:paramiko.transport:=== End of kex handshake ===
[33140.93017578125]     DEBUG:paramiko.transport:kex engine KexCurve25519 specified hash_algo <built-in function openssl_sha256>
[33142.849922180176]    DEBUG:paramiko.transport:kex engine KexCurve25519 specified hash_algo <built-in function openssl_sha256>
[33142.93551445007]     DEBUG:paramiko.transport:Switch to new keys ...
[33143.43738555908]     DEBUG:paramiko.transport:Switch to new keys ...
[33143.980741500854]    DEBUG:paramiko.transport:Got EXT_INFO: {'server-sig-algs': b'ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256,ssh-rsa,ssh-dss'}
[33144.070625305176]    DEBUG:paramiko.transport:Attempting password auth...
[33144.829988479614]    DEBUG:paramiko.transport:userauth is OK
[33145.14660835266]     DEBUG:paramiko.transport:Auth request (type=password) service=ssh-connection, username=slowdive
[33145.26319503784]     INFO:paramiko.transport:Auth granted (password).
[33145.519733428955]    INFO:paramiko.transport:Authentication (password) successful!
[33145.95937728882]     DEBUG:paramiko.transport:[chan 0] Max packet in: 32768 bytes
[33146.38161659241]     DEBUG:paramiko.transport:[chan 0] Max packet in: 32768 bytes
[33146.49963378906]     DEBUG:paramiko.transport:[chan 0] Max packet out: 32768 bytes
[33146.660804748535]    DEBUG:paramiko.transport:Secsh channel 0 (session) opened.
[33146.82221412659]     DEBUG:paramiko.transport:[chan 0] Max packet out: 32768 bytes
[33147.01819419861]     DEBUG:paramiko.transport:Secsh channel 0 opened.
[33147.50576019287]     DEBUG:paramiko.transport:Starting handler for subsystem sftp
[33147.77898788452]     DEBUG:paramiko.transport.sftp:[chan 0] Started sftp server on channel <paramiko.Channel 0 (open) window=2097152 -> <paramiko.Transport at 0x4c0253a0 (cipher aes128-ctr, 128 bits) (active; 1 open channel(s))>>
[33148.01287651062]     DEBUG:paramiko.transport:[chan 0] Sesch channel 0 request ok
[33148.765087127686]    INFO:paramiko.transport.sftp:[chan 0] Opened sftp connection (server version 3)
---------------------------------------------------------------------------- Captured log setup ----------------------------------------------------------------------------
DEBUG    paramiko.transport:transport.py:1873 starting thread (server mode): 0x4c0253a0
DEBUG    paramiko.transport:transport.py:1873 Local version/idstring: SSH-2.0-paramiko_2.9.1
DEBUG    paramiko.transport:transport.py:1873 starting thread (client mode): 0x4c025e80
DEBUG    paramiko.transport:transport.py:1873 Local version/idstring: SSH-2.0-paramiko_2.9.1
DEBUG    paramiko.transport:transport.py:1873 Remote version/idstring: SSH-2.0-paramiko_2.9.1
DEBUG    paramiko.transport:transport.py:1873 Remote version/idstring: SSH-2.0-paramiko_2.9.1
INFO     paramiko.transport:transport.py:1873 Connected (version 2.0, client paramiko_2.9.1)
INFO     paramiko.transport:transport.py:1873 Connected (version 2.0, client paramiko_2.9.1)
DEBUG    paramiko.transport:transport.py:1873 === Key exchange possibilities ===
DEBUG    paramiko.transport:transport.py:1873 === Key exchange possibilities ===
DEBUG    paramiko.transport:transport.py:1873 kex algos: curve25519-sha256@libssh.org, ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, diffie-hellman-group16-sha512, diffie-hellman-group-exchange-sha256, diffie-hellman-group14-sha256, diffie-hellman-group-exchange-sha1, diffie-hellman-group14-sha1, diffie-hellman-group1-sha1
DEBUG    paramiko.transport:transport.py:1873 kex algos: curve25519-sha256@libssh.org, ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, diffie-hellman-group16-sha512, diffie-hellman-group-exchange-sha256, diffie-hellman-group14-sha256, diffie-hellman-group-exchange-sha1, diffie-hellman-group14-sha1, diffie-hellman-group1-sha1, ext-info-c
DEBUG    paramiko.transport:transport.py:1873 server key: rsa-sha2-512, rsa-sha2-256, ssh-rsa
DEBUG    paramiko.transport:transport.py:1873 server key: ssh-ed25519, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, rsa-sha2-512, rsa-sha2-256, ssh-rsa, ssh-dss
DEBUG    paramiko.transport:transport.py:1873 client encrypt: aes128-ctr, aes192-ctr, aes256-ctr, aes128-cbc, aes192-cbc, aes256-cbc, blowfish-cbc, 3des-cbc
DEBUG    paramiko.transport:transport.py:1873 client encrypt: aes128-ctr, aes192-ctr, aes256-ctr, aes128-cbc, aes192-cbc, aes256-cbc, blowfish-cbc, 3des-cbc
DEBUG    paramiko.transport:transport.py:1873 server encrypt: aes128-ctr, aes192-ctr, aes256-ctr, aes128-cbc, aes192-cbc, aes256-cbc, blowfish-cbc, 3des-cbc
DEBUG    paramiko.transport:transport.py:1873 server encrypt: aes128-ctr, aes192-ctr, aes256-ctr, aes128-cbc, aes192-cbc, aes256-cbc, blowfish-cbc, 3des-cbc
DEBUG    paramiko.transport:transport.py:1873 client mac: hmac-sha2-256, hmac-sha2-512, hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, hmac-sha1, hmac-md5, hmac-sha1-96, hmac-md5-96
DEBUG    paramiko.transport:transport.py:1873 client mac: hmac-sha2-256, hmac-sha2-512, hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, hmac-sha1, hmac-md5, hmac-sha1-96, hmac-md5-96
DEBUG    paramiko.transport:transport.py:1873 server mac: hmac-sha2-256, hmac-sha2-512, hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, hmac-sha1, hmac-md5, hmac-sha1-96, hmac-md5-96
DEBUG    paramiko.transport:transport.py:1873 server mac: hmac-sha2-256, hmac-sha2-512, hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, hmac-sha1, hmac-md5, hmac-sha1-96, hmac-md5-96
DEBUG    paramiko.transport:transport.py:1873 client compress: none
DEBUG    paramiko.transport:transport.py:1873 client compress: none
DEBUG    paramiko.transport:transport.py:1873 server compress: none
DEBUG    paramiko.transport:transport.py:1873 server compress: none
DEBUG    paramiko.transport:transport.py:1873 client lang: <none>
DEBUG    paramiko.transport:transport.py:1873 client lang: <none>
DEBUG    paramiko.transport:transport.py:1873 server lang: <none>
DEBUG    paramiko.transport:transport.py:1873 server lang: <none>
DEBUG    paramiko.transport:transport.py:1873 kex follows: False
DEBUG    paramiko.transport:transport.py:1873 kex follows: False
DEBUG    paramiko.transport:transport.py:1873 === Key exchange agreements ===
DEBUG    paramiko.transport:transport.py:1873 === Key exchange agreements ===
DEBUG    paramiko.transport:transport.py:1873 Kex: curve25519-sha256@libssh.org
DEBUG    paramiko.transport:transport.py:1873 Kex: curve25519-sha256@libssh.org
DEBUG    paramiko.transport:transport.py:1873 HostKey: rsa-sha2-512
DEBUG    paramiko.transport:transport.py:1873 HostKey: rsa-sha2-512
DEBUG    paramiko.transport:transport.py:1873 Cipher: aes128-ctr
DEBUG    paramiko.transport:transport.py:1873 Cipher: aes128-ctr
DEBUG    paramiko.transport:transport.py:1873 MAC: hmac-sha2-256
DEBUG    paramiko.transport:transport.py:1873 MAC: hmac-sha2-256
DEBUG    paramiko.transport:transport.py:1873 Compression: none
DEBUG    paramiko.transport:transport.py:1873 Compression: none
DEBUG    paramiko.transport:transport.py:1873 === End of kex handshake ===
DEBUG    paramiko.transport:transport.py:1873 === End of kex handshake ===
DEBUG    paramiko.transport:transport.py:1873 kex engine KexCurve25519 specified hash_algo <built-in function openssl_sha256>
DEBUG    paramiko.transport:transport.py:1873 kex engine KexCurve25519 specified hash_algo <built-in function openssl_sha256>
DEBUG    paramiko.transport:transport.py:1873 Switch to new keys ...
DEBUG    paramiko.transport:transport.py:1873 Switch to new keys ...
DEBUG    paramiko.transport:transport.py:1873 Got EXT_INFO: {'server-sig-algs': b'ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256,ssh-rsa,ssh-dss'}
DEBUG    paramiko.transport:transport.py:1873 Attempting password auth...
DEBUG    paramiko.transport:transport.py:1873 userauth is OK
DEBUG    paramiko.transport:transport.py:1873 Auth request (type=password) service=ssh-connection, username=slowdive
INFO     paramiko.transport:transport.py:1873 Auth granted (password).
INFO     paramiko.transport:transport.py:1873 Authentication (password) successful!
DEBUG    paramiko.transport:channel.py:1212 [chan 0] Max packet in: 32768 bytes
DEBUG    paramiko.transport:channel.py:1212 [chan 0] Max packet in: 32768 bytes
DEBUG    paramiko.transport:channel.py:1212 [chan 0] Max packet out: 32768 bytes
DEBUG    paramiko.transport:transport.py:1873 Secsh channel 0 (session) opened.
DEBUG    paramiko.transport:channel.py:1212 [chan 0] Max packet out: 32768 bytes
DEBUG    paramiko.transport:transport.py:1873 Secsh channel 0 opened.
DEBUG    paramiko.transport:transport.py:1873 Starting handler for subsystem sftp
DEBUG    paramiko.transport.sftp:sftp.py:158 [chan 0] Started sftp server on channel <paramiko.Channel 0 (open) window=2097152 -> <paramiko.Transport at 0x4c0253a0 (cipher aes128-ctr, 128 bits) (active; 1 open channel(s))>>
DEBUG    paramiko.transport:channel.py:1212 [chan 0] Sesch channel 0 request ok
INFO     paramiko.transport.sftp:sftp.py:158 [chan 0] Opened sftp connection (server version 3)
_____________________________________________________________________ TestSFTP.test_listdir_in_locale ______________________________________________________________________

testself = <tests.test_sftp.TestSFTP object at 0x7fbc4c029460>, sftp = <paramiko.sftp_client.SFTP object at 0x7fbc347d67f0>

    def _test_under_locale(testself, sftp):
        original = locale.setlocale(category)
        while try_locales:
            try:
                locale.setlocale(category, try_locales[0])
            except locale.Error:
                # Mutating original list is ok, setlocale would keep failing
                try_locales.pop(0)
            else:
                try:
>                   return test_method(testself)
E                   TypeError: test_listdir_in_locale() missing 1 required positional argument: 'sftp'

tests/__init__.py:49: TypeError
-------------------------------------------------------------------------- Captured stderr setup ---------------------------------------------------------------------------
[35294.99340057373]     DEBUG:paramiko.transport:starting thread (server mode): 0x347da280
[35295.18365859985]     DEBUG:paramiko.transport:Local version/idstring: SSH-2.0-paramiko_2.9.1
[36295.89867591858]     DEBUG:paramiko.transport:starting thread (client mode): 0x347d66d0
[36296.13995552063]     DEBUG:paramiko.transport:Local version/idstring: SSH-2.0-paramiko_2.9.1
[36296.25701904297]     DEBUG:paramiko.transport:Remote version/idstring: SSH-2.0-paramiko_2.9.1
[36296.37408256531]     DEBUG:paramiko.transport:Remote version/idstring: SSH-2.0-paramiko_2.9.1
[36296.485900878906]    INFO:paramiko.transport:Connected (version 2.0, client paramiko_2.9.1)
[36296.59414291382]     INFO:paramiko.transport:Connected (version 2.0, client paramiko_2.9.1)
[36297.60932922363]     DEBUG:paramiko.transport:=== Key exchange possibilities ===
[36297.72996902466]     DEBUG:paramiko.transport:kex algos: curve25519-sha256@libssh.org, ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, diffie-hellman-group16-sha512, diffie-hellman-group-exchange-sha256, diffie-hellman-group14-sha256, diffie-hellman-group-exchange-sha1, diffie-hellman-group14-sha1, diffie-hellman-group1-sha1, ext-info-c
[36297.8241443634]      DEBUG:paramiko.transport:server key: ssh-ed25519, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, rsa-sha2-512, rsa-sha2-256, ssh-rsa, ssh-dss
[36297.9199886322]      DEBUG:paramiko.transport:client encrypt: aes128-ctr, aes192-ctr, aes256-ctr, aes128-cbc, aes192-cbc, aes256-cbc, blowfish-cbc, 3des-cbc
[36298.01082611084]     DEBUG:paramiko.transport:server encrypt: aes128-ctr, aes192-ctr, aes256-ctr, aes128-cbc, aes192-cbc, aes256-cbc, blowfish-cbc, 3des-cbc
[36298.10166358948]     DEBUG:paramiko.transport:client mac: hmac-sha2-256, hmac-sha2-512, hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, hmac-sha1, hmac-md5, hmac-sha1-96, hmac-md5-96
[36298.24876785278]     DEBUG:paramiko.transport:=== Key exchange possibilities ===
[36298.349142074585]    DEBUG:paramiko.transport:server mac: hmac-sha2-256, hmac-sha2-512, hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, hmac-sha1, hmac-md5, hmac-sha1-96, hmac-md5-96
[36298.47288131714]     DEBUG:paramiko.transport:kex algos: curve25519-sha256@libssh.org, ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, diffie-hellman-group16-sha512, diffie-hellman-group-exchange-sha256, diffie-hellman-group14-sha256, diffie-hellman-group-exchange-sha1, diffie-hellman-group14-sha1, diffie-hellman-group1-sha1
[36298.5737323761]      DEBUG:paramiko.transport:client compress: none
[36298.71153831482]     DEBUG:paramiko.transport:server key: rsa-sha2-512, rsa-sha2-256, ssh-rsa
[36298.8121509552]      DEBUG:paramiko.transport:server compress: none
[36298.925161361694]    DEBUG:paramiko.transport:client encrypt: aes128-ctr, aes192-ctr, aes256-ctr, aes128-cbc, aes192-cbc, aes256-cbc, blowfish-cbc, 3des-cbc
[36299.02982711792]     DEBUG:paramiko.transport:client lang: <none>
[36299.152851104736]    DEBUG:paramiko.transport:server encrypt: aes128-ctr, aes192-ctr, aes256-ctr, aes128-cbc, aes192-cbc, aes256-cbc, blowfish-cbc, 3des-cbc
[36299.26872253418]     DEBUG:paramiko.transport:server lang: <none>
[36299.367904663086]    DEBUG:paramiko.transport:client mac: hmac-sha2-256, hmac-sha2-512, hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, hmac-sha1, hmac-md5, hmac-sha1-96, hmac-md5-96
[36299.46708679199]     DEBUG:paramiko.transport:kex follows: False
[36299.564361572266]    DEBUG:paramiko.transport:server mac: hmac-sha2-256, hmac-sha2-512, hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, hmac-sha1, hmac-md5, hmac-sha1-96, hmac-md5-96
[36299.6609210968]      DEBUG:paramiko.transport:=== Key exchange agreements ===
[36299.75771903992]     DEBUG:paramiko.transport:client compress: none
[36299.87454414368]     DEBUG:paramiko.transport:Kex: curve25519-sha256@libssh.org
[36299.978733062744]    DEBUG:paramiko.transport:server compress: none
[36300.09603500366]     DEBUG:paramiko.transport:HostKey: rsa-sha2-512
[36300.19402503967]     DEBUG:paramiko.transport:client lang: <none>
[36300.315618515015]    DEBUG:paramiko.transport:Cipher: aes128-ctr
[36300.41289329529]     DEBUG:paramiko.transport:server lang: <none>
[36300.53377151489]     DEBUG:paramiko.transport:MAC: hmac-sha2-256
[36300.67682266235]     DEBUG:paramiko.transport:kex follows: False
[36300.79197883606]     DEBUG:paramiko.transport:Compression: none
[36300.89521408081]     DEBUG:paramiko.transport:=== Key exchange agreements ===
[36300.99964141846]     DEBUG:paramiko.transport:=== End of kex handshake ===
[36301.116704940796]    DEBUG:paramiko.transport:Kex: curve25519-sha256@libssh.org
[36301.32079124451]     DEBUG:paramiko.transport:HostKey: rsa-sha2-512
[36301.45478248596]     DEBUG:paramiko.transport:Cipher: aes128-ctr
[36301.565408706665]    DEBUG:paramiko.transport:MAC: hmac-sha2-256
[36301.713705062866]    DEBUG:paramiko.transport:Compression: none
[36301.80358886719]     DEBUG:paramiko.transport:=== End of kex handshake ===
[36305.44352531433]     DEBUG:paramiko.transport:kex engine KexCurve25519 specified hash_algo <built-in function openssl_sha256>
[36307.41572380066]     DEBUG:paramiko.transport:kex engine KexCurve25519 specified hash_algo <built-in function openssl_sha256>
[36307.50370025635]     DEBUG:paramiko.transport:Switch to new keys ...
[36307.82723426819]     DEBUG:paramiko.transport:Switch to new keys ...
[36308.536767959595]    DEBUG:paramiko.transport:Got EXT_INFO: {'server-sig-algs': b'ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256,ssh-rsa,ssh-dss'}
[36308.6256980896]      DEBUG:paramiko.transport:Attempting password auth...
[36309.40246582031]     DEBUG:paramiko.transport:userauth is OK
[36309.88430976868]     DEBUG:paramiko.transport:Auth request (type=password) service=ssh-connection, username=slowdive
[36310.02378463745]     INFO:paramiko.transport:Auth granted (password).
[36310.2970123291]      INFO:paramiko.transport:Authentication (password) successful!
[36310.72998046875]     DEBUG:paramiko.transport:[chan 0] Max packet in: 32768 bytes
[36311.18607521057]     DEBUG:paramiko.transport:[chan 0] Max packet in: 32768 bytes
[36311.31911277771]     DEBUG:paramiko.transport:[chan 0] Max packet out: 32768 bytes
[36311.49959564209]     DEBUG:paramiko.transport:Secsh channel 0 (session) opened.
[36311.660289764404]    DEBUG:paramiko.transport:[chan 0] Max packet out: 32768 bytes
[36311.98811531067]     DEBUG:paramiko.transport:Secsh channel 0 opened.
[36312.52479553223]     DEBUG:paramiko.transport:Starting handler for subsystem sftp
[36312.82591819763]     DEBUG:paramiko.transport.sftp:[chan 0] Started sftp server on channel <paramiko.Channel 0 (open) window=2097152 -> <paramiko.Transport at 0x347da280 (cipher aes128-ctr, 128 bits) (active; 1 open channel(s))>>
[36312.98804283142]     DEBUG:paramiko.transport:[chan 0] Sesch channel 0 request ok
[36313.92216682434]     INFO:paramiko.transport.sftp:[chan 0] Opened sftp connection (server version 3)
---------------------------------------------------------------------------- Captured log setup ----------------------------------------------------------------------------
DEBUG    paramiko.transport:transport.py:1873 starting thread (server mode): 0x347da280
DEBUG    paramiko.transport:transport.py:1873 Local version/idstring: SSH-2.0-paramiko_2.9.1
DEBUG    paramiko.transport:transport.py:1873 starting thread (client mode): 0x347d66d0
DEBUG    paramiko.transport:transport.py:1873 Local version/idstring: SSH-2.0-paramiko_2.9.1
DEBUG    paramiko.transport:transport.py:1873 Remote version/idstring: SSH-2.0-paramiko_2.9.1
DEBUG    paramiko.transport:transport.py:1873 Remote version/idstring: SSH-2.0-paramiko_2.9.1
INFO     paramiko.transport:transport.py:1873 Connected (version 2.0, client paramiko_2.9.1)
INFO     paramiko.transport:transport.py:1873 Connected (version 2.0, client paramiko_2.9.1)
DEBUG    paramiko.transport:transport.py:1873 === Key exchange possibilities ===
DEBUG    paramiko.transport:transport.py:1873 kex algos: curve25519-sha256@libssh.org, ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, diffie-hellman-group16-sha512, diffie-hellman-group-exchange-sha256, diffie-hellman-group14-sha256, diffie-hellman-group-exchange-sha1, diffie-hellman-group14-sha1, diffie-hellman-group1-sha1, ext-info-c
DEBUG    paramiko.transport:transport.py:1873 server key: ssh-ed25519, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521, rsa-sha2-512, rsa-sha2-256, ssh-rsa, ssh-dss
DEBUG    paramiko.transport:transport.py:1873 client encrypt: aes128-ctr, aes192-ctr, aes256-ctr, aes128-cbc, aes192-cbc, aes256-cbc, blowfish-cbc, 3des-cbc
DEBUG    paramiko.transport:transport.py:1873 server encrypt: aes128-ctr, aes192-ctr, aes256-ctr, aes128-cbc, aes192-cbc, aes256-cbc, blowfish-cbc, 3des-cbc
DEBUG    paramiko.transport:transport.py:1873 client mac: hmac-sha2-256, hmac-sha2-512, hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, hmac-sha1, hmac-md5, hmac-sha1-96, hmac-md5-96
DEBUG    paramiko.transport:transport.py:1873 === Key exchange possibilities ===
DEBUG    paramiko.transport:transport.py:1873 server mac: hmac-sha2-256, hmac-sha2-512, hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, hmac-sha1, hmac-md5, hmac-sha1-96, hmac-md5-96
DEBUG    paramiko.transport:transport.py:1873 kex algos: curve25519-sha256@libssh.org, ecdh-sha2-nistp256, ecdh-sha2-nistp384, ecdh-sha2-nistp521, diffie-hellman-group16-sha512, diffie-hellman-group-exchange-sha256, diffie-hellman-group14-sha256, diffie-hellman-group-exchange-sha1, diffie-hellman-group14-sha1, diffie-hellman-group1-sha1
DEBUG    paramiko.transport:transport.py:1873 client compress: none
DEBUG    paramiko.transport:transport.py:1873 server key: rsa-sha2-512, rsa-sha2-256, ssh-rsa
DEBUG    paramiko.transport:transport.py:1873 server compress: none
DEBUG    paramiko.transport:transport.py:1873 client encrypt: aes128-ctr, aes192-ctr, aes256-ctr, aes128-cbc, aes192-cbc, aes256-cbc, blowfish-cbc, 3des-cbc
DEBUG    paramiko.transport:transport.py:1873 client lang: <none>
DEBUG    paramiko.transport:transport.py:1873 server encrypt: aes128-ctr, aes192-ctr, aes256-ctr, aes128-cbc, aes192-cbc, aes256-cbc, blowfish-cbc, 3des-cbc
DEBUG    paramiko.transport:transport.py:1873 server lang: <none>
DEBUG    paramiko.transport:transport.py:1873 client mac: hmac-sha2-256, hmac-sha2-512, hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, hmac-sha1, hmac-md5, hmac-sha1-96, hmac-md5-96
DEBUG    paramiko.transport:transport.py:1873 kex follows: False
DEBUG    paramiko.transport:transport.py:1873 server mac: hmac-sha2-256, hmac-sha2-512, hmac-sha2-256-etm@openssh.com, hmac-sha2-512-etm@openssh.com, hmac-sha1, hmac-md5, hmac-sha1-96, hmac-md5-96
DEBUG    paramiko.transport:transport.py:1873 === Key exchange agreements ===
DEBUG    paramiko.transport:transport.py:1873 client compress: none
DEBUG    paramiko.transport:transport.py:1873 Kex: curve25519-sha256@libssh.org
DEBUG    paramiko.transport:transport.py:1873 server compress: none
DEBUG    paramiko.transport:transport.py:1873 HostKey: rsa-sha2-512
DEBUG    paramiko.transport:transport.py:1873 client lang: <none>
DEBUG    paramiko.transport:transport.py:1873 Cipher: aes128-ctr
DEBUG    paramiko.transport:transport.py:1873 server lang: <none>
DEBUG    paramiko.transport:transport.py:1873 MAC: hmac-sha2-256
DEBUG    paramiko.transport:transport.py:1873 kex follows: False
DEBUG    paramiko.transport:transport.py:1873 Compression: none
DEBUG    paramiko.transport:transport.py:1873 === Key exchange agreements ===
DEBUG    paramiko.transport:transport.py:1873 === End of kex handshake ===
DEBUG    paramiko.transport:transport.py:1873 Kex: curve25519-sha256@libssh.org
DEBUG    paramiko.transport:transport.py:1873 HostKey: rsa-sha2-512
DEBUG    paramiko.transport:transport.py:1873 Cipher: aes128-ctr
DEBUG    paramiko.transport:transport.py:1873 MAC: hmac-sha2-256
DEBUG    paramiko.transport:transport.py:1873 Compression: none
DEBUG    paramiko.transport:transport.py:1873 === End of kex handshake ===
DEBUG    paramiko.transport:transport.py:1873 kex engine KexCurve25519 specified hash_algo <built-in function openssl_sha256>
DEBUG    paramiko.transport:transport.py:1873 kex engine KexCurve25519 specified hash_algo <built-in function openssl_sha256>
DEBUG    paramiko.transport:transport.py:1873 Switch to new keys ...
DEBUG    paramiko.transport:transport.py:1873 Switch to new keys ...
DEBUG    paramiko.transport:transport.py:1873 Got EXT_INFO: {'server-sig-algs': b'ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,rsa-sha2-512,rsa-sha2-256,ssh-rsa,ssh-dss'}
DEBUG    paramiko.transport:transport.py:1873 Attempting password auth...
DEBUG    paramiko.transport:transport.py:1873 userauth is OK
DEBUG    paramiko.transport:transport.py:1873 Auth request (type=password) service=ssh-connection, username=slowdive
INFO     paramiko.transport:transport.py:1873 Auth granted (password).
INFO     paramiko.transport:transport.py:1873 Authentication (password) successful!
DEBUG    paramiko.transport:channel.py:1212 [chan 0] Max packet in: 32768 bytes
DEBUG    paramiko.transport:channel.py:1212 [chan 0] Max packet in: 32768 bytes
DEBUG    paramiko.transport:channel.py:1212 [chan 0] Max packet out: 32768 bytes
DEBUG    paramiko.transport:transport.py:1873 Secsh channel 0 (session) opened.
DEBUG    paramiko.transport:channel.py:1212 [chan 0] Max packet out: 32768 bytes
DEBUG    paramiko.transport:transport.py:1873 Secsh channel 0 opened.
DEBUG    paramiko.transport:transport.py:1873 Starting handler for subsystem sftp
DEBUG    paramiko.transport.sftp:sftp.py:158 [chan 0] Started sftp server on channel <paramiko.Channel 0 (open) window=2097152 -> <paramiko.Transport at 0x347da280 (cipher aes128-ctr, 128 bits) (active; 1 open channel(s))>>
DEBUG    paramiko.transport:channel.py:1212 [chan 0] Sesch channel 0 request ok
INFO     paramiko.transport.sftp:sftp.py:158 [chan 0] Opened sftp connection (server version 3)
============================================================================= warnings summary =============================================================================
../../../../../usr/lib/python3.8/site-packages/invoke/loader.py:3
  /usr/lib/python3.8/site-packages/invoke/loader.py:3: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
    import imp

../../../../../usr/lib/python3.8/site-packages/_pytest/config/__init__.py:1233
  /usr/lib/python3.8/site-packages/_pytest/config/__init__.py:1233: PytestConfigWarning: Unknown config option: looponfailroots

    self._warn_or_fail_if_strict(f"Unknown config option: {key}\n")

../../../../../usr/lib/python3.8/site-packages/pytest_freezegun.py:17: 810 warnings
  /usr/lib/python3.8/site-packages/pytest_freezegun.py:17: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
    if LooseVersion(pytest.__version__) < LooseVersion('3.6.0'):

tests/test_channelfile.py::TestChannelStdinFile::test_defaults_to_unbuffered_reading
tests/test_channelfile.py::TestChannelStdinFile::test_can_override_mode_and_bufsize
  /usr/lib/python3.8/site-packages/_pytest/unraisableexception.py:78: PytestUnraisableExceptionWarning: Exception ignored in: <function BufferedFile.__del__ at 0x7fbc4fdcf790>

  Traceback (most recent call last):
    File "/home/tkloczko/rpmbuild/BUILD/paramiko-2.9.1/paramiko/file.py", line 66, in __del__
      self.close()
    File "/home/tkloczko/rpmbuild/BUILD/paramiko-2.9.1/paramiko/channel.py", line 1392, in close
      self.channel.shutdown_write()
    File "/home/tkloczko/rpmbuild/BUILD/paramiko-2.9.1/paramiko/channel.py", line 991, in shutdown_write
      self.shutdown(1)
    File "/home/tkloczko/rpmbuild/BUILD/paramiko-2.9.1/paramiko/channel.py", line 967, in shutdown
      self.transport._send_user_message(m)
  AttributeError: 'NoneType' object has no attribute '_send_user_message'

    warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))

-- Docs: https://docs.pytest.org/en/stable/warnings.html
========================================================================= short test summary info ==========================================================================
SKIPPED [1] tests/test_sftp.py:809: Test requires a builtin 'buffer'
SKIPPED [1] tests/test_sftp.py:766: Doesn't prove anything right now
SKIPPED [1] tests/test_file.py:212: Test requires a builtin 'buffer'
SKIPPED [1] tests/test_ssh_gss.py:149: No GSSAPI to test
SKIPPED [1] tests/test_ssh_gss.py:142: No GSSAPI to test
SKIPPED [1] tests/test_kex_gss.py:140: No GSSAPI to test
SKIPPED [1] tests/test_kex_gss.py:149: No GSSAPI to test
SKIPPED [1] tests/test_gssapi.py:48: No GSSAPI to test
SKIPPED [1] tests/test_gssapi.py:214: No GSSAPI to test
SKIPPED [1] tests/test_gssapi.py:220: No GSSAPI to test
SKIPPED [1] tests/test_pkey.py:596: Not a low-entropy system
SKIPPED [1] tests/test_transport.py:969: Test requires a builtin 'buffer'
SKIPPED [1] tests/test_client.py:537: GSS auth not available
SKIPPED [1] tests/test_client.py:630: Clients normally fail silently, thus so do we, for now
SKIPPED [1] tests/test_client.py:505: GSS auth not available
SKIPPED [1] tests/test_client.py:513: GSS auth not available
SKIPPED [6] tests/test_config.py: unconditional skip
SKIPPED [1] tests/test_config.py:573: unconditional skip
FAILED tests/test_sftp.py::TestSFTP::test_sftp_attributes_locale_time - TypeError: test_sftp_attributes_locale_time() missing 1 required positional argument: 'sftp'
FAILED tests/test_sftp.py::TestSFTP::test_listdir_in_locale - TypeError: test_listdir_in_locale() missing 1 required positional argument: 'sftp'
==================================================== 2 failed, 380 passed, 23 skipped, 814 warnings in 76.31s (0:01:16) ====================================================
--- Logging error ---
Traceback (most recent call last):
  File "/home/tkloczko/rpmbuild/BUILD/paramiko-2.9.1/paramiko/transport.py", line 2109, in run
    ptype, m = self.packetizer.read_message()
  File "/home/tkloczko/rpmbuild/BUILD/paramiko-2.9.1/paramiko/packet.py", line 459, in read_message
    header = self.read_all(self.__block_size_in, check_rekey=True)
  File "/home/tkloczko/rpmbuild/BUILD/paramiko-2.9.1/paramiko/packet.py", line 324, in read_all
    raise EOFError()
EOFError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib64/python3.8/logging/__init__.py", line 1088, in emit
    stream.write(msg + self.terminator)
ValueError: I/O operation on closed file.
Call stack:
  File "/usr/lib64/python3.8/threading.py", line 890, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib64/python3.8/threading.py", line 932, in _bootstrap_inner
    self.run()
  File "/home/tkloczko/rpmbuild/BUILD/paramiko-2.9.1/paramiko/transport.py", line 2192, in run
    self._log(DEBUG, "EOF in transport thread")
  File "/home/tkloczko/rpmbuild/BUILD/paramiko-2.9.1/paramiko/transport.py", line 1873, in _log
    self.logger.log(level, msg, *args)
Message: 'EOF in transport thread'
Arguments: ()

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the packaged-wheel test run with pytest, then inspect tests/test_sftp.py and the locale helper in tests/init.py around the reported missing-argument failure. Compare both failing tests and confirm that the full pytest suite passes after the test setup issue is resolved.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
networking, testing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.