Remove unused imports in test modules.
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py
index db93db1..f125152 100755
--- a/Lib/test/regrtest.py
+++ b/Lib/test/regrtest.py
@@ -149,7 +149,6 @@
 
 import cStringIO
 import getopt
-import itertools
 import json
 import os
 import random
@@ -448,8 +447,8 @@
 
     if use_mp:
         from threading import Thread
-        from Queue import Queue, Empty
-        from subprocess import Popen, PIPE, STDOUT
+        from Queue import Queue
+        from subprocess import Popen, PIPE
         from collections import deque
         debug_output_pat = re.compile(r"\[\d+ refs\]$")
         pending = deque()
diff --git a/Lib/test/test__locale.py b/Lib/test/test__locale.py
index 0f67731..2fc128f 100644
--- a/Lib/test/test__locale.py
+++ b/Lib/test/test__locale.py
@@ -1,4 +1,4 @@
-from test.test_support import verbose, run_unittest
+from test.test_support import run_unittest
 from _locale import (setlocale, LC_NUMERIC, localeconv, Error)
 try:
     from _locale import (RADIXCHAR, THOUSEP, nl_langinfo)
diff --git a/Lib/test/test_abstract_numbers.py b/Lib/test/test_abstract_numbers.py
index 8f1fdd7..925f8cf 100644
--- a/Lib/test/test_abstract_numbers.py
+++ b/Lib/test/test_abstract_numbers.py
@@ -1,10 +1,8 @@
 """Unit tests for numbers.py."""
 
 import math
-import operator
 import unittest
 from numbers import Complex, Real, Rational, Integral
-from numbers import Number
 from test import test_support
 
 class TestNumbers(unittest.TestCase):
diff --git a/Lib/test/test_applesingle.py b/Lib/test/test_applesingle.py
index 5a8201c..1beffe0 100644
--- a/Lib/test/test_applesingle.py
+++ b/Lib/test/test_applesingle.py
@@ -7,9 +7,7 @@
 
 MacOS = test_support.import_module('MacOS')
 # The following should exist if MacOS does.
-import macostools
 import applesingle
-import Carbon.File
 
 AS_MAGIC=0x00051600
 AS_VERSION=0x00020000
