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.