Massive changes from SF 589982 (tempfile.py rewrite, by Zack
Weinberg).  This changes all uses of deprecated tempfile functions to
the recommended ones.
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 @@
 # 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 @@
 # 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 @@
             cleanout(root)
         except (os.error, IOError):
             pass
-        os.remove(codefile)
 
 # Test descriptions