Your message dated Sat, 29 Mar 2025 18:27:12 +0000
with message-id <e1tyatk-007kta...@fasolo.debian.org>
and subject line Bug#1066774: fixed in ostree-push 1.2.0-1
has caused the Debian Bug report #1066774,
regarding ostree-push: FTBFS: dh_auto_test: error: pybuild --test --test-pytest 
-i python{version} -p "3.12 3.11" returned exit code 13
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1066774: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066774
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Source: ostree-push
Version: 1.1.0-1
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
Usertags: ftbfs-20240313 ftbfs-trixie

Hi,

During a rebuild of all packages in sid, your package failed to build
on amd64.


Relevant part (hopefully):
> =========================== short test summary info 
> ============================
> ERROR tests/test_full.py::test_no_commits - tests.util.OTPushTestError: 
> Could...
> ERROR tests/test_full.py::test_basic - tests.util.OTPushTestError: Could not 
> ...
> ERROR tests/test_full.py::test_dry_run - tests.util.OTPushTestError: Could 
> no...
> ERROR tests/test_full.py::test_scp_dest - tests.util.OTPushTestError: Could 
> n...
> ERROR tests/test_full.py::test_command_abspath - tests.util.OTPushTestError: 
> ...
> ERROR tests/test_push.py::TestSSHMultiplexer::test_socket_exists - 
> tests.util...
> ERROR tests/test_push.py::TestSSHMultiplexer::test_master_non_context - 
> tests...
> ERROR tests/test_push.py::TestSSHMultiplexer::test_master_context - 
> tests.uti...
> ERROR tests/test_push.py::TestSSHMultiplexer::test_forward_port - 
> tests.util....
> ERROR tests/test_push.py::TestSSHMultiplexer::test_run - 
> tests.util.OTPushTes...
> ERROR tests/test_push.py::TestPushRefs::test_no_refs - 
> tests.util.OTPushTestE...
> ERROR tests/test_push.py::TestPushRefs::test_refs - 
> tests.util.OTPushTestErro...
> ERROR tests/test_push.py::TestPushRefs::test_missing_ref - 
> tests.util.OTPushT...
> ERROR tests/test_push.py::TestPushRefs::test_summary - 
> tests.util.OTPushTestE...
> ERROR tests/test_push.py::TestPushRefs::test_dry_run - 
> tests.util.OTPushTestE...
> ERROR tests/test_sshd.py::test_basic - tests.util.OTPushTestError: Could not 
> ...
> ============ 74 passed, 4 skipped, 19 warnings, 16 errors in 5.91s 
> =============
> E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_ostree-push/build; python3.12 -m 
> pytest tests
> I: pybuild base:305: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build; python3.11 -m 
> pytest tests
> ============================= test session starts 
> ==============================
> platform linux -- Python 3.11.8, pytest-8.0.2, pluggy-1.4.0 -- 
> /usr/bin/python3.11
> cachedir: .pytest_cache
> rootdir: /<<PKGBUILDDIR>>
> configfile: pytest.ini
> collecting ... collected 94 items
> 
> tests/test_full.py::test_no_commits ERROR                                [  
> 1%]
> tests/test_full.py::test_basic ERROR                                     [  
> 2%]
> tests/test_full.py::test_dry_run ERROR                                   [  
> 3%]
> tests/test_full.py::test_scp_dest ERROR                                  [  
> 4%]
> tests/test_full.py::test_command_abspath ERROR                           [  
> 5%]
> tests/test_push.py::TestRepoServer::test_missing PASSED                  [  
> 6%]
> tests/test_push.py::TestRepoServer::test_non_context PASSED              [  
> 7%]
> tests/test_push.py::TestRepoServer::test_context PASSED                  [  
> 8%]
> tests/test_push.py::TestRepoServer::test_pull PASSED                     [  
> 9%]
> tests/test_push.py::TestSSHMultiplexer::test_socket_exists ERROR         [ 
> 10%]
> tests/test_push.py::TestSSHMultiplexer::test_master_non_context ERROR    [ 
> 11%]
> tests/test_push.py::TestSSHMultiplexer::test_master_context ERROR        [ 
> 12%]
> tests/test_push.py::TestSSHMultiplexer::test_forward_port ERROR          [ 
> 13%]
> tests/test_push.py::TestSSHMultiplexer::test_run ERROR                   [ 
> 14%]
> tests/test_push.py::TestPushRefs::test_no_refs ERROR                     [ 
> 15%]
> tests/test_push.py::TestPushRefs::test_refs ERROR                        [ 
> 17%]
> tests/test_push.py::TestPushRefs::test_missing_ref ERROR                 [ 
> 18%]
> tests/test_push.py::TestPushRefs::test_summary ERROR                     [ 
> 19%]
> tests/test_push.py::TestPushRefs::test_dry_run ERROR                     [ 
> 20%]
> tests/test_push.py::TestParseDest::test_bad_scheme PASSED                [ 
> 21%]
> tests/test_push.py::TestParseDest::test_missing_repo PASSED              [ 
> 22%]
> tests/test_push.py::TestParseDest::test_empty_dest PASSED                [ 
> 23%]
> tests/test_push.py::TestParseDest::test_missing_host PASSED              [ 
> 24%]
> tests/test_push.py::TestParseDest::test_invalid_host PASSED              [ 
> 25%]
> tests/test_push.py::TestParseDest::test_invalid_port PASSED              [ 
> 26%]
> tests/test_push.py::TestParseDest::test_good_dest PASSED                 [ 
> 27%]
> tests/test_push.py::TestArgParser::test_no_dest PASSED                   [ 
> 28%]
> tests/test_push.py::TestArgParser::test_defaults PASSED                  [ 
> 29%]
> tests/test_push.py::TestArgParser::test_dest PASSED                      [ 
> 30%]
> tests/test_push.py::TestArgParser::test_refs PASSED                      [ 
> 31%]
> tests/test_push.py::TestArgParser::test_port PASSED                      [ 
> 32%]
> tests/test_push.py::TestArgParser::test_port_and_dest_port PASSED        [ 
> 34%]
> tests/test_push.py::TestArgParser::test_dry_run PASSED                   [ 
> 35%]
> tests/test_push.py::TestArgParser::test_log_level PASSED                 [ 
> 36%]
> tests/test_push.py::TestArgParser::test_repo PASSED                      [ 
> 37%]
> tests/test_push.py::TestArgParser::test_command PASSED                   [ 
> 38%]
> tests/test_push.py::TestArgParser::test_ssh_options PASSED               [ 
> 39%]
> tests/test_receive.py::TestReceiveRepo::test_cleanup PASSED              [ 
> 40%]
> tests/test_receive.py::TestReceiveRepo::test_missing_repo PASSED         [ 
> 41%]
> tests/test_receive.py::TestReceiveRepo::test_get_commit_timestamp PASSED [ 
> 42%]
> tests/test_receive.py::TestReceiveRepo::test_is_flatpak_repo PASSED      [ 
> 43%]
> tests/test_receive.py::TestReceiveRepo::test_pull_commits PASSED         [ 
> 44%]
> tests/test_receive.py::TestReceiveRepo::test_copy_commit PASSED          [ 
> 45%]
> tests/test_receive.py::TestReceiveRepo::test_receive PASSED              [ 
> 46%]
> tests/test_receive.py::TestReceiveRepo::test_receive_update PASSED       [ 
> 47%]
> tests/test_receive.py::TestReceiveRepo::test_receive_update_hook PASSED  [ 
> 48%]
> tests/test_receive.py::TestReceiveRepo::test_receive_gpg_sign PASSED     [ 
> 50%]
> tests/test_receive.py::TestReceiveRepo::test_receive_gpg_verify PASSED   [ 
> 51%]
> tests/test_receive.py::TestReceiveRepo::test_receive_ed25519_sign SKIPPED [ 
> 52%]
> tests/test_receive.py::TestReceiveRepo::test_receive_ed25519_verify SKIPPED [ 
> 53%]
> tests/test_receive.py::TestReceiveRepo::test_update_repo_metadata PASSED [ 
> 54%]
> tests/test_receive.py::TestReceiveRepo::test_update_repo_metadata_flatpak 
> PASSED [ 55%]
> tests/test_receive.py::TestReceiveRepo::test_update_repo_metadata_gpg_sign 
> PASSED [ 56%]
> tests/test_receive.py::TestReceiveRepo::test_update_repo_metadata_ed25519_sign
>  SKIPPED [ 57%]
> tests/test_receive.py::TestReceiveRepo::test_update_repo_hook PASSED     [ 
> 58%]
> tests/test_receive.py::TestReceiveRepo::test_receive_missing PASSED      [ 
> 59%]
> tests/test_receive.py::TestReceiveRepo::test_receive_specific PASSED     [ 
> 60%]
> tests/test_receive.py::TestReceiveRepo::test_receive_all PASSED          [ 
> 61%]
> tests/test_receive.py::TestReceiveRepo::test_receive_dry_run PASSED      [ 
> 62%]
> tests/test_receive.py::TestReceiveRepo::test_receive_force PASSED        [ 
> 63%]
> tests/test_receive.py::TestReceiver::test_default_config PASSED          [ 
> 64%]
> tests/test_receive.py::TestReceiver::test_receive PASSED                 [ 
> 65%]
> tests/test_receive.py::TestRepoConfig::test_defaults PASSED              [ 
> 67%]
> tests/test_receive.py::TestRepoConfig::test_required PASSED              [ 
> 68%]
> tests/test_receive.py::TestConfig::test_defaults PASSED                  [ 
> 69%]
> tests/test_receive.py::TestConfig::test_invalid PASSED                   [ 
> 70%]
> tests/test_receive.py::TestConfig::test_default_paths PASSED             [ 
> 71%]
> tests/test_receive.py::TestConfig::test_load_valid PASSED                [ 
> 72%]
> tests/test_receive.py::TestConfig::test_load_none PASSED                 [ 
> 73%]
> tests/test_receive.py::TestConfig::test_load_empty PASSED                [ 
> 74%]
> tests/test_receive.py::TestConfig::test_load_missing PASSED              [ 
> 75%]
> tests/test_receive.py::TestConfig::test_load_multiple PASSED             [ 
> 76%]
> tests/test_receive.py::TestConfig::test_load_unknown PASSED              [ 
> 77%]
> tests/test_receive.py::TestConfig::test_load_invalid PASSED              [ 
> 78%]
> tests/test_receive.py::TestConfig::test_load_env PASSED                  [ 
> 79%]
> tests/test_receive.py::TestConfig::test_load_args PASSED                 [ 
> 80%]
> tests/test_receive.py::TestConfig::test_load_args_invalid PASSED         [ 
> 81%]
> tests/test_receive.py::TestConfig::test_load_conf_and_args PASSED        [ 
> 82%]
> tests/test_receive.py::TestConfig::test_repo_config PASSED               [ 
> 84%]
> tests/test_receive.py::TestArgParser::test_no_repo PASSED                [ 
> 85%]
> tests/test_receive.py::TestArgParser::test_no_url PASSED                 [ 
> 86%]
> tests/test_receive.py::TestArgParser::test_defaults PASSED               [ 
> 87%]
> tests/test_receive.py::TestArgParser::test_refs PASSED                   [ 
> 88%]
> tests/test_receive.py::TestArgParser::test_update PASSED                 [ 
> 89%]
> tests/test_receive.py::TestArgParser::test_dry_run PASSED                [ 
> 90%]
> tests/test_receive.py::TestArgParser::test_force PASSED                  [ 
> 91%]
> tests/test_receive.py::TestArgParser::test_log_level PASSED              [ 
> 92%]
> tests/test_receive_shell.py::test_command_args PASSED                    [ 
> 93%]
> tests/test_receive_shell.py::test_auto_path PASSED                       [ 
> 94%]
> tests/test_receive_shell.py::test_no_interactive PASSED                  [ 
> 95%]
> tests/test_receive_shell.py::test_wrong_args PASSED                      [ 
> 96%]
> tests/test_receive_shell.py::test_bad_command PASSED                     [ 
> 97%]
> tests/test_receive_shell.py::test_exec_errors SKIPPED (cannot test c...) [ 
> 98%]
> tests/test_sshd.py::test_basic ERROR                                     
> [100%]
> 
> ==================================== ERRORS 
> ====================================
> ______________________ ERROR at setup of test_no_commits 
> _______________________
> 
> ssh_datadir = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0')
> cli_env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @pytest.fixture(scope='session')
>     def sshd(ssh_datadir, cli_env_vars):
>         sshd_config = ssh_datadir / 'sshd_config'
>         host_key = ssh_datadir / 'host_rsa_key'
>         authorized_keys = ssh_datadir / 'id_rsa.pub'
> >       with ssh_server(sshd_config, host_key, authorized_keys, cli_env_vars) 
> > \
>              as server_info:
> 
> tests/conftest.py:71: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.11/contextlib.py:137: in __enter__
>     return next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> sshd_config = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/sshd_config')
> host_key = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/host_rsa_key')
> authorized_keys = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/id_rsa.pub')
> env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @contextmanager
>     def ssh_server(sshd_config, host_key, authorized_keys, env_vars=None):
>         # Running sshd requires an absolute path
>         sshd = get_sshd()
>         if not sshd:
>             raise OTPushTestError('Could not find sshd')
>         if not have_required_sshd(sshd):
>             raise OTPushTestError(f'{sshd} is not the required version')
>     
>         # Build a SetEnv option value from the provided environment variables.
>         env_vars = env_vars or {}
>         setenv = ' '.join([
>             f'{var}="{value}"'
>             for var, value in env_vars.items()
>         ])
>     
>         cmd = [
>             sshd,
>             # Don't fork
>             '-D',
>             # Write logs to stderr
>             '-e',
>             # Config file
>             '-f', str(sshd_config),
>             # Host key file
>             '-h', str(host_key),
>             # Authorized keys file
>             '-o', f'AuthorizedKeysFile={authorized_keys}',
>             # Only allow running user
>             '-o', f'AllowUsers={getpass.getuser()}',
>             # Allow root login
>             '-o', 'PermitRootLogin=yes',
>             # Set environment variables for the process
>             '-o', f'SetEnv={setenv}',
>         ]
>         logger.debug('SSH server args: %s', ' '.join(cmd))
>     
>         # Loop a few times trying to find an open ephemeral port
>         with open('/proc/sys/net/ipv4/ip_local_port_range') as f:
>             start_port, stop_port = map(int, f.readline().split())
>         proc = None
>         try:
>             for _ in range(5):
>                 port = random.randrange(start_port, stop_port)
>                 logger.debug('Starting %s with port %d', sshd, port)
>                 proc = subprocess.Popen(cmd + ['-p', str(port)])
>                 server_id = get_ssh_server_id(('127.0.0.1', port))
>                 if server_id.startswith('SSH-2.0-'):
>                     logger.info('%s started on port %d', sshd, port)
>                     break
>             else:
> >               raise OTPushTestError(f'Could not start {sshd}')
> E               tests.util.OTPushTestError: Could not start /usr/sbin/sshd
> 
> tests/util.py:352: OTPushTestError
> ---------------------------- Captured stderr setup 
> -----------------------------
> Server listening on 127.0.0.1 port 32912.
> 
> Server listening on 127.0.0.1 port 45749.
> 
> ------------------------------ Captured log setup 
> ------------------------------
> DEBUG    tests.util:util.py:200 Found sshd /usr/sbin/sshd
> DEBUG    tests.util:util.py:231 sshd version line: OpenSSH_9.6p1 Debian-5, 
> OpenSSL 3.1.5 30 Jan 2024
> DEBUG    tests.util:util.py:259 Detected OpenSSH sshd version 9.6
> DEBUG    tests.util:util.py:336 SSH server args: /usr/sbin/sshd -D -e -f 
> /tmp/pytest-of-user42/pytest-5/ssh-data0/sshd_config -h 
> /tmp/pytest-of-user42/pytest-5/ssh-data0/host_rsa_key -o 
> AuthorizedKeysFile=/tmp/pytest-of-user42/pytest-5/ssh-data0/id_rsa.pub -o 
> AllowUsers=user42 -o PermitRootLogin=yes -o 
> SetEnv=PATH="/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/scripts:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_ostree-push/scripts:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
>  
> PYTHONPATH="/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build:/<<PKGBUILDDIR>>/debian/python3-ostree-push/usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build"
> DEBUG    tests.util:util.py:345 Starting /usr/sbin/sshd with port 32912
> DEBUG    tests.util:util.py:286 Could not connect to port 32912
> DEBUG    tests.util:util.py:286 Could not connect to port 32912
> DEBUG    tests.util:util.py:286 Could not connect to port 32912
> DEBUG    tests.util:util.py:286 Could not connect to port 32912
> DEBUG    tests.util:util.py:286 Could not connect to port 32912
> DEBUG    tests.util:util.py:286 Could not connect to port 32912
> DEBUG    tests.util:util.py:286 Could not connect to port 32912
> DEBUG    tests.util:util.py:286 Could not connect to port 32912
> DEBUG    tests.util:util.py:286 Could not connect to port 32912
> DEBUG    tests.util:util.py:286 Could not connect to port 32912
> DEBUG    tests.util:util.py:289 Could not connect in 5 attempts
> DEBUG    tests.util:util.py:345 Starting /usr/sbin/sshd with port 45749
> DEBUG    tests.util:util.py:286 Could not connect to port 45749
> DEBUG    tests.util:util.py:286 Could not connect to port 45749
> DEBUG    tests.util:util.py:286 Could not connect to port 45749
> DEBUG    tests.util:util.py:286 Could not connect to port 45749
> DEBUG    tests.util:util.py:286 Could not connect to port 45749
> DEBUG    tests.util:util.py:286 Could not connect to port 45749
> DEBUG    tests.util:util.py:286 Could not connect to port 45749
> DEBUG    tests.util:util.py:286 Could not connect to port 45749
> DEBUG    tests.util:util.py:286 Could not connect to port 45749
> DEBUG    tests.util:util.py:286 Could not connect to port 45749
> DEBUG    tests.util:util.py:289 Could not connect in 5 attempts
> DEBUG    tests.util:util.py:345 Starting /usr/sbin/sshd with port 40901
> DEBUG    tests.util:util.py:286 Could not connect to port 40901
> DEBUG    tests.util:util.py:286 Could not connect to port 40901
> DEBUG    tests.util:util.py:286 Could not connect to port 40901
> DEBUG    tests.util:util.py:286 Could not connect to port 40901
> DEBUG    tests.util:util.py:286 Could not connect to port 40901
> DEBUG    tests.util:util.py:286 Could not connect to port 40901
> DEBUG    tests.util:util.py:286 Could not connect to port 40901
> DEBUG    tests.util:util.py:286 Could not connect to port 40901
> DEBUG    tests.util:util.py:286 Could not connect to port 40901
> DEBUG    tests.util:util.py:286 Could not connect to port 40901
> DEBUG    tests.util:util.py:289 Could not connect in 5 attempts
> DEBUG    tests.util:util.py:345 Starting /usr/sbin/sshd with port 35963
> DEBUG    tests.util:util.py:286 Could not connect to port 35963
> DEBUG    tests.util:util.py:286 Could not connect to port 35963
> DEBUG    tests.util:util.py:286 Could not connect to port 35963
> DEBUG    tests.util:util.py:286 Could not connect to port 35963
> DEBUG    tests.util:util.py:286 Could not connect to port 35963
> DEBUG    tests.util:util.py:286 Could not connect to port 35963
> DEBUG    tests.util:util.py:286 Could not connect to port 35963
> DEBUG    tests.util:util.py:286 Could not connect to port 35963
> DEBUG    tests.util:util.py:286 Could not connect to port 35963
> DEBUG    tests.util:util.py:286 Could not connect to port 35963
> DEBUG    tests.util:util.py:289 Could not connect in 5 attempts
> DEBUG    tests.util:util.py:345 Starting /usr/sbin/sshd with port 43709
> DEBUG    tests.util:util.py:286 Could not connect to port 43709
> DEBUG    tests.util:util.py:286 Could not connect to port 43709
> DEBUG    tests.util:util.py:286 Could not connect to port 43709
> DEBUG    tests.util:util.py:286 Could not connect to port 43709
> DEBUG    tests.util:util.py:286 Could not connect to port 43709
> DEBUG    tests.util:util.py:286 Could not connect to port 43709
> DEBUG    tests.util:util.py:286 Could not connect to port 43709
> DEBUG    tests.util:util.py:286 Could not connect to port 43709
> DEBUG    tests.util:util.py:286 Could not connect to port 43709
> DEBUG    tests.util:util.py:286 Could not connect to port 43709
> DEBUG    tests.util:util.py:289 Could not connect in 5 attempts
> DEBUG    tests.util:util.py:357 Stopping sshd process 357317
> _________________________ ERROR at setup of test_basic 
> _________________________
> 
> ssh_datadir = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0')
> cli_env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @pytest.fixture(scope='session')
>     def sshd(ssh_datadir, cli_env_vars):
>         sshd_config = ssh_datadir / 'sshd_config'
>         host_key = ssh_datadir / 'host_rsa_key'
>         authorized_keys = ssh_datadir / 'id_rsa.pub'
> >       with ssh_server(sshd_config, host_key, authorized_keys, cli_env_vars) 
> > \
>              as server_info:
> 
> tests/conftest.py:71: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.11/contextlib.py:137: in __enter__
>     return next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> sshd_config = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/sshd_config')
> host_key = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/host_rsa_key')
> authorized_keys = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/id_rsa.pub')
> env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @contextmanager
>     def ssh_server(sshd_config, host_key, authorized_keys, env_vars=None):
>         # Running sshd requires an absolute path
>         sshd = get_sshd()
>         if not sshd:
>             raise OTPushTestError('Could not find sshd')
>         if not have_required_sshd(sshd):
>             raise OTPushTestError(f'{sshd} is not the required version')
>     
>         # Build a SetEnv option value from the provided environment variables.
>         env_vars = env_vars or {}
>         setenv = ' '.join([
>             f'{var}="{value}"'
>             for var, value in env_vars.items()
>         ])
>     
>         cmd = [
>             sshd,
>             # Don't fork
>             '-D',
>             # Write logs to stderr
>             '-e',
>             # Config file
>             '-f', str(sshd_config),
>             # Host key file
>             '-h', str(host_key),
>             # Authorized keys file
>             '-o', f'AuthorizedKeysFile={authorized_keys}',
>             # Only allow running user
>             '-o', f'AllowUsers={getpass.getuser()}',
>             # Allow root login
>             '-o', 'PermitRootLogin=yes',
>             # Set environment variables for the process
>             '-o', f'SetEnv={setenv}',
>         ]
>         logger.debug('SSH server args: %s', ' '.join(cmd))
>     
>         # Loop a few times trying to find an open ephemeral port
>         with open('/proc/sys/net/ipv4/ip_local_port_range') as f:
>             start_port, stop_port = map(int, f.readline().split())
>         proc = None
>         try:
>             for _ in range(5):
>                 port = random.randrange(start_port, stop_port)
>                 logger.debug('Starting %s with port %d', sshd, port)
>                 proc = subprocess.Popen(cmd + ['-p', str(port)])
>                 server_id = get_ssh_server_id(('127.0.0.1', port))
>                 if server_id.startswith('SSH-2.0-'):
>                     logger.info('%s started on port %d', sshd, port)
>                     break
>             else:
> >               raise OTPushTestError(f'Could not start {sshd}')
> E               tests.util.OTPushTestError: Could not start /usr/sbin/sshd
> 
> tests/util.py:352: OTPushTestError
> ________________________ ERROR at setup of test_dry_run 
> ________________________
> 
> ssh_datadir = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0')
> cli_env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @pytest.fixture(scope='session')
>     def sshd(ssh_datadir, cli_env_vars):
>         sshd_config = ssh_datadir / 'sshd_config'
>         host_key = ssh_datadir / 'host_rsa_key'
>         authorized_keys = ssh_datadir / 'id_rsa.pub'
> >       with ssh_server(sshd_config, host_key, authorized_keys, cli_env_vars) 
> > \
>              as server_info:
> 
> tests/conftest.py:71: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.11/contextlib.py:137: in __enter__
>     return next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> sshd_config = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/sshd_config')
> host_key = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/host_rsa_key')
> authorized_keys = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/id_rsa.pub')
> env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @contextmanager
>     def ssh_server(sshd_config, host_key, authorized_keys, env_vars=None):
>         # Running sshd requires an absolute path
>         sshd = get_sshd()
>         if not sshd:
>             raise OTPushTestError('Could not find sshd')
>         if not have_required_sshd(sshd):
>             raise OTPushTestError(f'{sshd} is not the required version')
>     
>         # Build a SetEnv option value from the provided environment variables.
>         env_vars = env_vars or {}
>         setenv = ' '.join([
>             f'{var}="{value}"'
>             for var, value in env_vars.items()
>         ])
>     
>         cmd = [
>             sshd,
>             # Don't fork
>             '-D',
>             # Write logs to stderr
>             '-e',
>             # Config file
>             '-f', str(sshd_config),
>             # Host key file
>             '-h', str(host_key),
>             # Authorized keys file
>             '-o', f'AuthorizedKeysFile={authorized_keys}',
>             # Only allow running user
>             '-o', f'AllowUsers={getpass.getuser()}',
>             # Allow root login
>             '-o', 'PermitRootLogin=yes',
>             # Set environment variables for the process
>             '-o', f'SetEnv={setenv}',
>         ]
>         logger.debug('SSH server args: %s', ' '.join(cmd))
>     
>         # Loop a few times trying to find an open ephemeral port
>         with open('/proc/sys/net/ipv4/ip_local_port_range') as f:
>             start_port, stop_port = map(int, f.readline().split())
>         proc = None
>         try:
>             for _ in range(5):
>                 port = random.randrange(start_port, stop_port)
>                 logger.debug('Starting %s with port %d', sshd, port)
>                 proc = subprocess.Popen(cmd + ['-p', str(port)])
>                 server_id = get_ssh_server_id(('127.0.0.1', port))
>                 if server_id.startswith('SSH-2.0-'):
>                     logger.info('%s started on port %d', sshd, port)
>                     break
>             else:
> >               raise OTPushTestError(f'Could not start {sshd}')
> E               tests.util.OTPushTestError: Could not start /usr/sbin/sshd
> 
> tests/util.py:352: OTPushTestError
> _______________________ ERROR at setup of test_scp_dest 
> ________________________
> 
> ssh_datadir = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0')
> cli_env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @pytest.fixture(scope='session')
>     def sshd(ssh_datadir, cli_env_vars):
>         sshd_config = ssh_datadir / 'sshd_config'
>         host_key = ssh_datadir / 'host_rsa_key'
>         authorized_keys = ssh_datadir / 'id_rsa.pub'
> >       with ssh_server(sshd_config, host_key, authorized_keys, cli_env_vars) 
> > \
>              as server_info:
> 
> tests/conftest.py:71: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.11/contextlib.py:137: in __enter__
>     return next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> sshd_config = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/sshd_config')
> host_key = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/host_rsa_key')
> authorized_keys = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/id_rsa.pub')
> env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @contextmanager
>     def ssh_server(sshd_config, host_key, authorized_keys, env_vars=None):
>         # Running sshd requires an absolute path
>         sshd = get_sshd()
>         if not sshd:
>             raise OTPushTestError('Could not find sshd')
>         if not have_required_sshd(sshd):
>             raise OTPushTestError(f'{sshd} is not the required version')
>     
>         # Build a SetEnv option value from the provided environment variables.
>         env_vars = env_vars or {}
>         setenv = ' '.join([
>             f'{var}="{value}"'
>             for var, value in env_vars.items()
>         ])
>     
>         cmd = [
>             sshd,
>             # Don't fork
>             '-D',
>             # Write logs to stderr
>             '-e',
>             # Config file
>             '-f', str(sshd_config),
>             # Host key file
>             '-h', str(host_key),
>             # Authorized keys file
>             '-o', f'AuthorizedKeysFile={authorized_keys}',
>             # Only allow running user
>             '-o', f'AllowUsers={getpass.getuser()}',
>             # Allow root login
>             '-o', 'PermitRootLogin=yes',
>             # Set environment variables for the process
>             '-o', f'SetEnv={setenv}',
>         ]
>         logger.debug('SSH server args: %s', ' '.join(cmd))
>     
>         # Loop a few times trying to find an open ephemeral port
>         with open('/proc/sys/net/ipv4/ip_local_port_range') as f:
>             start_port, stop_port = map(int, f.readline().split())
>         proc = None
>         try:
>             for _ in range(5):
>                 port = random.randrange(start_port, stop_port)
>                 logger.debug('Starting %s with port %d', sshd, port)
>                 proc = subprocess.Popen(cmd + ['-p', str(port)])
>                 server_id = get_ssh_server_id(('127.0.0.1', port))
>                 if server_id.startswith('SSH-2.0-'):
>                     logger.info('%s started on port %d', sshd, port)
>                     break
>             else:
> >               raise OTPushTestError(f'Could not start {sshd}')
> E               tests.util.OTPushTestError: Could not start /usr/sbin/sshd
> 
> tests/util.py:352: OTPushTestError
> ____________________ ERROR at setup of test_command_abspath 
> ____________________
> 
> ssh_datadir = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0')
> cli_env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @pytest.fixture(scope='session')
>     def sshd(ssh_datadir, cli_env_vars):
>         sshd_config = ssh_datadir / 'sshd_config'
>         host_key = ssh_datadir / 'host_rsa_key'
>         authorized_keys = ssh_datadir / 'id_rsa.pub'
> >       with ssh_server(sshd_config, host_key, authorized_keys, cli_env_vars) 
> > \
>              as server_info:
> 
> tests/conftest.py:71: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.11/contextlib.py:137: in __enter__
>     return next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> sshd_config = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/sshd_config')
> host_key = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/host_rsa_key')
> authorized_keys = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/id_rsa.pub')
> env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @contextmanager
>     def ssh_server(sshd_config, host_key, authorized_keys, env_vars=None):
>         # Running sshd requires an absolute path
>         sshd = get_sshd()
>         if not sshd:
>             raise OTPushTestError('Could not find sshd')
>         if not have_required_sshd(sshd):
>             raise OTPushTestError(f'{sshd} is not the required version')
>     
>         # Build a SetEnv option value from the provided environment variables.
>         env_vars = env_vars or {}
>         setenv = ' '.join([
>             f'{var}="{value}"'
>             for var, value in env_vars.items()
>         ])
>     
>         cmd = [
>             sshd,
>             # Don't fork
>             '-D',
>             # Write logs to stderr
>             '-e',
>             # Config file
>             '-f', str(sshd_config),
>             # Host key file
>             '-h', str(host_key),
>             # Authorized keys file
>             '-o', f'AuthorizedKeysFile={authorized_keys}',
>             # Only allow running user
>             '-o', f'AllowUsers={getpass.getuser()}',
>             # Allow root login
>             '-o', 'PermitRootLogin=yes',
>             # Set environment variables for the process
>             '-o', f'SetEnv={setenv}',
>         ]
>         logger.debug('SSH server args: %s', ' '.join(cmd))
>     
>         # Loop a few times trying to find an open ephemeral port
>         with open('/proc/sys/net/ipv4/ip_local_port_range') as f:
>             start_port, stop_port = map(int, f.readline().split())
>         proc = None
>         try:
>             for _ in range(5):
>                 port = random.randrange(start_port, stop_port)
>                 logger.debug('Starting %s with port %d', sshd, port)
>                 proc = subprocess.Popen(cmd + ['-p', str(port)])
>                 server_id = get_ssh_server_id(('127.0.0.1', port))
>                 if server_id.startswith('SSH-2.0-'):
>                     logger.info('%s started on port %d', sshd, port)
>                     break
>             else:
> >               raise OTPushTestError(f'Could not start {sshd}')
> E               tests.util.OTPushTestError: Could not start /usr/sbin/sshd
> 
> tests/util.py:352: OTPushTestError
> ___________ ERROR at setup of TestSSHMultiplexer.test_socket_exists 
> ____________
> 
> ssh_datadir = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0')
> cli_env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @pytest.fixture(scope='session')
>     def sshd(ssh_datadir, cli_env_vars):
>         sshd_config = ssh_datadir / 'sshd_config'
>         host_key = ssh_datadir / 'host_rsa_key'
>         authorized_keys = ssh_datadir / 'id_rsa.pub'
> >       with ssh_server(sshd_config, host_key, authorized_keys, cli_env_vars) 
> > \
>              as server_info:
> 
> tests/conftest.py:71: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.11/contextlib.py:137: in __enter__
>     return next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> sshd_config = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/sshd_config')
> host_key = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/host_rsa_key')
> authorized_keys = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/id_rsa.pub')
> env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @contextmanager
>     def ssh_server(sshd_config, host_key, authorized_keys, env_vars=None):
>         # Running sshd requires an absolute path
>         sshd = get_sshd()
>         if not sshd:
>             raise OTPushTestError('Could not find sshd')
>         if not have_required_sshd(sshd):
>             raise OTPushTestError(f'{sshd} is not the required version')
>     
>         # Build a SetEnv option value from the provided environment variables.
>         env_vars = env_vars or {}
>         setenv = ' '.join([
>             f'{var}="{value}"'
>             for var, value in env_vars.items()
>         ])
>     
>         cmd = [
>             sshd,
>             # Don't fork
>             '-D',
>             # Write logs to stderr
>             '-e',
>             # Config file
>             '-f', str(sshd_config),
>             # Host key file
>             '-h', str(host_key),
>             # Authorized keys file
>             '-o', f'AuthorizedKeysFile={authorized_keys}',
>             # Only allow running user
>             '-o', f'AllowUsers={getpass.getuser()}',
>             # Allow root login
>             '-o', 'PermitRootLogin=yes',
>             # Set environment variables for the process
>             '-o', f'SetEnv={setenv}',
>         ]
>         logger.debug('SSH server args: %s', ' '.join(cmd))
>     
>         # Loop a few times trying to find an open ephemeral port
>         with open('/proc/sys/net/ipv4/ip_local_port_range') as f:
>             start_port, stop_port = map(int, f.readline().split())
>         proc = None
>         try:
>             for _ in range(5):
>                 port = random.randrange(start_port, stop_port)
>                 logger.debug('Starting %s with port %d', sshd, port)
>                 proc = subprocess.Popen(cmd + ['-p', str(port)])
>                 server_id = get_ssh_server_id(('127.0.0.1', port))
>                 if server_id.startswith('SSH-2.0-'):
>                     logger.info('%s started on port %d', sshd, port)
>                     break
>             else:
> >               raise OTPushTestError(f'Could not start {sshd}')
> E               tests.util.OTPushTestError: Could not start /usr/sbin/sshd
> 
> tests/util.py:352: OTPushTestError
> _________ ERROR at setup of TestSSHMultiplexer.test_master_non_context 
> _________
> 
> ssh_datadir = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0')
> cli_env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @pytest.fixture(scope='session')
>     def sshd(ssh_datadir, cli_env_vars):
>         sshd_config = ssh_datadir / 'sshd_config'
>         host_key = ssh_datadir / 'host_rsa_key'
>         authorized_keys = ssh_datadir / 'id_rsa.pub'
> >       with ssh_server(sshd_config, host_key, authorized_keys, cli_env_vars) 
> > \
>              as server_info:
> 
> tests/conftest.py:71: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.11/contextlib.py:137: in __enter__
>     return next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> sshd_config = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/sshd_config')
> host_key = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/host_rsa_key')
> authorized_keys = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/id_rsa.pub')
> env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @contextmanager
>     def ssh_server(sshd_config, host_key, authorized_keys, env_vars=None):
>         # Running sshd requires an absolute path
>         sshd = get_sshd()
>         if not sshd:
>             raise OTPushTestError('Could not find sshd')
>         if not have_required_sshd(sshd):
>             raise OTPushTestError(f'{sshd} is not the required version')
>     
>         # Build a SetEnv option value from the provided environment variables.
>         env_vars = env_vars or {}
>         setenv = ' '.join([
>             f'{var}="{value}"'
>             for var, value in env_vars.items()
>         ])
>     
>         cmd = [
>             sshd,
>             # Don't fork
>             '-D',
>             # Write logs to stderr
>             '-e',
>             # Config file
>             '-f', str(sshd_config),
>             # Host key file
>             '-h', str(host_key),
>             # Authorized keys file
>             '-o', f'AuthorizedKeysFile={authorized_keys}',
>             # Only allow running user
>             '-o', f'AllowUsers={getpass.getuser()}',
>             # Allow root login
>             '-o', 'PermitRootLogin=yes',
>             # Set environment variables for the process
>             '-o', f'SetEnv={setenv}',
>         ]
>         logger.debug('SSH server args: %s', ' '.join(cmd))
>     
>         # Loop a few times trying to find an open ephemeral port
>         with open('/proc/sys/net/ipv4/ip_local_port_range') as f:
>             start_port, stop_port = map(int, f.readline().split())
>         proc = None
>         try:
>             for _ in range(5):
>                 port = random.randrange(start_port, stop_port)
>                 logger.debug('Starting %s with port %d', sshd, port)
>                 proc = subprocess.Popen(cmd + ['-p', str(port)])
>                 server_id = get_ssh_server_id(('127.0.0.1', port))
>                 if server_id.startswith('SSH-2.0-'):
>                     logger.info('%s started on port %d', sshd, port)
>                     break
>             else:
> >               raise OTPushTestError(f'Could not start {sshd}')
> E               tests.util.OTPushTestError: Could not start /usr/sbin/sshd
> 
> tests/util.py:352: OTPushTestError
> ___________ ERROR at setup of TestSSHMultiplexer.test_master_context 
> ___________
> 
> ssh_datadir = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0')
> cli_env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @pytest.fixture(scope='session')
>     def sshd(ssh_datadir, cli_env_vars):
>         sshd_config = ssh_datadir / 'sshd_config'
>         host_key = ssh_datadir / 'host_rsa_key'
>         authorized_keys = ssh_datadir / 'id_rsa.pub'
> >       with ssh_server(sshd_config, host_key, authorized_keys, cli_env_vars) 
> > \
>              as server_info:
> 
> tests/conftest.py:71: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.11/contextlib.py:137: in __enter__
>     return next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> sshd_config = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/sshd_config')
> host_key = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/host_rsa_key')
> authorized_keys = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/id_rsa.pub')
> env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @contextmanager
>     def ssh_server(sshd_config, host_key, authorized_keys, env_vars=None):
>         # Running sshd requires an absolute path
>         sshd = get_sshd()
>         if not sshd:
>             raise OTPushTestError('Could not find sshd')
>         if not have_required_sshd(sshd):
>             raise OTPushTestError(f'{sshd} is not the required version')
>     
>         # Build a SetEnv option value from the provided environment variables.
>         env_vars = env_vars or {}
>         setenv = ' '.join([
>             f'{var}="{value}"'
>             for var, value in env_vars.items()
>         ])
>     
>         cmd = [
>             sshd,
>             # Don't fork
>             '-D',
>             # Write logs to stderr
>             '-e',
>             # Config file
>             '-f', str(sshd_config),
>             # Host key file
>             '-h', str(host_key),
>             # Authorized keys file
>             '-o', f'AuthorizedKeysFile={authorized_keys}',
>             # Only allow running user
>             '-o', f'AllowUsers={getpass.getuser()}',
>             # Allow root login
>             '-o', 'PermitRootLogin=yes',
>             # Set environment variables for the process
>             '-o', f'SetEnv={setenv}',
>         ]
>         logger.debug('SSH server args: %s', ' '.join(cmd))
>     
>         # Loop a few times trying to find an open ephemeral port
>         with open('/proc/sys/net/ipv4/ip_local_port_range') as f:
>             start_port, stop_port = map(int, f.readline().split())
>         proc = None
>         try:
>             for _ in range(5):
>                 port = random.randrange(start_port, stop_port)
>                 logger.debug('Starting %s with port %d', sshd, port)
>                 proc = subprocess.Popen(cmd + ['-p', str(port)])
>                 server_id = get_ssh_server_id(('127.0.0.1', port))
>                 if server_id.startswith('SSH-2.0-'):
>                     logger.info('%s started on port %d', sshd, port)
>                     break
>             else:
> >               raise OTPushTestError(f'Could not start {sshd}')
> E               tests.util.OTPushTestError: Could not start /usr/sbin/sshd
> 
> tests/util.py:352: OTPushTestError
> ____________ ERROR at setup of TestSSHMultiplexer.test_forward_port 
> ____________
> 
> ssh_datadir = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0')
> cli_env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @pytest.fixture(scope='session')
>     def sshd(ssh_datadir, cli_env_vars):
>         sshd_config = ssh_datadir / 'sshd_config'
>         host_key = ssh_datadir / 'host_rsa_key'
>         authorized_keys = ssh_datadir / 'id_rsa.pub'
> >       with ssh_server(sshd_config, host_key, authorized_keys, cli_env_vars) 
> > \
>              as server_info:
> 
> tests/conftest.py:71: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.11/contextlib.py:137: in __enter__
>     return next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> sshd_config = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/sshd_config')
> host_key = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/host_rsa_key')
> authorized_keys = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/id_rsa.pub')
> env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @contextmanager
>     def ssh_server(sshd_config, host_key, authorized_keys, env_vars=None):
>         # Running sshd requires an absolute path
>         sshd = get_sshd()
>         if not sshd:
>             raise OTPushTestError('Could not find sshd')
>         if not have_required_sshd(sshd):
>             raise OTPushTestError(f'{sshd} is not the required version')
>     
>         # Build a SetEnv option value from the provided environment variables.
>         env_vars = env_vars or {}
>         setenv = ' '.join([
>             f'{var}="{value}"'
>             for var, value in env_vars.items()
>         ])
>     
>         cmd = [
>             sshd,
>             # Don't fork
>             '-D',
>             # Write logs to stderr
>             '-e',
>             # Config file
>             '-f', str(sshd_config),
>             # Host key file
>             '-h', str(host_key),
>             # Authorized keys file
>             '-o', f'AuthorizedKeysFile={authorized_keys}',
>             # Only allow running user
>             '-o', f'AllowUsers={getpass.getuser()}',
>             # Allow root login
>             '-o', 'PermitRootLogin=yes',
>             # Set environment variables for the process
>             '-o', f'SetEnv={setenv}',
>         ]
>         logger.debug('SSH server args: %s', ' '.join(cmd))
>     
>         # Loop a few times trying to find an open ephemeral port
>         with open('/proc/sys/net/ipv4/ip_local_port_range') as f:
>             start_port, stop_port = map(int, f.readline().split())
>         proc = None
>         try:
>             for _ in range(5):
>                 port = random.randrange(start_port, stop_port)
>                 logger.debug('Starting %s with port %d', sshd, port)
>                 proc = subprocess.Popen(cmd + ['-p', str(port)])
>                 server_id = get_ssh_server_id(('127.0.0.1', port))
>                 if server_id.startswith('SSH-2.0-'):
>                     logger.info('%s started on port %d', sshd, port)
>                     break
>             else:
> >               raise OTPushTestError(f'Could not start {sshd}')
> E               tests.util.OTPushTestError: Could not start /usr/sbin/sshd
> 
> tests/util.py:352: OTPushTestError
> ________________ ERROR at setup of TestSSHMultiplexer.test_run 
> _________________
> 
> ssh_datadir = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0')
> cli_env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @pytest.fixture(scope='session')
>     def sshd(ssh_datadir, cli_env_vars):
>         sshd_config = ssh_datadir / 'sshd_config'
>         host_key = ssh_datadir / 'host_rsa_key'
>         authorized_keys = ssh_datadir / 'id_rsa.pub'
> >       with ssh_server(sshd_config, host_key, authorized_keys, cli_env_vars) 
> > \
>              as server_info:
> 
> tests/conftest.py:71: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.11/contextlib.py:137: in __enter__
>     return next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> sshd_config = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/sshd_config')
> host_key = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/host_rsa_key')
> authorized_keys = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/id_rsa.pub')
> env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @contextmanager
>     def ssh_server(sshd_config, host_key, authorized_keys, env_vars=None):
>         # Running sshd requires an absolute path
>         sshd = get_sshd()
>         if not sshd:
>             raise OTPushTestError('Could not find sshd')
>         if not have_required_sshd(sshd):
>             raise OTPushTestError(f'{sshd} is not the required version')
>     
>         # Build a SetEnv option value from the provided environment variables.
>         env_vars = env_vars or {}
>         setenv = ' '.join([
>             f'{var}="{value}"'
>             for var, value in env_vars.items()
>         ])
>     
>         cmd = [
>             sshd,
>             # Don't fork
>             '-D',
>             # Write logs to stderr
>             '-e',
>             # Config file
>             '-f', str(sshd_config),
>             # Host key file
>             '-h', str(host_key),
>             # Authorized keys file
>             '-o', f'AuthorizedKeysFile={authorized_keys}',
>             # Only allow running user
>             '-o', f'AllowUsers={getpass.getuser()}',
>             # Allow root login
>             '-o', 'PermitRootLogin=yes',
>             # Set environment variables for the process
>             '-o', f'SetEnv={setenv}',
>         ]
>         logger.debug('SSH server args: %s', ' '.join(cmd))
>     
>         # Loop a few times trying to find an open ephemeral port
>         with open('/proc/sys/net/ipv4/ip_local_port_range') as f:
>             start_port, stop_port = map(int, f.readline().split())
>         proc = None
>         try:
>             for _ in range(5):
>                 port = random.randrange(start_port, stop_port)
>                 logger.debug('Starting %s with port %d', sshd, port)
>                 proc = subprocess.Popen(cmd + ['-p', str(port)])
>                 server_id = get_ssh_server_id(('127.0.0.1', port))
>                 if server_id.startswith('SSH-2.0-'):
>                     logger.info('%s started on port %d', sshd, port)
>                     break
>             else:
> >               raise OTPushTestError(f'Could not start {sshd}')
> E               tests.util.OTPushTestError: Could not start /usr/sbin/sshd
> 
> tests/util.py:352: OTPushTestError
> _________________ ERROR at setup of TestPushRefs.test_no_refs 
> __________________
> 
> ssh_datadir = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0')
> cli_env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @pytest.fixture(scope='session')
>     def sshd(ssh_datadir, cli_env_vars):
>         sshd_config = ssh_datadir / 'sshd_config'
>         host_key = ssh_datadir / 'host_rsa_key'
>         authorized_keys = ssh_datadir / 'id_rsa.pub'
> >       with ssh_server(sshd_config, host_key, authorized_keys, cli_env_vars) 
> > \
>              as server_info:
> 
> tests/conftest.py:71: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.11/contextlib.py:137: in __enter__
>     return next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> sshd_config = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/sshd_config')
> host_key = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/host_rsa_key')
> authorized_keys = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/id_rsa.pub')
> env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @contextmanager
>     def ssh_server(sshd_config, host_key, authorized_keys, env_vars=None):
>         # Running sshd requires an absolute path
>         sshd = get_sshd()
>         if not sshd:
>             raise OTPushTestError('Could not find sshd')
>         if not have_required_sshd(sshd):
>             raise OTPushTestError(f'{sshd} is not the required version')
>     
>         # Build a SetEnv option value from the provided environment variables.
>         env_vars = env_vars or {}
>         setenv = ' '.join([
>             f'{var}="{value}"'
>             for var, value in env_vars.items()
>         ])
>     
>         cmd = [
>             sshd,
>             # Don't fork
>             '-D',
>             # Write logs to stderr
>             '-e',
>             # Config file
>             '-f', str(sshd_config),
>             # Host key file
>             '-h', str(host_key),
>             # Authorized keys file
>             '-o', f'AuthorizedKeysFile={authorized_keys}',
>             # Only allow running user
>             '-o', f'AllowUsers={getpass.getuser()}',
>             # Allow root login
>             '-o', 'PermitRootLogin=yes',
>             # Set environment variables for the process
>             '-o', f'SetEnv={setenv}',
>         ]
>         logger.debug('SSH server args: %s', ' '.join(cmd))
>     
>         # Loop a few times trying to find an open ephemeral port
>         with open('/proc/sys/net/ipv4/ip_local_port_range') as f:
>             start_port, stop_port = map(int, f.readline().split())
>         proc = None
>         try:
>             for _ in range(5):
>                 port = random.randrange(start_port, stop_port)
>                 logger.debug('Starting %s with port %d', sshd, port)
>                 proc = subprocess.Popen(cmd + ['-p', str(port)])
>                 server_id = get_ssh_server_id(('127.0.0.1', port))
>                 if server_id.startswith('SSH-2.0-'):
>                     logger.info('%s started on port %d', sshd, port)
>                     break
>             else:
> >               raise OTPushTestError(f'Could not start {sshd}')
> E               tests.util.OTPushTestError: Could not start /usr/sbin/sshd
> 
> tests/util.py:352: OTPushTestError
> ___________________ ERROR at setup of TestPushRefs.test_refs 
> ___________________
> 
> ssh_datadir = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0')
> cli_env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @pytest.fixture(scope='session')
>     def sshd(ssh_datadir, cli_env_vars):
>         sshd_config = ssh_datadir / 'sshd_config'
>         host_key = ssh_datadir / 'host_rsa_key'
>         authorized_keys = ssh_datadir / 'id_rsa.pub'
> >       with ssh_server(sshd_config, host_key, authorized_keys, cli_env_vars) 
> > \
>              as server_info:
> 
> tests/conftest.py:71: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.11/contextlib.py:137: in __enter__
>     return next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> sshd_config = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/sshd_config')
> host_key = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/host_rsa_key')
> authorized_keys = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/id_rsa.pub')
> env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @contextmanager
>     def ssh_server(sshd_config, host_key, authorized_keys, env_vars=None):
>         # Running sshd requires an absolute path
>         sshd = get_sshd()
>         if not sshd:
>             raise OTPushTestError('Could not find sshd')
>         if not have_required_sshd(sshd):
>             raise OTPushTestError(f'{sshd} is not the required version')
>     
>         # Build a SetEnv option value from the provided environment variables.
>         env_vars = env_vars or {}
>         setenv = ' '.join([
>             f'{var}="{value}"'
>             for var, value in env_vars.items()
>         ])
>     
>         cmd = [
>             sshd,
>             # Don't fork
>             '-D',
>             # Write logs to stderr
>             '-e',
>             # Config file
>             '-f', str(sshd_config),
>             # Host key file
>             '-h', str(host_key),
>             # Authorized keys file
>             '-o', f'AuthorizedKeysFile={authorized_keys}',
>             # Only allow running user
>             '-o', f'AllowUsers={getpass.getuser()}',
>             # Allow root login
>             '-o', 'PermitRootLogin=yes',
>             # Set environment variables for the process
>             '-o', f'SetEnv={setenv}',
>         ]
>         logger.debug('SSH server args: %s', ' '.join(cmd))
>     
>         # Loop a few times trying to find an open ephemeral port
>         with open('/proc/sys/net/ipv4/ip_local_port_range') as f:
>             start_port, stop_port = map(int, f.readline().split())
>         proc = None
>         try:
>             for _ in range(5):
>                 port = random.randrange(start_port, stop_port)
>                 logger.debug('Starting %s with port %d', sshd, port)
>                 proc = subprocess.Popen(cmd + ['-p', str(port)])
>                 server_id = get_ssh_server_id(('127.0.0.1', port))
>                 if server_id.startswith('SSH-2.0-'):
>                     logger.info('%s started on port %d', sshd, port)
>                     break
>             else:
> >               raise OTPushTestError(f'Could not start {sshd}')
> E               tests.util.OTPushTestError: Could not start /usr/sbin/sshd
> 
> tests/util.py:352: OTPushTestError
> _______________ ERROR at setup of TestPushRefs.test_missing_ref 
> ________________
> 
> ssh_datadir = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0')
> cli_env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @pytest.fixture(scope='session')
>     def sshd(ssh_datadir, cli_env_vars):
>         sshd_config = ssh_datadir / 'sshd_config'
>         host_key = ssh_datadir / 'host_rsa_key'
>         authorized_keys = ssh_datadir / 'id_rsa.pub'
> >       with ssh_server(sshd_config, host_key, authorized_keys, cli_env_vars) 
> > \
>              as server_info:
> 
> tests/conftest.py:71: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.11/contextlib.py:137: in __enter__
>     return next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> sshd_config = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/sshd_config')
> host_key = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/host_rsa_key')
> authorized_keys = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/id_rsa.pub')
> env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @contextmanager
>     def ssh_server(sshd_config, host_key, authorized_keys, env_vars=None):
>         # Running sshd requires an absolute path
>         sshd = get_sshd()
>         if not sshd:
>             raise OTPushTestError('Could not find sshd')
>         if not have_required_sshd(sshd):
>             raise OTPushTestError(f'{sshd} is not the required version')
>     
>         # Build a SetEnv option value from the provided environment variables.
>         env_vars = env_vars or {}
>         setenv = ' '.join([
>             f'{var}="{value}"'
>             for var, value in env_vars.items()
>         ])
>     
>         cmd = [
>             sshd,
>             # Don't fork
>             '-D',
>             # Write logs to stderr
>             '-e',
>             # Config file
>             '-f', str(sshd_config),
>             # Host key file
>             '-h', str(host_key),
>             # Authorized keys file
>             '-o', f'AuthorizedKeysFile={authorized_keys}',
>             # Only allow running user
>             '-o', f'AllowUsers={getpass.getuser()}',
>             # Allow root login
>             '-o', 'PermitRootLogin=yes',
>             # Set environment variables for the process
>             '-o', f'SetEnv={setenv}',
>         ]
>         logger.debug('SSH server args: %s', ' '.join(cmd))
>     
>         # Loop a few times trying to find an open ephemeral port
>         with open('/proc/sys/net/ipv4/ip_local_port_range') as f:
>             start_port, stop_port = map(int, f.readline().split())
>         proc = None
>         try:
>             for _ in range(5):
>                 port = random.randrange(start_port, stop_port)
>                 logger.debug('Starting %s with port %d', sshd, port)
>                 proc = subprocess.Popen(cmd + ['-p', str(port)])
>                 server_id = get_ssh_server_id(('127.0.0.1', port))
>                 if server_id.startswith('SSH-2.0-'):
>                     logger.info('%s started on port %d', sshd, port)
>                     break
>             else:
> >               raise OTPushTestError(f'Could not start {sshd}')
> E               tests.util.OTPushTestError: Could not start /usr/sbin/sshd
> 
> tests/util.py:352: OTPushTestError
> _________________ ERROR at setup of TestPushRefs.test_summary 
> __________________
> 
> ssh_datadir = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0')
> cli_env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @pytest.fixture(scope='session')
>     def sshd(ssh_datadir, cli_env_vars):
>         sshd_config = ssh_datadir / 'sshd_config'
>         host_key = ssh_datadir / 'host_rsa_key'
>         authorized_keys = ssh_datadir / 'id_rsa.pub'
> >       with ssh_server(sshd_config, host_key, authorized_keys, cli_env_vars) 
> > \
>              as server_info:
> 
> tests/conftest.py:71: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.11/contextlib.py:137: in __enter__
>     return next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> sshd_config = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/sshd_config')
> host_key = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/host_rsa_key')
> authorized_keys = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/id_rsa.pub')
> env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @contextmanager
>     def ssh_server(sshd_config, host_key, authorized_keys, env_vars=None):
>         # Running sshd requires an absolute path
>         sshd = get_sshd()
>         if not sshd:
>             raise OTPushTestError('Could not find sshd')
>         if not have_required_sshd(sshd):
>             raise OTPushTestError(f'{sshd} is not the required version')
>     
>         # Build a SetEnv option value from the provided environment variables.
>         env_vars = env_vars or {}
>         setenv = ' '.join([
>             f'{var}="{value}"'
>             for var, value in env_vars.items()
>         ])
>     
>         cmd = [
>             sshd,
>             # Don't fork
>             '-D',
>             # Write logs to stderr
>             '-e',
>             # Config file
>             '-f', str(sshd_config),
>             # Host key file
>             '-h', str(host_key),
>             # Authorized keys file
>             '-o', f'AuthorizedKeysFile={authorized_keys}',
>             # Only allow running user
>             '-o', f'AllowUsers={getpass.getuser()}',
>             # Allow root login
>             '-o', 'PermitRootLogin=yes',
>             # Set environment variables for the process
>             '-o', f'SetEnv={setenv}',
>         ]
>         logger.debug('SSH server args: %s', ' '.join(cmd))
>     
>         # Loop a few times trying to find an open ephemeral port
>         with open('/proc/sys/net/ipv4/ip_local_port_range') as f:
>             start_port, stop_port = map(int, f.readline().split())
>         proc = None
>         try:
>             for _ in range(5):
>                 port = random.randrange(start_port, stop_port)
>                 logger.debug('Starting %s with port %d', sshd, port)
>                 proc = subprocess.Popen(cmd + ['-p', str(port)])
>                 server_id = get_ssh_server_id(('127.0.0.1', port))
>                 if server_id.startswith('SSH-2.0-'):
>                     logger.info('%s started on port %d', sshd, port)
>                     break
>             else:
> >               raise OTPushTestError(f'Could not start {sshd}')
> E               tests.util.OTPushTestError: Could not start /usr/sbin/sshd
> 
> tests/util.py:352: OTPushTestError
> _________________ ERROR at setup of TestPushRefs.test_dry_run 
> __________________
> 
> ssh_datadir = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0')
> cli_env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @pytest.fixture(scope='session')
>     def sshd(ssh_datadir, cli_env_vars):
>         sshd_config = ssh_datadir / 'sshd_config'
>         host_key = ssh_datadir / 'host_rsa_key'
>         authorized_keys = ssh_datadir / 'id_rsa.pub'
> >       with ssh_server(sshd_config, host_key, authorized_keys, cli_env_vars) 
> > \
>              as server_info:
> 
> tests/conftest.py:71: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.11/contextlib.py:137: in __enter__
>     return next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> sshd_config = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/sshd_config')
> host_key = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/host_rsa_key')
> authorized_keys = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/id_rsa.pub')
> env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @contextmanager
>     def ssh_server(sshd_config, host_key, authorized_keys, env_vars=None):
>         # Running sshd requires an absolute path
>         sshd = get_sshd()
>         if not sshd:
>             raise OTPushTestError('Could not find sshd')
>         if not have_required_sshd(sshd):
>             raise OTPushTestError(f'{sshd} is not the required version')
>     
>         # Build a SetEnv option value from the provided environment variables.
>         env_vars = env_vars or {}
>         setenv = ' '.join([
>             f'{var}="{value}"'
>             for var, value in env_vars.items()
>         ])
>     
>         cmd = [
>             sshd,
>             # Don't fork
>             '-D',
>             # Write logs to stderr
>             '-e',
>             # Config file
>             '-f', str(sshd_config),
>             # Host key file
>             '-h', str(host_key),
>             # Authorized keys file
>             '-o', f'AuthorizedKeysFile={authorized_keys}',
>             # Only allow running user
>             '-o', f'AllowUsers={getpass.getuser()}',
>             # Allow root login
>             '-o', 'PermitRootLogin=yes',
>             # Set environment variables for the process
>             '-o', f'SetEnv={setenv}',
>         ]
>         logger.debug('SSH server args: %s', ' '.join(cmd))
>     
>         # Loop a few times trying to find an open ephemeral port
>         with open('/proc/sys/net/ipv4/ip_local_port_range') as f:
>             start_port, stop_port = map(int, f.readline().split())
>         proc = None
>         try:
>             for _ in range(5):
>                 port = random.randrange(start_port, stop_port)
>                 logger.debug('Starting %s with port %d', sshd, port)
>                 proc = subprocess.Popen(cmd + ['-p', str(port)])
>                 server_id = get_ssh_server_id(('127.0.0.1', port))
>                 if server_id.startswith('SSH-2.0-'):
>                     logger.info('%s started on port %d', sshd, port)
>                     break
>             else:
> >               raise OTPushTestError(f'Could not start {sshd}')
> E               tests.util.OTPushTestError: Could not start /usr/sbin/sshd
> 
> tests/util.py:352: OTPushTestError
> _________________________ ERROR at setup of test_basic 
> _________________________
> 
> ssh_datadir = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0')
> cli_env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @pytest.fixture(scope='session')
>     def sshd(ssh_datadir, cli_env_vars):
>         sshd_config = ssh_datadir / 'sshd_config'
>         host_key = ssh_datadir / 'host_rsa_key'
>         authorized_keys = ssh_datadir / 'id_rsa.pub'
> >       with ssh_server(sshd_config, host_key, authorized_keys, cli_env_vars) 
> > \
>              as server_info:
> 
> tests/conftest.py:71: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> /usr/lib/python3.11/contextlib.py:137: in __enter__
>     return next(self.gen)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> 
> sshd_config = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/sshd_config')
> host_key = PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/host_rsa_key')
> authorized_keys = 
> PosixPath('/tmp/pytest-of-user42/pytest-5/ssh-data0/id_rsa.pub')
> env_vars = {'PATH': 
> '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build/tests:/build/ostree-pus...usr/lib/python3.11/dist-packages:/<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build'}
> 
>     @contextmanager
>     def ssh_server(sshd_config, host_key, authorized_keys, env_vars=None):
>         # Running sshd requires an absolute path
>         sshd = get_sshd()
>         if not sshd:
>             raise OTPushTestError('Could not find sshd')
>         if not have_required_sshd(sshd):
>             raise OTPushTestError(f'{sshd} is not the required version')
>     
>         # Build a SetEnv option value from the provided environment variables.
>         env_vars = env_vars or {}
>         setenv = ' '.join([
>             f'{var}="{value}"'
>             for var, value in env_vars.items()
>         ])
>     
>         cmd = [
>             sshd,
>             # Don't fork
>             '-D',
>             # Write logs to stderr
>             '-e',
>             # Config file
>             '-f', str(sshd_config),
>             # Host key file
>             '-h', str(host_key),
>             # Authorized keys file
>             '-o', f'AuthorizedKeysFile={authorized_keys}',
>             # Only allow running user
>             '-o', f'AllowUsers={getpass.getuser()}',
>             # Allow root login
>             '-o', 'PermitRootLogin=yes',
>             # Set environment variables for the process
>             '-o', f'SetEnv={setenv}',
>         ]
>         logger.debug('SSH server args: %s', ' '.join(cmd))
>     
>         # Loop a few times trying to find an open ephemeral port
>         with open('/proc/sys/net/ipv4/ip_local_port_range') as f:
>             start_port, stop_port = map(int, f.readline().split())
>         proc = None
>         try:
>             for _ in range(5):
>                 port = random.randrange(start_port, stop_port)
>                 logger.debug('Starting %s with port %d', sshd, port)
>                 proc = subprocess.Popen(cmd + ['-p', str(port)])
>                 server_id = get_ssh_server_id(('127.0.0.1', port))
>                 if server_id.startswith('SSH-2.0-'):
>                     logger.info('%s started on port %d', sshd, port)
>                     break
>             else:
> >               raise OTPushTestError(f'Could not start {sshd}')
> E               tests.util.OTPushTestError: Could not start /usr/sbin/sshd
> 
> tests/util.py:352: OTPushTestError
> =========================== short test summary info 
> ============================
> ERROR tests/test_full.py::test_no_commits - tests.util.OTPushTestError: 
> Could...
> ERROR tests/test_full.py::test_basic - tests.util.OTPushTestError: Could not 
> ...
> ERROR tests/test_full.py::test_dry_run - tests.util.OTPushTestError: Could 
> no...
> ERROR tests/test_full.py::test_scp_dest - tests.util.OTPushTestError: Could 
> n...
> ERROR tests/test_full.py::test_command_abspath - tests.util.OTPushTestError: 
> ...
> ERROR tests/test_push.py::TestSSHMultiplexer::test_socket_exists - 
> tests.util...
> ERROR tests/test_push.py::TestSSHMultiplexer::test_master_non_context - 
> tests...
> ERROR tests/test_push.py::TestSSHMultiplexer::test_master_context - 
> tests.uti...
> ERROR tests/test_push.py::TestSSHMultiplexer::test_forward_port - 
> tests.util....
> ERROR tests/test_push.py::TestSSHMultiplexer::test_run - 
> tests.util.OTPushTes...
> ERROR tests/test_push.py::TestPushRefs::test_no_refs - 
> tests.util.OTPushTestE...
> ERROR tests/test_push.py::TestPushRefs::test_refs - 
> tests.util.OTPushTestErro...
> ERROR tests/test_push.py::TestPushRefs::test_missing_ref - 
> tests.util.OTPushT...
> ERROR tests/test_push.py::TestPushRefs::test_summary - 
> tests.util.OTPushTestE...
> ERROR tests/test_push.py::TestPushRefs::test_dry_run - 
> tests.util.OTPushTestE...
> ERROR tests/test_sshd.py::test_basic - tests.util.OTPushTestError: Could not 
> ...
> =================== 74 passed, 4 skipped, 16 errors in 5.53s 
> ===================
> E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd 
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_ostree-push/build; python3.11 -m 
> pytest tests
> dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.12 
> 3.11" returned exit code 13


