[Buildbot-status]New cleantest step on buildbots: remove old test_python_xxx directories
Hi,
Since the end of last week, test_regrtest started to fail on more and more buildbots, especially on x86 Gentoo Installed with X 3.x, with an error message which contains:
RuntimeWarning: tests may fail, unable to create temporary directory '/buildbot/tmp/tmpdir/test_python_28144': [Errno 17] File exists: '/buildbot/tmp/tmpdir/test_python_28144'"
I knew for years that our buildbots are not great to cleanup things between two builds: it's common that a failure is causing issues in following builds and may require a manual action.
I added a new "cleantest" step which runs a new "./python -m test --cleanup" command: it removes test_python_* directories in the directory used by Python for tests (ex: ./build/ when building from sources on Unix).
On x86 Gentoo Installed with X 3.x, my new step removed not least than 4146 old "test_python_xxx" directories! That's pretty big knowing that Linux pids are limited to 32768: 4146 is already 13% of the available ids, which makes the issue quite likely.
By the way, I also enhanced regrtest when using worker subprocesses. Workers now create their sub-directory in the temporary directory of the main process. Moreover, the main process now kills immediately workers (and wait until they complete) on failure or if interrupted. The whole test directory is always removed by the main process. The last case where regrtest is when the main process does crash, which happens often when tests are re-run.
Sadly, when tests are re-run, they are run sequentially in the main process, rather than spawning a subprocess for each test file. That should be fixed.
Victor
Night gathers, and now my watch begins. It shall not end until my death.
participants (1)
-
Victor Stinner