Opened at 2021-01-25T14:22:24Z
Last modified at 2021-01-26T14:59:55Z
#3597 new defect
The integration tests mix synchronous and asynchronous code in an unreliable way
Reported by: | exarkun | Owned by: | |
---|---|---|---|
Priority: | normal | Milestone: | undecided |
Component: | unknown | Version: | n/a |
Keywords: | self-contained test | Cc: | |
Launchpad Bug: |
Description
At some point some misunderstanding seems to have arisen about just what is allowed by pytest-twisted. Recently, new integration tests were added which bumped the output buffer of a Twisted-managed child process over a threshold leading to the integration test suite hanging at cleanup time.
The whole integration test suite likely needs to be reviewed by someone with a good understanding of how pytest-twisted works to identify areas where synchronous and asynchronous code is being combined in an unsupported way.
Then, all those things need to be corrected somehow.
See run_in_thread() in integration/util.py for a discussion of failure modes and one workaround that is partially applied (once https://github.com/tahoe-lafs/tahoe-lafs/pull/961 is merged).