Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix breakpoint doesn't work in multiprocessing #346

Closed

Conversation

MeditationDuck
Copy link
Member

@MeditationDuck MeditationDuck commented Sep 12, 2024

Description

The default breakpoint will just open the default debugger. and it does not work for multiprocessing, since tests are working as a child process.

This solves the problem.

  • Using a custom breakpoint hook establishes communication with the parent process.
  • Using a custom debugger that manages the communication's ending.

When the user types > quit in the debugger, quit the debugger and those child process statuses will be finished.

When the user type > continue in the debugger, the tests continue, and communication ends, and it will wait until the next breakpoint of all running tests.

When the user selects not to open the debugger, it does not open the debugger and execute. The behavior is the same as > continue.

Still, some deadlock remaining and currently using pdb, not ipdb. Those are required to be fixed.

Related Tickets & Documents

  • Related Issue #

  • Closes #

  • I clicked on "Allow edits from maintainers"

@MeditationDuck MeditationDuck self-assigned this Sep 12, 2024
@MeditationDuck
Copy link
Member Author

Now it uses ipdb and it does termination of communication between the child process and the parent process same as exceptional handler.

@MeditationDuck MeditationDuck marked this pull request as ready for review September 13, 2024 11:51
@jaczkal jaczkal requested a review from michprev September 13, 2024 13:11
@michprev
Copy link
Member

michprev commented Oct 2, 2024

Merged in #349

@michprev michprev closed this Oct 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants