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.
_______________________________________________
Python-Buildbots mailing list
Python-Buildbots@python.org
https://mail.python.org/mailman/listinfo/python-buildbots

Reply via email to