--- a/tests/run-tests.py Sat Apr 19 14:47:34 2014 -0700
+++ b/tests/run-tests.py Sat Apr 19 14:51:43 2014 -0700
@@ -556,11 +556,15 @@
self._options = options
self._count = count
- self.threadtmp = os.path.join(HGTMP, 'child%d' % count)
- os.mkdir(self.threadtmp)
+ self._threadtmp = os.path.join(HGTMP, 'child%d' % count)
+ os.mkdir(self._threadtmp)
+
+ def cleanup(self):
+ if self._threadtmp and not self._options.keep_tmpdir:
+ shutil.rmtree(self._threadtmp, True)
def run(self, result, refpath):
- testtmp = os.path.join(self.threadtmp, os.path.basename(self._path))
+ testtmp = os.path.join(self._threadtmp, os.path.basename(self._path))
os.mkdir(testtmp)
replacements, port = self._getreplacements(testtmp)
env = self._getenv(testtmp, port)
@@ -627,8 +631,8 @@
env["HGPORT"] = str(port)
env["HGPORT1"] = str(port + 1)
env["HGPORT2"] = str(port + 2)
- env["HGRCPATH"] = os.path.join(self.threadtmp, '.hgrc')
- env["DAEMON_PIDS"] = os.path.join(self.threadtmp, 'daemon.pids')
+ env["HGRCPATH"] = os.path.join(self._threadtmp, '.hgrc')
+ env["DAEMON_PIDS"] = os.path.join(self._threadtmp, 'daemon.pids')
env["HGEDITOR"] = sys.executable + ' -c "import sys; sys.exit(0)"'
env["HGMERGE"] = "internal:merge"
env["HGUSER"] = "test"
@@ -1073,6 +1077,7 @@
t = runner(testpath, options, count)
res = TestResult()
t.run(res, ref)
+ t.cleanup()
if res.interrupted:
log('INTERRUPTED: %s (after %d seconds)' % (test, res.duration))
@@ -1139,8 +1144,6 @@
sys.stdout.flush()
iolock.release()
- if not options.keep_tmpdir:
- shutil.rmtree(t.threadtmp, True)
return result
_hgpath = None