diff --git a/Lib/test/test_bsddb.py b/Lib/test/test_bsddb.py
index a5fa494..d1ee0a1 100755
--- a/Lib/test/test_bsddb.py
+++ b/Lib/test/test_bsddb.py
@@ -3,7 +3,6 @@
    Adapted to unittest format and expanded scope by Raymond Hettinger
 """
 import os, sys
-import copy
 import unittest
 from test import test_support
 
diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
index ac843c3..ac9d85d 100644
--- a/Lib/test/test_builtin.py
+++ b/Lib/test/test_builtin.py
@@ -1,12 +1,12 @@
 # Python test set -- built-in functions
 
 import platform
-import test.test_support, unittest
+import unittest
 from test.test_support import fcmp, have_unicode, TESTFN, unlink, \
-                              run_unittest, run_with_locale
+                              run_unittest
 from operator import neg
 
-import sys, warnings, cStringIO, random, fractions, UserDict
+import sys, warnings, cStringIO, random, UserDict
 warnings.filterwarnings("ignore", "hex../oct.. of negative int",
                         FutureWarning, __name__)
 warnings.filterwarnings("ignore", "integer argument expected",
diff --git a/Lib/test/test_cmath.py b/Lib/test/test_cmath.py
index e53deff..8b5c4bf 100755
--- a/Lib/test/test_cmath.py
+++ b/Lib/test/test_cmath.py
@@ -1,7 +1,6 @@
 from test.test_support import run_unittest
 from test.test_math import parse_testfile, test_file
 import unittest
-import os, sys
 import cmath, math
 from cmath import phase, polar, rect, pi
 
diff --git a/Lib/test/test_cmd_line.py b/Lib/test/test_cmd_line.py
index 6c146f3..be3b70e 100644
--- a/Lib/test/test_cmd_line.py
+++ b/Lib/test/test_cmd_line.py
@@ -2,7 +2,6 @@
 # All tests are executed with environment variables ignored
 # See test_cmd_line_script.py for testing of script execution
 
-import os
 import test.test_support, unittest
 import sys
 from test.script_helper import spawn_python, kill_python, python_exit_code
diff --git a/Lib/test/test_cmd_line_script.py b/Lib/test/test_cmd_line_script.py
index e1a7f91..099471f 100644
--- a/Lib/test/test_cmd_line_script.py
+++ b/Lib/test/test_cmd_line_script.py
@@ -3,9 +3,8 @@
 import unittest
 import os
 import os.path
-import sys
 import test.test_support
-from test.script_helper import (spawn_python, kill_python, run_python,
+from test.script_helper import (run_python,
                                 temp_dir, make_script, compile_script,
                                 make_pkg, make_zip_script, make_zip_pkg)
 
diff --git a/Lib/test/test_collections.py b/Lib/test/test_collections.py
index 809fd86..77ce7ed 100644
--- a/Lib/test/test_collections.py
+++ b/Lib/test/test_collections.py
@@ -6,7 +6,6 @@
 from test import mapping_tests
 import pickle, cPickle, copy
 from random import randrange, shuffle
-import operator
 import keyword
 import re
 from collections import Hashable, Iterable, Iterator
@@ -848,7 +847,7 @@
         d = self._empty_mapping()
         self.assertRaises(KeyError, d.popitem)
 
-import doctest, collections
+import collections
 
 def test_main(verbose=None):
     NamedTupleDocs = doctest.DocTestSuite(module=collections)
diff --git a/Lib/test/test_commands.py b/Lib/test/test_commands.py
index 27b6c3d..4e482d2 100644
--- a/Lib/test/test_commands.py
+++ b/Lib/test/test_commands.py
@@ -12,8 +12,7 @@
 from test.test_support import run_unittest, reap_children, import_module
 
 # Silence Py3k warning
-import_module('commands', deprecated=True)
-from commands import *
+commands = import_module('commands', deprecated=True)
 
 # The module says:
 #   "NB This only works (and is only relevant) for UNIX."
@@ -28,8 +27,8 @@
 class CommandTests(unittest.TestCase):
 
     def test_getoutput(self):
-        self.assertEquals(getoutput('echo xyzzy'), 'xyzzy')
-        self.assertEquals(getstatusoutput('echo xyzzy'), (0, 'xyzzy'))
+        self.assertEquals(commands.getoutput('echo xyzzy'), 'xyzzy')
+        self.assertEquals(commands.getstatusoutput('echo xyzzy'), (0, 'xyzzy'))
 
         # we use mkdtemp in the next line to create an empty directory
         # under our exclusive control; from that, we can invent a pathname
@@ -39,7 +38,7 @@
             dir = tempfile.mkdtemp()
             name = os.path.join(dir, "foo")
 
-            status, output = getstatusoutput('cat ' + name)
+            status, output = commands.getstatusoutput('cat ' + name)
             self.assertNotEquals(status, 0)
         finally:
             if dir is not None:
@@ -60,7 +59,7 @@
                   /\.          # and end with the name of the file.
                '''
 
-        self.assertTrue(re.match(pat, getstatus("/."), re.VERBOSE))
+        self.assertTrue(re.match(pat, commands.getstatus("/."), re.VERBOSE))
 
 
 def test_main():
diff --git a/Lib/test/test_compileall.py b/Lib/test/test_compileall.py
index 219d85f..19890b5 100644
--- a/Lib/test/test_compileall.py
+++ b/Lib/test/test_compileall.py
@@ -4,9 +4,7 @@
 import py_compile
 import shutil
 import struct
-import sys
 import tempfile
-import time
 from test import test_support
 import unittest
 
diff --git a/Lib/test/test_contextlib.py b/Lib/test/test_contextlib.py
index 80ba3e8..6350717 100644
--- a/Lib/test/test_contextlib.py
+++ b/Lib/test/test_contextlib.py
@@ -1,9 +1,7 @@
 """Unit tests for contextlib.py, and other context managers."""
 
 
-import sys
 import os
-import decimal
 import tempfile
 import unittest
 import threading
@@ -147,7 +145,6 @@
             self.fail("Didn't raise ZeroDivisionError")
 
     def test_nested_right_exception(self):
-        state = []
         @contextmanager
         def a():
             yield 1
diff --git a/Lib/test/test_cookielib.py b/Lib/test/test_cookielib.py
index d3f77dd..b75511c 100644
--- a/Lib/test/test_cookielib.py
+++ b/Lib/test/test_cookielib.py
@@ -1722,7 +1722,6 @@
 
 
 def test_main(verbose=None):
-    from test import test_sets
     test_support.run_unittest(
         DateTimeTests,
         HeaderTests,
diff --git a/Lib/test/test_copy.py b/Lib/test/test_copy.py
index 685fd6e..e3503c4 100644
--- a/Lib/test/test_copy.py
+++ b/Lib/test/test_copy.py
@@ -3,7 +3,6 @@
 import copy
 import copy_reg
 import weakref
-import operator
 
 import unittest
 from test import test_support
diff --git a/Lib/test/test_decimal.py b/Lib/test/test_decimal.py
index f57f38d..aa1ba9b 100644
--- a/Lib/test/test_decimal.py
+++ b/Lib/test/test_decimal.py
@@ -24,7 +24,6 @@
 with the corresponding argument.
 """
 
-import glob
 import math
 import os, sys
 import pickle, copy
diff --git a/Lib/test/test_deque.py b/Lib/test/test_deque.py
index 27b1ad8..7de016f 100644
--- a/Lib/test/test_deque.py
+++ b/Lib/test/test_deque.py
@@ -6,7 +6,6 @@
 import copy
 import cPickle as pickle
 import random
-import os
 
 BIG = 100000
 
diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py
index b0366bd..8ec03087 100644
--- a/Lib/test/test_descr.py
+++ b/Lib/test/test_descr.py
@@ -261,7 +261,6 @@
             pass
         else:
             self.fail("NotImplemented should have caused TypeError")
-        import sys
         try:
             C(sys.maxint+1)
         except OverflowError:
@@ -654,7 +653,6 @@
     def test_module_subclasses(self):
         # Testing Python subclass of module...
         log = []
-        import types, sys
         MT = type(sys)
         class MM(MT):
             def __init__(self, name):
@@ -1131,7 +1129,6 @@
         # Test cyclical leaks [SF bug 519621]
         class F(object):
             __slots__ = ['a', 'b']
-        log = []
         s = F()
         s.a = [Counted(), s]
         self.assertEqual(Counted.counter, 1)
@@ -1140,7 +1137,7 @@
         self.assertEqual(Counted.counter, 0)
 
         # Test lookup leaks [SF bug 572567]
-        import sys,gc
+        import gc
         if hasattr(gc, 'get_objects'):
             class G(object):
                 def __cmp__(self, other):
@@ -1945,7 +1942,6 @@
                     return 'EPS'
                 return self
         # sys.stdout needs to be the original to trigger the recursion bug
-        import sys
         test_stdout = sys.stdout
         sys.stdout = test_support.get_original_stdout()
         try:
@@ -2309,7 +2305,6 @@
         self.assertIn('im_self', dir(a.Amethod))
 
         # Try a module subclass.
-        import sys
         class M(type(sys)):
             pass
         minstance = M("m")
@@ -3506,7 +3501,6 @@
             self.fail("d.foo should be undefined now")
 
         # Test a nasty bug in recurse_down_subclasses()
-        import gc
         class A(object):
             pass
         class B(A):
@@ -4327,7 +4321,6 @@
 
     def test_file_fault(self):
         # Testing sys.stdout is changed in getattr...
-        import sys
         test_stdout = sys.stdout
         class StdoutGuard:
             def __getattr__(self, attr):
@@ -4416,8 +4409,6 @@
     def test_not_implemented(self):
         # Testing NotImplemented...
         # all binary methods should be able to return a NotImplemented
-        import sys
-        import types
         import operator
 
         def specialmethod(self, other):
