Source: debugpy Followup-For: Bug #1075603 Upstream v1.8.2 builds "cleanly" with upstream's vendored debugpy.
To do this of course all the de-vendoring patches had to be removed, that's debian/patches debian/copyright debian/rules You've already got the tests set up to try single processing tests (-n1) if the standard multiprocess test run fails, which indeed it does. But the -n1 tests pass fine python3.11 (-n1) ========== 1179 passed, 38 skipped, 2 warnings in 5154.06s (1:25:54) =========== python3.12 (-n1) ========== 1179 passed, 38 skipped, 2 warnings in 5499.79s (1:31:39) =========== With the multiprocess tests (8 proc), the summary is python3.11 =========================== short test summary info ============================ FAILED tests/debugpy/test_evaluate.py::test_return_values[program-launch-hide] FAILED tests/debugpy/test_breakpoints.py::test_conditional_breakpoint[launch-program-hitCondition->=5] FAILED tests/debugpy/test_exception.py::test_systemexit[1-zero-uncaught-raised-launch(console=internalConsole)-program] FAILED tests/debugpy/test_env.py::test_env_replace_var[program-launch(console=integratedTerminal)-match_case-42] FAILED tests/debugpy/test_exception.py::test_systemexit[0--uncaught--launch(console=externalTerminal)-module] FAILED tests/debugpy/test_exception.py::test_success_exitcodes[-break_on_system_exit_zero-0-launch(console=internalConsole)-module] FAILED tests/debugpy/test_exception.py::test_systemexit[1----launch(console=integratedTerminal)-module] FAILED tests/debugpy/test_exception.py::test_systemexit[1-zero---launch(console=internalConsole)-module] FAILED tests/debugpy/test_exception.py::test_systemexit[nan--uncaught--launch(console=integratedTerminal)-program] FAILED tests/debugpy/test_exception.py::test_success_exitcodes[--3-launch(console=internalConsole)-module] FAILED tests/debugpy/test_output.py::test_with_no_output[program-attach_pid] FAILED tests/debugpy/test_output.py::test_redirect_output[program-enabled-attach_pid] FAILED tests/debugpy/test_run.py::test_custom_python_args[program-python-custompy,-O-None-launch(console=internalConsole)] FAILED tests/debugpy/test_output.py::test_redirect_output[program-disabled-attach_pid] FAILED tests/debugpy/test_flask.py::test_flask_breakpoint_multiproc[launch] FAILED tests/tests/test_timeline.py::test_concurrency[mark_then_wait] FAILED tests/tests/test_timeline.py::test_occurrences FAILED tests/debugpy/test_gevent.py::test_gevent[program-launch] FAILED tests/tests/test_timeline.py::test_concurrency[wait_then_mark] ERROR tests/debugpy/test_output.py::test_with_no_output[program-attach_pid] ERROR tests/debugpy/test_output.py::test_redirect_output[program-enabled-attach_pid] ERROR tests/debugpy/test_output.py::test_redirect_output[program-disabled-attach_pid] = 19 failed, 1161 passed, 38 skipped, 48 warnings, 3 errors in 3002.37s (0:50:02) = python3.12 =========================== short test summary info ============================ FAILED tests/debugpy/test_env.py::test_env_replace_var[program-launch(console=externalTerminal)-match_case-42] FAILED tests/debugpy/test_breakpoints.py::test_conditional_breakpoint[attach_connect(cli)-program-hitCondition->5] FAILED tests/debugpy/test_breakpoints.py::test_break_api[launch-breakpoint-code] FAILED tests/debugpy/test_exception.py::test_systemexit[0-zero-uncaught--launch(console=integratedTerminal)-program] FAILED tests/debugpy/test_flask.py::test_flask_breakpoint_multiproc[launch] FAILED tests/debugpy/test_output.py::test_redirect_output[program-enabled-attach_pid] FAILED tests/debugpy/test_output.py::test_redirect_output[program-disabled-attach_pid] FAILED tests/debugpy/test_output.py::test_with_no_output[program-attach_pid] FAILED tests/debugpy/test_run.py::test_custom_python_args[program-python-custompy,-O-None-launch(console=internalConsole)] FAILED tests/debugpy/test_stop_on_entry.py::test_stop_on_entry[program-launch(console=internalConsole)-breakpoint] FAILED tests/debugpy/test_run.py::test_custom_python_args[program-pythonPath-custompy,-O-None-launch(console=integratedTerminal)] FAILED tests/tests/test_timeline.py::test_occurrences FAILED tests/tests/test_timeline.py::test_unobserved FAILED tests/debugpy/test_gevent.py::test_gevent[program-launch] FAILED tests/debugpy/test_stop_on_entry.py::test_stop_on_entry[program-launch(console=internalConsole)-] FAILED tests/debugpy/test_stop_on_entry.py::test_stop_on_entry[program-launch(console=integratedTerminal)-] FAILED tests/debugpy/test_stop_on_entry.py::test_stop_on_entry[program-launch(console=integratedTerminal)-breakpoint] FAILED tests/debugpy/test_stop_on_entry.py::test_stop_on_entry[program-launch(console=externalTerminal)-breakpoint] FAILED tests/debugpy/test_stop_on_entry.py::test_stop_on_entry[program-launch(console=externalTerminal)-] FAILED tests/debugpy/test_stop_on_entry.py::test_stop_on_entry[module-launch(console=internalConsole)-] FAILED tests/debugpy/test_stop_on_entry.py::test_stop_on_entry[module-launch(console=internalConsole)-breakpoint] FAILED tests/debugpy/test_stop_on_entry.py::test_stop_on_entry[module-launch(console=integratedTerminal)-] FAILED tests/debugpy/test_run.py::test_custom_python_args[program-pythonPath-custompy,-O--B-launch(console=integratedTerminal)] FAILED tests/debugpy/test_stop_on_entry.py::test_stop_on_entry[module-launch(console=integratedTerminal)-breakpoint] FAILED tests/debugpy/test_stop_on_entry.py::test_stop_on_entry[module-launch(console=externalTerminal)-] FAILED tests/debugpy/test_stop_on_entry.py::test_stop_on_entry[module-launch(console=externalTerminal)-breakpoint] ERROR tests/debugpy/test_output.py::test_redirect_output[program-enabled-attach_pid] ... ERROR tests/debugpy/test_output.py::test_redirect_output[program-disabled-attach_pid] ERROR tests/debugpy/test_output.py::test_with_no_output[program-attach_pid] ERROR tests/_logs/3.12-64/tests/debugpy/test_run.py/test_custom_python_args[program-pythonPath-custompy,-O--B-launch(console=internalConsole)]/Session[1] = 26 failed, 1153 passed, 38 skipped, 62 warnings, 4 errors in 3079.14s (0:51:19) = So multiprocess testing seems to be a problem. So maybe just process with single process tests, then all is fine (if we accept vendored debugpy) Could check if multiprocess testing passes if restricted to say 2 or 4 processes.