summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_support.py
diff options
context:
space:
mode:
authorNeal Norwitz <nnorwitz@gmail.com>2008-02-24 18:47:03 (GMT)
committerNeal Norwitz <nnorwitz@gmail.com>2008-02-24 18:47:03 (GMT)
commit6057b2e645dd3b7a262553d5a547ef45d3fc5d93 (patch)
tree2cc98747bc937c53e079e115fa98ee39cddb447f /Lib/test/test_support.py
parent6a123cb7827859748a0096570dfbb5ceba0e59dc (diff)
downloadcpython-6057b2e645dd3b7a262553d5a547ef45d3fc5d93.zip
cpython-6057b2e645dd3b7a262553d5a547ef45d3fc5d93.tar.gz
cpython-6057b2e645dd3b7a262553d5a547ef45d3fc5d93.tar.bz2
Create a db_home directory with a unique name so multiple users can
run the test simultaneously. The simplest thing I found that worked on both Windows and Unix was to use the PID. It's unique so should be sufficient. This should prevent many of the spurious failures of the automated tests since they run as different users. Also cleanup the directory consistenly in the tearDown methods. It would be nice if someone ensured that the directories are always created with a consistent name.
Diffstat (limited to 'Lib/test/test_support.py')
-rw-r--r--Lib/test/test_support.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/Lib/test/test_support.py b/Lib/test/test_support.py
index d36d81c..2071606 100644
--- a/Lib/test/test_support.py
+++ b/Lib/test/test_support.py
@@ -9,6 +9,7 @@ import socket
import sys
import os
import os.path
+import shutil
import warnings
import unittest
@@ -64,6 +65,14 @@ def unlink(filename):
except OSError:
pass
+def rmtree(path):
+ try:
+ shutil.rmtree(path)
+ except OSError, e:
+ # Unix returns ENOENT, Windows returns ESRCH.
+ if e.errno not in (errno.ENOENT, errno.ESRCH):
+ raise
+
def forget(modname):
'''"Forget" a module was ever imported by removing it from sys.modules and
deleting any .pyc and .pyo files.'''