diff --git a/Lib/test/test_dircache.py b/Lib/test/test_dircache.py
index 56799da..8a80720 100644
--- a/Lib/test/test_dircache.py
+++ b/Lib/test/test_dircache.py
@@ -4,7 +4,7 @@
 """
 
 import unittest
-from test.test_support import run_unittest, TESTFN, import_module
+from test.test_support import run_unittest, import_module
 dircache = import_module('dircache', deprecated=True)
 import os, time, sys, tempfile
 
diff --git a/Lib/test/test_docxmlrpc.py b/Lib/test/test_docxmlrpc.py
index c7b7775..dae4109 100644
--- a/Lib/test/test_docxmlrpc.py
+++ b/Lib/test/test_docxmlrpc.py
@@ -5,7 +5,6 @@
 import time
 import socket
 import unittest
-import xmlrpclib
 
 PORT = None
 
diff --git a/Lib/test/test_epoll.py b/Lib/test/test_epoll.py
index b113547..b50db23 100644
--- a/Lib/test/test_epoll.py
+++ b/Lib/test/test_epoll.py
@@ -21,12 +21,10 @@
 """
 Tests for epoll wrapper.
 """
-import os
 import socket
 import errno
 import time
 import select
-import tempfile
 import unittest
 
 from test import test_support
diff --git a/Lib/test/test_file.py b/Lib/test/test_file.py
index a91897e..9b6b435 100644
--- a/Lib/test/test_file.py
+++ b/Lib/test/test_file.py
@@ -12,7 +12,7 @@
 import io
 import _pyio as pyio
 
-from test.test_support import TESTFN, findfile, run_unittest
+from test.test_support import TESTFN, run_unittest
 from UserList import UserList
 
 class AutoFileTests(unittest.TestCase):
diff --git a/Lib/test/test_file2k.py b/Lib/test/test_file2k.py
index 5c2de37..d812927 100644
--- a/Lib/test/test_file2k.py
+++ b/Lib/test/test_file2k.py
@@ -8,7 +8,7 @@
 from weakref import proxy
 
 from test import test_support
-from test.test_support import TESTFN, findfile, run_unittest
+from test.test_support import TESTFN, run_unittest
 from UserList import UserList
 
 class AutoFileTests(unittest.TestCase):
diff --git a/Lib/test/test_filecmp.py b/Lib/test/test_filecmp.py
index f76ba0b..4739ede 100644
--- a/Lib/test/test_filecmp.py
+++ b/Lib/test/test_filecmp.py
@@ -1,5 +1,5 @@
 
-import os, filecmp, shutil, tempfile, shutil
+import os, filecmp, shutil, tempfile
 import unittest
 from test import test_support
 
diff --git a/Lib/test/test_fileio.py b/Lib/test/test_fileio.py
index cdc3123..5589d05 100644
--- a/Lib/test/test_fileio.py
+++ b/Lib/test/test_fileio.py
@@ -10,8 +10,7 @@
 from weakref import proxy
 from functools import wraps
 
-from test.test_support import (TESTFN, findfile, check_warnings, run_unittest,
-                               make_bad_fd)
+from test.test_support import TESTFN, check_warnings, run_unittest, make_bad_fd
 from test.test_support import py3k_bytes as bytes
 
 from _io import FileIO as _FileIO
diff --git a/Lib/test/test_float.py b/Lib/test/test_float.py
index ac155c9..b043c4d 100644
--- a/Lib/test/test_float.py
+++ b/Lib/test/test_float.py
@@ -523,7 +523,6 @@
 
     if float.__getformat__("double").startswith("IEEE"):
         def test_negative_zero(self):
-            import math
             def pos_pos():
                 return 0.0, math.atan2(0.0, -1)
             def pos_neg():
@@ -537,7 +536,6 @@
 
     if float.__getformat__("double").startswith("IEEE"):
         def test_underflow_sign(self):
-            import math
             # check that -1e-1000 gives -0.0, not 0.0
             self.assertEquals(math.atan2(-1e-1000, -1), math.atan2(-0.0, -1))
             self.assertEquals(math.atan2(float('-1e-1000'), -1),
diff --git a/Lib/test/test_fork1.py b/Lib/test/test_fork1.py
index 22e6f31..0640071 100644
--- a/Lib/test/test_fork1.py
+++ b/Lib/test/test_fork1.py
@@ -1,7 +1,6 @@
 """This test checks for correct fork() behavior.
 """
 
-import errno
 import imp
 import os
 import signal
diff --git a/Lib/test/test_frozen.py b/Lib/test/test_frozen.py
index 1654be0..5f72a92 100644
--- a/Lib/test/test_frozen.py
+++ b/Lib/test/test_frozen.py
@@ -2,7 +2,7 @@
 
 from test.test_support import captured_stdout, run_unittest
 import unittest
-import sys, os
+import sys
 
 class FrozenTests(unittest.TestCase):
     def test_frozen(self):
diff --git a/Lib/test/test_future_builtins.py b/Lib/test/test_future_builtins.py
index 0e16caf..96c3788 100644
--- a/Lib/test/test_future_builtins.py
+++ b/Lib/test/test_future_builtins.py
@@ -2,7 +2,6 @@
 
 # we're testing the behavior of these future builtins:
 from future_builtins import hex, oct, map, zip, filter
-from test import test_support
 
 class BuiltinTest(unittest.TestCase):
     def test_hex(self):
diff --git a/Lib/test/test_gdbm.py b/Lib/test/test_gdbm.py
index ee2a659..f4bbc38 100755
--- a/Lib/test/test_gdbm.py
+++ b/Lib/test/test_gdbm.py
@@ -1,7 +1,6 @@
 import unittest
 import os
-from test.test_support import (verbose, TESTFN, run_unittest, unlink,
-    import_module)
+from test.test_support import TESTFN, run_unittest, unlink, import_module
 gdbm = import_module('gdbm')
 
 
diff --git a/Lib/test/test_getopt.py b/Lib/test/test_getopt.py
index 4729301..6b18d9f 100644
--- a/Lib/test/test_getopt.py
+++ b/Lib/test/test_getopt.py
@@ -5,7 +5,6 @@
 import unittest
 
 import getopt
-import os
 
 sentinel = object()
 
diff --git a/Lib/test/test_hashlib.py b/Lib/test/test_hashlib.py
index b5fee51..6ef5557 100644
--- a/Lib/test/test_hashlib.py
+++ b/Lib/test/test_hashlib.py
@@ -8,7 +8,6 @@
 
 import array
 import hashlib
-import StringIO
 import itertools
 import sys
 try:
diff --git a/Lib/test/test_heapq.py b/Lib/test/test_heapq.py
index e377384..fac6845 100644
--- a/Lib/test/test_heapq.py
+++ b/Lib/test/test_heapq.py
@@ -367,8 +367,6 @@
 
 
 def test_main(verbose=None):
-    from types import BuiltinFunctionType
-
     test_classes = [TestHeapPython, TestHeapC, TestErrorHandling]
     test_support.run_unittest(*test_classes)
 
diff --git a/Lib/test/test_imaplib.py b/Lib/test/test_imaplib.py
index bfda0de..81b2591 100644
--- a/Lib/test/test_imaplib.py
+++ b/Lib/test/test_imaplib.py
@@ -7,10 +7,7 @@
 from contextlib import contextmanager
 import imaplib
 import os.path
-import select
-import socket
 import SocketServer
-import sys
 import time
 
 from test_support import reap_threads, verbose
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py
index be469cb..451d309 100644
--- a/Lib/test/test_inspect.py
+++ b/Lib/test/test_inspect.py
@@ -4,7 +4,7 @@
 import inspect
 import datetime
 
-from test.test_support import TESTFN, run_unittest
+from test.test_support import run_unittest
 
 from test import inspect_fodder as mod
 from test import inspect_fodder2 as mod2
diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py
index 1c12252..0404c09 100644
--- a/Lib/test/test_io.py
+++ b/Lib/test/test_io.py
@@ -31,9 +31,8 @@
 import unittest
 import warnings
 import weakref
-import gc
 import abc
-from itertools import chain, cycle, count
+from itertools import cycle, count
 from collections import deque
 from test import test_support as support
 
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index 0ef66a0..ae06341 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -42,7 +42,6 @@
      find_unused_port
 import textwrap
 import threading
-import time
 import unittest
 import warnings
 import weakref
diff --git a/Lib/test/test_long.py b/Lib/test/test_long.py
index 5c20dfe..e7bedeb 100644
--- a/Lib/test/test_long.py
+++ b/Lib/test/test_long.py
@@ -583,8 +583,6 @@
 # ----------------------------------- tests of auto int->long conversion
 
     def test_auto_overflow(self):
-        import math, sys
-
         special = [0, 1, 2, 3, sys.maxint-1, sys.maxint, sys.maxint+1]
         sqrt = int(math.sqrt(sys.maxint))
         special.extend([sqrt-1, sqrt, sqrt+1])
@@ -704,8 +702,6 @@
             self.assertEqual(long(float(x)), y)
 
     def test_float_overflow(self):
-        import math
-
         for x in -2.0, -1.0, 0.0, 1.0, 2.0:
             self.assertEqual(float(long(x)), x)
 
@@ -735,8 +731,6 @@
                 "float(shuge) should not equal int(shuge)")
 
     def test_logs(self):
-        import math
-
         LOG10E = math.log10(math.e)
 
         for exp in range(10) + [100, 1000, 10000]:
@@ -756,7 +750,6 @@
 
     def test_mixed_compares(self):
         eq = self.assertEqual
-        import math
 
         # We're mostly concerned with that mixing floats and longs does the
         # right stuff, even when longs are too large to fit in a float.
diff --git a/Lib/test/test_macos.py b/Lib/test/test_macos.py
index ce5f858..465d304 100644
--- a/Lib/test/test_macos.py
+++ b/Lib/test/test_macos.py
@@ -4,8 +4,6 @@
 import subprocess
 
 MacOS = test_support.import_module('MacOS')
-#The following should exist if MacOS exists.
-import Carbon.File
 
 TESTFN2 = test_support.TESTFN + '2'
 
diff --git a/Lib/test/test_memoryio.py b/Lib/test/test_memoryio.py
index aa31625..13fa826 100644
--- a/Lib/test/test_memoryio.py
+++ b/Lib/test/test_memoryio.py
@@ -11,7 +11,6 @@
 
 import io
 import _pyio as pyio
-import sys
 import pickle
 
 class MemorySeekTestMixin:
diff --git a/Lib/test/test_multibytecodec.py b/Lib/test/test_multibytecodec.py
index c74e329..517a682 100644
--- a/Lib/test/test_multibytecodec.py
+++ b/Lib/test/test_multibytecodec.py
@@ -5,7 +5,6 @@
 #
 
 from test import test_support
-from test import test_multibytecodec_support
 from test.test_support import TESTFN
 import unittest, StringIO, codecs, sys, os
 import _multibytecodec
diff --git a/Lib/test/test_ntpath.py b/Lib/test/test_ntpath.py
index 02dc38c..9e9b6ed 100644
--- a/Lib/test/test_ntpath.py
+++ b/Lib/test/test_ntpath.py
@@ -1,6 +1,6 @@
 import ntpath
 import os
-from test.test_support import verbose, TestFailed
+from test.test_support import TestFailed
 import test.test_support as test_support
 import unittest
 
diff --git a/Lib/test/test_optparse.py b/Lib/test/test_optparse.py
index d3ed61f..7733813 100644
--- a/Lib/test/test_optparse.py
+++ b/Lib/test/test_optparse.py
@@ -19,9 +19,9 @@
 from test import test_support
 
 
-from optparse import make_option, Option, IndentedHelpFormatter, \
-     TitledHelpFormatter, OptionParser, OptionContainer, OptionGroup, \
-     SUPPRESS_HELP, SUPPRESS_USAGE, OptionError, OptionConflictError, \
+from optparse import make_option, Option, \
+     TitledHelpFormatter, OptionParser, OptionGroup, \
+     SUPPRESS_USAGE, OptionError, OptionConflictError, \
      BadOptionError, OptionValueError, Values
 from optparse import _match_abbrev
 from optparse import _parse_num
@@ -1236,7 +1236,6 @@
 
     def variable_args(self, option, opt, value, parser):
         self.assertTrue(value is None)
-        done = 0
         value = []
         rargs = parser.rargs
         while rargs:
diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py
index 9900fa0..f8bb16b 100644
--- a/Lib/test/test_os.py
+++ b/Lib/test/test_os.py
@@ -134,7 +134,6 @@
         self.assertTrue(s == "foobar")
 
     def test_tmpnam(self):
-        import sys
         if not hasattr(os, "tmpnam"):
             return
         warnings.filterwarnings("ignore", "tmpnam", RuntimeWarning,
@@ -185,8 +184,6 @@
         self.assertEquals(result[stat.ST_SIZE], 3)
         self.assertEquals(result.st_size, 3)
 
-        import sys
-
         # Make sure all the attributes are there
         members = dir(result)
         for name in dir(stat):
diff --git a/Lib/test/test_parser.py b/Lib/test/test_parser.py
index 9fb949f..07a4c32 100644
--- a/Lib/test/test_parser.py
+++ b/Lib/test/test_parser.py
@@ -1,5 +1,4 @@
 import parser
-import os
 import unittest
 import sys
 from test import test_support
diff --git a/Lib/test/test_pdb.py b/Lib/test/test_pdb.py
index 6017edc..ce64d17 100644
--- a/Lib/test/test_pdb.py
+++ b/Lib/test/test_pdb.py
@@ -2,10 +2,7 @@
 # specified test modules (RFE #5142).
 
 import imp
-import os
 import sys
-import doctest
-import tempfile
 
 from test import test_support
 # This little helper class is essential for testing pdb under doctest.
diff --git a/Lib/test/test_print.py b/Lib/test/test_print.py
index f53d9c5..757f90f 100644
--- a/Lib/test/test_print.py
+++ b/Lib/test/test_print.py
@@ -8,7 +8,6 @@
 import unittest
 from test import test_support
 
-import sys
 from StringIO import StringIO
 
 NotDefined = object()
diff --git a/Lib/test/test_profile.py b/Lib/test/test_profile.py
index fe88d12..e40beaf 100755
--- a/Lib/test/test_profile.py
+++ b/Lib/test/test_profile.py
@@ -1,6 +1,5 @@
 """Test suite for the profile module."""
 
-import os
 import sys
 import pstats
 import unittest
diff --git a/Lib/test/test_pyexpat.py b/Lib/test/test_pyexpat.py
index 0628a57..68a1451 100644
--- a/Lib/test/test_pyexpat.py
+++ b/Lib/test/test_pyexpat.py
@@ -4,7 +4,6 @@
 import StringIO, sys
 import unittest
 
-import pyexpat
 from xml.parsers import expat
 
 from test.test_support import sortdict, run_unittest
diff --git a/Lib/test/test_queue.py b/Lib/test/test_queue.py
index 715466f..1636280 100644
--- a/Lib/test/test_queue.py
+++ b/Lib/test/test_queue.py
@@ -1,7 +1,6 @@
 # Some simple queue module tests, plus some failure conditions
 # to ensure the Queue locks remain stable.
 import Queue
-import sys
 import threading
 import time
 import unittest
diff --git a/Lib/test/test_random.py b/Lib/test/test_random.py
index ce07efc..b4998b9 100644
--- a/Lib/test/test_random.py
+++ b/Lib/test/test_random.py
@@ -5,7 +5,7 @@
 import time
 import pickle
 import warnings
-from math import log, exp, sqrt, pi, fsum, sin
+from math import log, exp, pi, fsum, sin
 from functools import reduce
 from test import test_support
 
diff --git a/Lib/test/test_re.py b/Lib/test/test_re.py
index 8136002..ba2f521 100644
--- a/Lib/test/test_re.py
+++ b/Lib/test/test_re.py
@@ -1,7 +1,7 @@
 from test.test_support import verbose, run_unittest
 import re
 from re import Scanner
-import sys, os, traceback
+import sys, traceback
 from weakref import proxy
 
 # Misc tests from Tim Peters' re.doc
@@ -715,7 +715,7 @@
         self.assertRaises(OverflowError, _sre.compile, "abc", 0, [long_overflow])
 
 def run_re_tests():
-    from test.re_tests import benchmarks, tests, SUCCEED, FAIL, SYNTAX_ERROR
+    from test.re_tests import tests, SUCCEED, FAIL, SYNTAX_ERROR
     if verbose:
         print 'Running re_tests test suite'
     else:
diff --git a/Lib/test/test_set.py b/Lib/test/test_set.py
index debb2be..32f2803 100644
--- a/Lib/test/test_set.py
+++ b/Lib/test/test_set.py
@@ -5,7 +5,6 @@
 import operator
 import copy
 import pickle
-import os
 from random import randrange, shuffle
 import sys
 import collections
@@ -1694,7 +1693,6 @@
 #==============================================================================
 
 def test_main(verbose=None):
-    from test import test_sets
     test_classes = (
         TestSet,
         TestSetSubclass,
diff --git a/Lib/test/test_socketserver.py b/Lib/test/test_socketserver.py
index 7a655b3..a938831 100644
--- a/Lib/test/test_socketserver.py
+++ b/Lib/test/test_socketserver.py
@@ -3,7 +3,6 @@
 """
 
 import contextlib
