CleanCut / green

Green is a clean, colorful, fast python test runner.
MIT License
793 stars 76 forks source link

Use forkserver start method for multiprocessing #296

Closed eltoder closed 7 months ago

eltoder commented 7 months ago

Use forkserver when available to avoid issues with forking multi-threaded processes. See https://github.com/python/cpython/issues/84559 for more context.

This also removes a warning when running on python 3.12 than can be seen in CI:

/opt/hostedtoolcache/Python/3.12.2/x64/lib/python3.12/multiprocessing/popen_fork.py:66: DeprecationWarning: This process (pid=1991) is multi-threaded, use of fork() may lead to deadlocks in the child. self.pid = os.fork()

coveralls commented 7 months ago

Coverage Status

coverage: 95.232% (+0.2%) from 95.014% when pulling 789969243bb802b34decfae972e7506fa7e3eb65 on eltoder:feature/forkserver into 4de285b05b8e6b161159be2241b219dc5176f0e5 on CleanCut:main.

sodul commented 7 months ago

Note: GH actions promoted macos-latest to newer machines with ARM cpus. Unfortunately the GH actions that try to run with python 3.8 and 3.9 broke overnight impacting many OSS projects. This mean that we will either need to update our actions with a temporary workaround or wait for the maintainers to provider a permanent fix before we can perform new releases.

https://github.com/actions/setup-python/issues/850

@CleanCut FYI