Use execnet main_thread_only execmodel (#1027)

Use the execnet main_thread_only execmodel so that code which expects
to run in the main thread will just work.  This execmodel has been
merged to the execnet master branch via pytest-dev/execnet#243, so this
patch should not be merged until there is a released version of execnet
supporting the main_thread_only execmodel.

Closes #620
This commit is contained in:
Zac Medico
2024-04-19 04:03:32 -07:00
committed by GitHub
parent 0a4238f6da
commit 20e3ac774e
6 changed files with 13 additions and 5 deletions

View File

@@ -0,0 +1,3 @@
``pytest-xdist`` workers now always execute the tests in the main thread.
Previously some tests might end up executing in a separate thread other than ``main`` in the workers, due to some internal `èxecnet`` details. This can cause problems specially with async frameworks where the event loop is running in the ``main`` thread (for example `#620 <https://github.com/pytest-dev/pytest-xdist/issues/620>`__).

1
changelog/620.bugfix Normal file
View File

@@ -0,0 +1 @@
Use the ``execnet`` new ``main_thread_only`` "execmodel" so that code which expects to only run in the main thread will now work as expected.