# HG changeset patch # User Gregory Szorc # Date 2014-04-20 23:54:51 # Node ID a46a91989d57b9919f333ed026500cf6ab010d0d # Parent df580990507e73b351922609c040256b954fc352 run-tests: ignore failures from rmtree rmtree() may fail under certain conditions. We ignore failures at the individual test level because they can interfere with test execution. Furthermore, we'll reattempt deletion in the high-level test runner after all tests have finished. Note that this patch is not a code refactor like most of the patches before it. This change logically makes sense given the execution behavior of the tests. diff --git a/tests/run-tests.py b/tests/run-tests.py --- a/tests/run-tests.py +++ b/tests/run-tests.py @@ -383,6 +383,8 @@ class Test(object): killdaemons(entry) if self._threadtmp and not self._options.keep_tmpdir: + # Ignore failures here. The rmtree() in the higher level runner + # will try again. shutil.rmtree(self._threadtmp, True) def setUp(self): @@ -525,7 +527,7 @@ class Test(object): self._daemonpids = [] if not self._options.keep_tmpdir: - shutil.rmtree(self._testtmp) + shutil.rmtree(self._testtmp, True) if (self._ret != 0 or self._out != self._refout) and not self._skipped \ and not self._options.debug and self._out: