diff options
Diffstat (limited to 'Lib/test/test_pkg.py')
| -rw-r--r-- | Lib/test/test_pkg.py | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/Lib/test/test_pkg.py b/Lib/test/test_pkg.py index 224cefa..7dec2e9 100644 --- a/Lib/test/test_pkg.py +++ b/Lib/test/test_pkg.py @@ -8,7 +8,8 @@ from test.test_support import verify, verbose, TestFailed # Helpers to create and destroy hierarchies. def mkhier(root, descr): - mkdir(root) + if not os.path.isdir(root): + mkdir(root) for name, contents in descr: comps = name.split() fullname = root @@ -52,18 +53,17 @@ def fixdir(lst): # Helper to run a test def runtest(hier, code): - root = tempfile.mktemp() + root = tempfile.mkdtemp() mkhier(root, hier) savepath = sys.path[:] - codefile = tempfile.mktemp() - f = open(codefile, "w") - f.write(code) - f.close() + codefile = tempfile.NamedTemporaryFile() + codefile.write(code) + codefile.flush() try: sys.path.insert(0, root) if verbose: print "sys.path =", sys.path try: - execfile(codefile, globals(), {}) + execfile(codefile.name, globals(), {}) except: traceback.print_exc(file=sys.stdout) finally: @@ -72,7 +72,6 @@ def runtest(hier, code): cleanout(root) except (os.error, IOError): pass - os.remove(codefile) # Test descriptions |