-import errno
 import imp
 import os
 import select
@@ -11,13 +10,11 @@
 import socket
 import tempfile
 import threading
-import time
 import unittest
 import SocketServer
 
 import test.test_support
 from test.test_support import reap_children, reap_threads, verbose
-from test.test_support import TESTFN as TEST_FILE
 
 test.test_support.requires("network")
 
diff --git a/Lib/test/test_sqlite.py b/Lib/test/test_sqlite.py
index 167408c..db27331 100644
--- a/Lib/test/test_sqlite.py
+++ b/Lib/test/test_sqlite.py
@@ -1,4 +1,3 @@
-import unittest
 from test.test_support import run_unittest, import_module
 
 # Skip test if _sqlite3 module was not built.
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
index b16c3d6..d452317 100644
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -6,13 +6,10 @@
 import asyncore
 import socket
 import select
-import errno
-import subprocess
 import time
 import os
 import pprint
 import urllib, urlparse
-import shutil
 import traceback
 
 from BaseHTTPServer import HTTPServer
diff --git a/Lib/test/test_strftime.py b/Lib/test/test_strftime.py
index cc36ed7..41e16f5 100755
--- a/Lib/test/test_strftime.py
+++ b/Lib/test/test_strftime.py
@@ -4,7 +4,6 @@
 
 import calendar
 import sys
