fixup/experiment: replace std::system by boost.process to launch processes in a cross-platform way#685
Draft
Klaim wants to merge 4 commits intojupyter-xeus:mainfrom
Draft
fixup/experiment: replace std::system by boost.process to launch processes in a cross-platform way#685Klaim wants to merge 4 commits intojupyter-xeus:mainfrom
Klaim wants to merge 4 commits intojupyter-xeus:mainfrom
Conversation
…ndant - fixup attempt by using boost.process instead
Klaim
added a commit
to Klaim/xeus-python
that referenced
this pull request
Jan 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Theory this attempts to confirm:
std::systemtakes a command sent to whatever terminal system is running for that system, which on Windows might depend (cmd, powershell, git-bash etc.) and&to launch a process without waiting for it doesnt work on Windows, making the tests hang waiting for the end of thexpythonprocess.Instead, launch that process using a cross-platform process library (here I used boost.python because I'm familiair with it's V1 api, using V2's api for now) so that the process launch is independant from the platform or terminal system. Also set it up so that the process lifetime is scoped , but without waiting for it to continue working the tests.
Boost.process could be replaced by another library, the core idea here is just to not use
std::system.On my local windows:
mainthe c++ tests hang , waiting at thestd::systemcall , waiting for thexpythonprocess to end, even after 8 minutes;