The full build log is available from:
http://qa-logs.debian.net/2024/03/13/ostree-push_1.1.0-1_unstable.log

All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240313;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240313&fusertaguser=lu...@debian.org&allbugs=1&cseverity=1&ctags=1&caffected=1#results

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects

If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.

--- End Message ---
--- Begin Message ---
Source: ostree-push
Source-Version: 1.2.0-1
Done: Andrej Shadura <andre...@debian.org>

We believe that the bug you reported is fixed in the latest version of
ostree-push, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1066...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Andrej Shadura <andre...@debian.org> (supplier of updated ostree-push package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Sat, 29 Mar 2025 15:21:44 +0100
Source: ostree-push
Architecture: source
Version: 1.2.0-1
Distribution: unstable
Urgency: medium
Maintainer: Andrej Shadura <andre...@debian.org>
Changed-By: Andrej Shadura <andre...@debian.org>
Closes: 1066774
Changes:
 ostree-push (1.2.0-1) unstable; urgency=medium
 .
   * New upstream release (Closes: #1066774).
Checksums-Sha1:
 db4eca871ae165f79c79e766265762022ff3aa4c 1743 ostree-push_1.2.0-1.dsc
 6c3521c3933e71ee223efe8dfc51082df4e38934 61284 ostree-push_1.2.0.orig.tar.gz
 dc3ef4ffa80123b2bcca842c0f230957a46e9d33 7372 ostree-push_1.2.0-1.debian.tar.xz
Checksums-Sha256:
 e4b0a0c91c0612cef11d8d981b8d172447c9980a6cf892218731b44231243cd5 1743 
ostree-push_1.2.0-1.dsc
 bb113587f9190b50e8af89523cf1611d650194d390ee50ab10a136db8af1117a 61284 
ostree-push_1.2.0.orig.tar.gz
 e956ca4a52a1af9cc288c83e86809c89ac5d1aed4b368f971fa6142e3ee2b557 7372 
ostree-push_1.2.0-1.debian.tar.xz
Files:
 5ac7bca50ad762ecbd3adfc1334d53f7 1743 utils optional ostree-push_1.2.0-1.dsc
 46056e06564ec989fd2c40ca4cd4a3bc 61284 utils optional 
ostree-push_1.2.0.orig.tar.gz
 89dfd6f6d2ff2e329cb61c27a1cbe365 7372 utils optional 
ostree-push_1.2.0-1.debian.tar.xz

-----BEGIN PGP SIGNATURE-----

iHUEARYKAB0WIQSD3NF/RLIsyDZW7aHoRGtKyMdyYQUCZ+gvGwAKCRDoRGtKyMdy
YcCnAP9STZ0bQX/17hL1dV2baznObIz3bl/NqwhzOTORVqvkXgEAhevSfO1FRTqe
0pYKy5kwKtR8QjzlmKXY+DBcDnki9QQ=
=O/jX
-----END PGP SIGNATURE-----

Attachment: pgplYz2T1IH9G.pgp
Description: PGP signature


--- End Message ---

Reply via email to