-import os
 import re
 from test import test_support
 import time
diff --git a/Lib/test/test_struct.py b/Lib/test/test_struct.py
index 556a576..fc48c11 100644
--- a/Lib/test/test_struct.py
+++ b/Lib/test/test_struct.py
@@ -6,7 +6,7 @@
                         DeprecationWarning)
 
 from functools import wraps
-from test.test_support import TestFailed, verbose, run_unittest
+from test.test_support import run_unittest
 
 import sys
 ISBIGENDIAN = sys.byteorder == "big"
diff --git a/Lib/test/test_structmembers.py b/Lib/test/test_structmembers.py
index c196cc5..d1b33a1 100644
--- a/Lib/test/test_structmembers.py
+++ b/Lib/test/test_structmembers.py
@@ -5,7 +5,7 @@
     LONG_MAX, LONG_MIN, ULONG_MAX, \
     LLONG_MAX, LLONG_MIN, ULLONG_MAX
 
-import warnings, exceptions, unittest, sys
+import unittest
 from test import test_support
 
 ts=test_structmembersType(False, 1, 2, 3, 4, 5, 6, 7, 8,
diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py
index f7e828b..15b88ce 100644
--- a/Lib/test/test_sys.py
+++ b/Lib/test/test_sys.py
@@ -1,6 +1,6 @@
 # -*- coding: iso-8859-1 -*-
 import unittest, test.test_support
-import sys, cStringIO, os
+import sys, os, cStringIO
 import struct
 import operator
 
@@ -415,7 +415,7 @@
         sys._clear_type_cache()
 
     def test_ioencoding(self):
-        import subprocess,os
+        import subprocess
         env = dict(os.environ)
 
         # Test character: cent sign, encoded as 0x4A (ASCII J) in CP424,
diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py
index f00e041..c8bae73 100644
--- a/Lib/test/test_sysconfig.py
+++ b/Lib/test/test_sysconfig.py
@@ -6,7 +6,6 @@
 """
 import unittest
 import sys
-import test
 import os
 import shutil
 from copy import copy, deepcopy
@@ -80,7 +79,7 @@
         return self._uname
 
     def _cleanup_testfn(self):
-        path = test.test_support.TESTFN
+        path = TESTFN
         if os.path.isfile(path):
             os.remove(path)
         elif os.path.isdir(path):
diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py
index 9e9b83c..938e48b 100644
--- a/Lib/test/test_tarfile.py
+++ b/Lib/test/test_tarfile.py
@@ -3,7 +3,6 @@
 import sys
 import os
 import shutil
-import tempfile
 import StringIO
 from hashlib import md5
 import errno
diff --git a/Lib/test/test_tempfile.py b/Lib/test/test_tempfile.py
index 2b73f54..e534d62 100644
--- a/Lib/test/test_tempfile.py
+++ b/Lib/test/test_tempfile.py
@@ -3,7 +3,6 @@
 import os
 import sys
 import re
-import errno
 import warnings
 
 import unittest
diff --git a/Lib/test/test_tk.py b/Lib/test/test_tk.py
index eb9671f..49ca53f 100644
--- a/Lib/test/test_tk.py
+++ b/Lib/test/test_tk.py
@@ -1,5 +1,4 @@
 import os
-import sys
 import unittest
 from test import test_support
 
diff --git a/Lib/test/test_tokenize.py b/Lib/test/test_tokenize.py
index 5599921..b8e97e7 100644
--- a/Lib/test/test_tokenize.py
+++ b/Lib/test/test_tokenize.py
@@ -529,7 +529,7 @@
 
 
 from test import test_support
-from tokenize import (tokenize, untokenize, generate_tokens, NUMBER, NAME, OP,
+from tokenize import (untokenize, generate_tokens, NUMBER, NAME, OP,
                      STRING, ENDMARKER, tok_name)
 from StringIO import StringIO
 import os
diff --git a/Lib/test/test_traceback.py b/Lib/test/test_traceback.py
index f7e7c8d..c79961e 100644
--- a/Lib/test/test_traceback.py
+++ b/Lib/test/test_traceback.py
@@ -67,7 +67,7 @@
         self.assertTrue(err[1].find("2") == err[2].find("^"))
 
     def test_bug737473(self):
-        import sys, os, tempfile, time
+        import os, tempfile, time
 
         savedpath = sys.path[:]
         testdir = tempfile.mkdtemp()
diff --git a/Lib/test/test_ttk_guionly.py b/Lib/test/test_ttk_guionly.py
index 421f014..f163364 100644
--- a/Lib/test/test_ttk_guionly.py
+++ b/Lib/test/test_ttk_guionly.py
@@ -1,5 +1,4 @@
 import os
-import sys
 import unittest
 from test import test_support
 
diff --git a/Lib/test/test_ttk_textonly.py b/Lib/test/test_ttk_textonly.py
index e0cb2f5..ed92043d 100644
--- a/Lib/test/test_ttk_textonly.py
+++ b/Lib/test/test_ttk_textonly.py
@@ -1,5 +1,4 @@
 import os
-import sys
 from test import test_support
 
 # Skip this test if _tkinter does not exist.
diff --git a/Lib/test/test_types.py b/Lib/test/test_types.py
index 4ee345a..498f73a 100644
--- a/Lib/test/test_types.py
+++ b/Lib/test/test_types.py
@@ -20,7 +20,6 @@
         if not {'x': 1}: self.fail('{\'x\': 1} is false instead of true')
         def f(): pass
         class C: pass
-        import sys
         x = C()
         if not f: self.fail('f is false instead of true')
         if not C: self.fail('C is false instead of true')
diff --git a/Lib/test/test_undocumented_details.py b/Lib/test/test_undocumented_details.py
index ca66c19..0a92197 100644
--- a/Lib/test/test_undocumented_details.py
+++ b/Lib/test/test_undocumented_details.py
@@ -1,6 +1,5 @@
-from test.test_support import run_unittest, have_unicode
+from test.test_support import run_unittest
 import unittest
-import sys
 
 class TestImplementationComparisons(unittest.TestCase):
 
diff --git a/Lib/test/test_urllib2net.py b/Lib/test/test_urllib2net.py
index 829a467..5415145 100644
--- a/Lib/test/test_urllib2net.py
+++ b/Lib/test/test_urllib2net.py
@@ -6,9 +6,7 @@
 
 import socket
 import urllib2
-import sys
 import os
-import mimetools
 
 
 def _retry_thrice(func, exc, *args, **kwargs):
@@ -73,7 +71,7 @@
 class CloseSocketTest(unittest.TestCase):
 
     def test_close(self):
-        import socket, httplib, gc
+        import httplib
 
         # calling .close() on urllib2's response objects should close the
         # underlying socket
@@ -154,7 +152,6 @@
 ##             self._test_urls(urls, self._extra_handlers()+[bauth, dauth])
 
     def _test_urls(self, urls, handlers, retry=True):
-        import socket
         import time
         import logging
         debug = logging.getLogger("test_urllib2").debug
diff --git a/Lib/test/test_xml_etree.py b/Lib/test/test_xml_etree.py
index 2e24ed1..2ccb77a 100644
--- a/Lib/test/test_xml_etree.py
+++ b/Lib/test/test_xml_etree.py
@@ -2,7 +2,6 @@
 # all included components work as they should.  For a more extensive
 # test suite, see the selftest script in the ElementTree distribution.
 
-import doctest
 import sys
 
 from test import test_support
diff --git a/Lib/test/test_xml_etree_c.py b/Lib/test/test_xml_etree_c.py
index 68e6d2c..b3c0200 100644
--- a/Lib/test/test_xml_etree_c.py
+++ b/Lib/test/test_xml_etree_c.py
@@ -1,6 +1,5 @@
 # xml.etree test for cElementTree
 
-import doctest
 import sys
 
 from test import test_support
diff --git a/Lib/test/test_zipimport_support.py b/Lib/test/test_zipimport_support.py
index ac21958..7e2c283 100644
--- a/Lib/test/test_zipimport_support.py
+++ b/Lib/test/test_zipimport_support.py
@@ -2,7 +2,6 @@
 # for working with modules located inside zipfiles
 # The tests are centralised in this fashion to make it easy to drop them
 # if a platform doesn't support zipimport
-import unittest
 import test.test_support
 import os
 import os.path
@@ -15,8 +14,7 @@
 import linecache
 import pdb
 from test.script_helper import (spawn_python, kill_python, run_python,
-                                temp_dir, make_script, compile_script,
-                                make_pkg, make_zip_script, make_zip_pkg)
+                                temp_dir, make_script, make_zip_script)
 
 verbose = test.test_support.verbose