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.