ethereum / asyncio-run-in-process

A simple asyncio friendly replacement for multiprocessing to run coroutines in a separate process.
MIT License
13 stars 9 forks source link

Run tests on py38 as well #23

Closed gsalgado closed 4 years ago

gsalgado commented 4 years ago

Several tests seem to hang forever, but if you try to run them with -s --log-cli-level=debug they pass. I'm not looking forward to dig into that, so if anybody wants to have a go, be my guest ;-)

gsalgado commented 4 years ago

The hangs seem to have been caused by us hitting a race condition when we kill the process before it has had a chance to actually start executing -- a really short sleep before proc.send_signal() did the trick. A few tests fail randomly on py38, though -- I've left XXX comments on those. And one still hangs forever

gsalgado commented 4 years ago

With #24 most tests are passing without the need for any changes -- there are only 3 tests that very rarely fail

gsalgado commented 4 years ago

The tests failing randomly are not exclusive to py38 -- I can reproduce that in py37 as well, and filed #25 for that

gsalgado commented 4 years ago

@pipermerriam I'm going ahead and merging this without waiting for a review as it doesn't include any changes to code/tests anymore