Description
Starting our test suite, it looks like this and stays this way for many seconds:
$ time ./runtests.py
PARALLEL 4
SUMMARY 151 tasks selected
passed 0, failed 0, pending 150; running 1
When @Nurdok saw this on first trying to run tests on his Windows laptop, he figured the tests were hanging -- and when I first looked at it with him, I thought the same thing too.
There are probably two confusing things here:
- The display doesn't change for a long time, with no progress indication.
- The output says "PARALLEL 4", but then there's only 1 task "running", not 4.
Probably the first of these is most important.
The root cause of both issues is that that 1 "task" which is running is actually a py.test
process, which is running many test cases and doing its own parallelism among those -- but neither the parallelism nor the ongoing progress of finishing those test cases is being reported. Before #3019 we ran the big py.test
process in parallel with other tasks, some of which finished quickly, which avoided both of these.
The real fix for this will be to complete the migration from our custom runtests.py
runner to plain py.test
. In the meantime, we should do something simple to make this not confusing.