#2621 rename test.test_support to test.support
diff --git a/Lib/test/double_const.py b/Lib/test/double_const.py
index 16c33a1..67852aa 100644
--- a/Lib/test/double_const.py
+++ b/Lib/test/double_const.py
@@ -1,4 +1,4 @@
-from test.test_support import TestFailed
+from test.support import TestFailed
 
 # A test for SF bug 422177:  manifest float constants varied way too much in
 # precision depending on whether Python was loading a module for the first
diff --git a/Lib/test/list_tests.py b/Lib/test/list_tests.py
index 4ffa668..6250908 100644
--- a/Lib/test/list_tests.py
+++ b/Lib/test/list_tests.py
@@ -5,7 +5,7 @@
 import sys
 import os
 
-from test import test_support, seq_tests
+from test import support, seq_tests
 
 def CmpToKey(mycmp):
     'Convert a cmp= function into a key= function'
@@ -66,14 +66,14 @@
         d.append(d)
         d.append(400)
         try:
-            fo = open(test_support.TESTFN, "w")
+            fo = open(support.TESTFN, "w")
             fo.write(str(d))
             fo.close()
-            fo = open(test_support.TESTFN, "r")
+            fo = open(support.TESTFN, "r")
             self.assertEqual(fo.read(), repr(d))
         finally:
             fo.close()
-            os.remove(test_support.TESTFN)
+            os.remove(support.TESTFN)
 
     def test_set_subscript(self):
         a = self.type2test(range(20))
diff --git a/Lib/test/outstanding_bugs.py b/Lib/test/outstanding_bugs.py
index 3f672fb..9e4784c 100644
--- a/Lib/test/outstanding_bugs.py
+++ b/Lib/test/outstanding_bugs.py
@@ -7,7 +7,7 @@
 #
 
 import unittest
-from test import test_support
+from test import support
 
 #
 # One test case for outstanding bugs at the moment:
@@ -22,7 +22,7 @@
         self.normalized = b"AAA\nBBB\nCCC\nDDD\nEEE\n".decode("ASCII")
 
     def tearDown(self):
-        test_support.unlink(test_support.TESTFN)
+        support.unlink(support.TESTFN)
 
 
     def test_issue1395_1(self):
@@ -81,7 +81,7 @@
 
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         TextIOWrapperTest)
 
 if __name__ == "__main__":
diff --git a/Lib/test/pickletester.py b/Lib/test/pickletester.py
index 666b9c2..783d361 100644
--- a/Lib/test/pickletester.py
+++ b/Lib/test/pickletester.py
@@ -3,7 +3,7 @@
 import pickletools
 import copyreg
 
-from test.test_support import TestFailed, TESTFN, run_with_locale
+from test.support import TestFailed, TESTFN, run_with_locale
 
 from pickle import bytes_types
 
diff --git a/Lib/test/regrtest.py b/Lib/test/regrtest.py
index f87b8a8..41772c6 100755
--- a/Lib/test/regrtest.py
+++ b/Lib/test/regrtest.py
@@ -171,7 +171,7 @@
         newsoft = min(hard, max(soft, 1024*2048))
         resource.setrlimit(resource.RLIMIT_STACK, (newsoft, hard))
 
-from test import test_support
+from test import support
 
 RESOURCE_NAMES = ('audio', 'curses', 'largefile', 'network', 'bsddb',
                   'decimal', 'compiler', 'subprocess', 'urlfetch')
@@ -209,7 +209,7 @@
     values that would normally be set by flags on the command line.
     """
 
-    test_support.record_original_stdout(sys.stdout)
+    support.record_original_stdout(sys.stdout)
     try:
         opts, args = getopt.getopt(sys.argv[1:], 'hvgqxsSrf:lu:t:TD:NLR:wM:n',
                                    ['help', 'verbose', 'quiet', 'exclude',
@@ -284,7 +284,7 @@
             # stringobject.c filling slowly with random data
             warm_char_cache()
         elif o in ('-M', '--memlimit'):
-            test_support.set_memlimit(a)
+            support.set_memlimit(a)
         elif o in ('-u', '--use'):
             u = [x.lower() for x in a.split(',')]
             for r in u:
@@ -390,8 +390,8 @@
         tracer = trace.Trace(ignoredirs=[sys.prefix, sys.exec_prefix],
                              trace=False, count=True)
     test_times = []
-    test_support.verbose = verbose      # Tell tests to be moderately quiet
-    test_support.use_resources = use_resources
+    support.verbose = verbose      # Tell tests to be moderately quiet
+    support.use_resources = use_resources
     save_modules = sys.modules.keys()
     for test in tests:
         if not quiet:
@@ -433,7 +433,7 @@
         # Unload the newly imported modules (best effort finalization)
         for module in sys.modules.keys():
             if module not in save_modules and module.startswith("test."):
-                test_support.unload(module)
+                support.unload(module)
 
     # The lists won't be sorted if running with -r
     good.sort()
@@ -479,7 +479,7 @@
             print("Re-running test %r in verbose mode" % test)
             sys.stdout.flush()
             try:
-                test_support.verbose = True
+                support.verbose = True
                 ok = runtest(test, generate, True, quiet, test_times, testdir,
                              huntrleaks, debug)
             except KeyboardInterrupt:
@@ -526,7 +526,6 @@
 ]
 
 NOTTESTS = {
-    'test_support',
     'test_future1',
     'test_future2',
 }
@@ -572,7 +571,7 @@
 
 def runtest_inner(test, generate, verbose, quiet, test_times,
                   testdir=None, huntrleaks=False, debug=False):
-    test_support.unload(test)
+    support.unload(test)
     if not testdir:
         testdir = findtestdir()
     if verbose:
@@ -606,19 +605,19 @@
             test_times.append((test_time, test))
         finally:
             sys.stdout = save_stdout
-    except test_support.ResourceDenied as msg:
+    except support.ResourceDenied as msg:
         if not quiet:
             print(test, "skipped --", msg)
             sys.stdout.flush()
         return -2
-    except (ImportError, test_support.TestSkipped) as msg:
+    except (ImportError, support.TestSkipped) as msg:
         if not quiet:
             print(test, "skipped --", msg)
             sys.stdout.flush()
         return -1
     except KeyboardInterrupt:
         raise
-    except test_support.TestFailed as msg:
+    except support.TestFailed as msg:
         print("test", test, "failed --", msg)
         sys.stdout.flush()
         return 0
@@ -652,7 +651,7 @@
     # since if a test leaves a file open, it cannot be deleted by name (while
     # there's nothing we can do about that here either, we can display the
     # name of the offending test, which is a real help).
-    for name in (test_support.TESTFN,
+    for name in (support.TESTFN,
                  "db_home",
                 ):
         if not os.path.exists(name):
@@ -1206,10 +1205,10 @@
 if __name__ == '__main__':
     # Remove regrtest.py's own directory from the module search path.  This
     # prevents relative imports from working, and relative imports will screw
-    # up the testing framework.  E.g. if both test.test_support and
-    # test_support are imported, they will not contain the same globals, and
+    # up the testing framework.  E.g. if both test.support and
+    # support are imported, they will not contain the same globals, and
     # much of the testing framework relies on the globals in the
-    # test.test_support module.
+    # test.support module.
     mydir = os.path.abspath(os.path.normpath(os.path.dirname(sys.argv[0])))
     i = pathlen = len(sys.path)
     while i >= 0:
diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py
index caafb31..60308d7 100644
--- a/Lib/test/string_tests.py
+++ b/Lib/test/string_tests.py
@@ -3,7 +3,7 @@
 """
 
 import unittest, string, sys, struct
-from test import test_support
+from test import support
 from collections import UserList
 
 class Sequence:
diff --git a/Lib/test/test_support.py b/Lib/test/support.py
similarity index 99%
rename from Lib/test/test_support.py
rename to Lib/test/support.py
index c4084bb..b8bc406 100644
--- a/Lib/test/test_support.py
+++ b/Lib/test/support.py
@@ -1,7 +1,7 @@
 """Supporting definitions for the Python regression tests."""
 
-if __name__ != 'test.test_support':
-    raise ImportError('test_support must be imported from the test package')
+if __name__ != 'test.support':
+    raise ImportError('support must be imported from the test package')
 
 import contextlib
 import errno
@@ -700,7 +700,7 @@
     """Run doctest on the given module.  Return (#failures, #tests).
 
     If optional argument verbosity is not specified (or is None), pass
-    test_support's belief about verbosity on to doctest.  Else doctest's
+    support's belief about verbosity on to doctest.  Else doctest's
     usual behavior is used (it searches sys.argv for -v).
     """
 
diff --git a/Lib/test/test_SimpleHTTPServer.py b/Lib/test/test_SimpleHTTPServer.py
index 9d3ad16..d285f27 100644
--- a/Lib/test/test_SimpleHTTPServer.py
+++ b/Lib/test/test_SimpleHTTPServer.py
@@ -5,7 +5,7 @@
 
 import os, unittest
 from SimpleHTTPServer import SimpleHTTPRequestHandler
-from test import test_support
+from test import support
 
 
 class SocketlessRequestHandler (SimpleHTTPRequestHandler):
@@ -35,7 +35,7 @@
 
 
 def test_main():
-    test_support.run_unittest(SimpleHTTPRequestHandlerTestCase)
+    support.run_unittest(SimpleHTTPRequestHandlerTestCase)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test___all__.py b/Lib/test/test___all__.py
index 9d0487d..c58aead 100644
--- a/Lib/test/test___all__.py
+++ b/Lib/test/test___all__.py
@@ -1,5 +1,5 @@
 import unittest
-from test.test_support import run_unittest, catch_warning
+from test.support import run_unittest, catch_warning
 import sys
 import warnings
 
diff --git a/Lib/test/test___future__.py b/Lib/test/test___future__.py
index 9504155..77006e1 100644
--- a/Lib/test/test___future__.py
+++ b/Lib/test/test___future__.py
@@ -1,6 +1,6 @@
 #! /usr/bin/env python
 import unittest
-from test import test_support
+from test import support
 import __future__
 
 GOOD_SERIALS = ("alpha", "beta", "candidate", "final")
@@ -57,7 +57,7 @@
                    ".compiler_flag isn't int")
 
 def test_main():
-    test_support.run_unittest(FutureTest)
+    support.run_unittest(FutureTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test__locale.py b/Lib/test/test__locale.py
index aed273d..9dec027 100644
--- a/Lib/test/test__locale.py
+++ b/Lib/test/test__locale.py
@@ -1,4 +1,4 @@
-from test.test_support import verbose, TestSkipped, run_unittest
+from test.support import verbose, TestSkipped, run_unittest
 from _locale import (setlocale, LC_ALL, LC_CTYPE, LC_NUMERIC, RADIXCHAR, THOUSEP, nl_langinfo,
                     localeconv, Error)
 import unittest
diff --git a/Lib/test/test_abc.py b/Lib/test/test_abc.py
index d631c3e..a4cefc5 100644
--- a/Lib/test/test_abc.py
+++ b/Lib/test/test_abc.py
@@ -4,7 +4,7 @@
 """Unit tests for abc.py."""
 
 import unittest
-from test import test_support
+from test import support
 
 import abc
 from inspect import isabstract
@@ -170,7 +170,7 @@
 
 
 def test_main():
-    test_support.run_unittest(TestABC)
+    support.run_unittest(TestABC)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_abstract_numbers.py b/Lib/test/test_abstract_numbers.py
index 244f87a..e20f2d4 100644
--- a/Lib/test/test_abstract_numbers.py
+++ b/Lib/test/test_abstract_numbers.py
@@ -5,7 +5,7 @@
 import unittest
 from numbers import Complex, Real, Rational, Integral
 from numbers import Number
-from test import test_support
+from test import support
 
 class TestNumbers(unittest.TestCase):
     def test_int(self):
@@ -40,7 +40,7 @@
         self.assertRaises(TypeError, int, c1)
 
 def test_main():
-    test_support.run_unittest(TestNumbers)
+    support.run_unittest(TestNumbers)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_anydbm.py b/Lib/test/test_anydbm.py
index 9399d71..ace9dd2 100644
--- a/Lib/test/test_anydbm.py
+++ b/Lib/test/test_anydbm.py
@@ -7,9 +7,9 @@
 import unittest
 import anydbm
 import glob
-from test import test_support
+from test import support
 
-_fname = test_support.TESTFN
+_fname = support.TESTFN
 
 _all_modules = []
 
@@ -121,7 +121,7 @@
 def test_main():
     try:
         for module in dbm_iterator():
-            test_support.run_unittest(AnyDBMTestCase)
+            support.run_unittest(AnyDBMTestCase)
     finally:
         delete_files()
 
diff --git a/Lib/test/test_array.py b/Lib/test/test_array.py
index 70fac66..66ce2ad 100755
--- a/Lib/test/test_array.py
+++ b/Lib/test/test_array.py
@@ -4,7 +4,7 @@
 """
 
 import unittest
-from test import test_support
+from test import support
 from weakref import proxy
 import array, io, math
 from pickle import loads, dumps
@@ -162,13 +162,13 @@
     def test_tofromfile(self):
         a = array.array(self.typecode, 2*self.example)
         self.assertRaises(TypeError, a.tofile)
-        test_support.unlink(test_support.TESTFN)
-        f = open(test_support.TESTFN, 'wb')
+        support.unlink(support.TESTFN)
+        f = open(support.TESTFN, 'wb')
         try:
             a.tofile(f)
             f.close()
             b = array.array(self.typecode)
-            f = open(test_support.TESTFN, 'rb')
+            f = open(support.TESTFN, 'rb')
             self.assertRaises(TypeError, b.fromfile)
             b.fromfile(f, len(self.example))
             self.assertEqual(b, array.array(self.typecode, self.example))
@@ -180,7 +180,7 @@
         finally:
             if not f.closed:
                 f.close()
-            test_support.unlink(test_support.TESTFN)
+            support.unlink(support.TESTFN)
 
     def test_tofromlist(self):
         a = array.array(self.typecode, 2*self.example)
@@ -967,14 +967,14 @@
 def test_main(verbose=None):
     import sys
 
-    test_support.run_unittest(*tests)
+    support.run_unittest(*tests)
 
     # verify reference counting
     if verbose and hasattr(sys, "gettotalrefcount"):
         import gc
         counts = [None] * 5
         for i in range(len(counts)):
-            test_support.run_unittest(*tests)
+            support.run_unittest(*tests)
             gc.collect()
             counts[i] = sys.gettotalrefcount()
         print(counts)
diff --git a/Lib/test/test_ast.py b/Lib/test/test_ast.py
index f4fbc94..4c74cf7 100644
--- a/Lib/test/test_ast.py
+++ b/Lib/test/test_ast.py
@@ -1,5 +1,5 @@
 import sys, unittest
-from test import test_support
+from test import support
 import _ast
 
 def to_tuple(t):
@@ -176,7 +176,7 @@
                     self.assertEquals(to_tuple(ast2), to_tuple(ast))
 
 def test_main():
-    test_support.run_unittest(AST_Tests)
+    support.run_unittest(AST_Tests)
 
 def main():
     if __name__ != '__main__':
diff --git a/Lib/test/test_asynchat.py b/Lib/test/test_asynchat.py
index d24e8cc..4d49f58 100644
--- a/Lib/test/test_asynchat.py
+++ b/Lib/test/test_asynchat.py
@@ -4,9 +4,9 @@
 import asyncore, asynchat, socket, threading, time
 import unittest
 import sys
-from test import test_support
+from test import support
 
-HOST = test_support.HOST
+HOST = support.HOST
 SERVER_QUIT = b'QUIT\n'
 
 class echo_server(threading.Thread):
@@ -18,7 +18,7 @@
         threading.Thread.__init__(self)
         self.event = event
         self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-        self.port = test_support.bind_port(self.sock)
+        self.port = support.bind_port(self.sock)
 
     def run(self):
         self.sock.listen(1)
@@ -248,7 +248,7 @@
 
 
 def test_main(verbose=None):
-    test_support.run_unittest(TestAsynchat, TestAsynchat_WithPoll,
+    support.run_unittest(TestAsynchat, TestAsynchat_WithPoll,
                               TestHelperFunctions, TestFifo)
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_asyncore.py b/Lib/test/test_asyncore.py
index 09401bd..eb52687 100644
--- a/Lib/test/test_asyncore.py
+++ b/Lib/test/test_asyncore.py
@@ -7,12 +7,12 @@
 import sys
 import time
 
-from test import test_support
-from test.test_support import TESTFN, run_unittest, unlink
+from test import support
+from test.support import TESTFN, run_unittest, unlink
 from io import BytesIO
 from io import StringIO
 
-HOST = test_support.HOST
+HOST = support.HOST
 
 class dummysocket:
     def __init__(self):
@@ -334,7 +334,7 @@
         self.evt = threading.Event()
         self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         self.sock.settimeout(3)
-        self.port = test_support.bind_port(self.sock)
+        self.port = support.bind_port(self.sock)
 
         cap = BytesIO()
         args = (self.evt, cap, self.sock)
diff --git a/Lib/test/test_atexit.py b/Lib/test/test_atexit.py
index 76a5036..6856042 100644
--- a/Lib/test/test_atexit.py
+++ b/Lib/test/test_atexit.py
@@ -2,7 +2,7 @@
 import unittest
 import io
 import atexit
-from test import test_support
+from test import support
 
 ### helpers
 def h1():
@@ -109,7 +109,7 @@
 
 
 def test_main():
-    test_support.run_unittest(TestCase)
+    support.run_unittest(TestCase)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_audioop.py b/Lib/test/test_audioop.py
index ab8be02..ae796ba 100644
--- a/Lib/test/test_audioop.py
+++ b/Lib/test/test_audioop.py
@@ -1,6 +1,6 @@
 # Test audioop.
 import audioop
-from test.test_support import verbose
+from test.support import verbose
 
 def gendata1():
     return b'\0\1\2'
diff --git a/Lib/test/test_augassign.py b/Lib/test/test_augassign.py
index 0309d6e..e03b4d4 100644
--- a/Lib/test/test_augassign.py
+++ b/Lib/test/test_augassign.py
@@ -1,6 +1,6 @@
 # Augmented assignment test.
 
-from test.test_support import run_unittest
+from test.support import run_unittest
 import unittest
 
 
diff --git a/Lib/test/test_base64.py b/Lib/test/test_base64.py
index c50652c..e899016 100644
--- a/Lib/test/test_base64.py
+++ b/Lib/test/test_base64.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 import base64
 import binascii
 
@@ -209,7 +209,7 @@
 
 
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_bigaddrspace.py b/Lib/test/test_bigaddrspace.py
index 8c215fe..3aedc4c 100644
--- a/Lib/test/test_bigaddrspace.py
+++ b/Lib/test/test_bigaddrspace.py
@@ -1,5 +1,5 @@
-from test import test_support
-from test.test_support import bigaddrspacetest, MAX_Py_ssize_t
+from test import support
+from test.support import bigaddrspacetest, MAX_Py_ssize_t
 
 import unittest
 import operator
@@ -38,9 +38,9 @@
 
 
 def test_main():
-    test_support.run_unittest(StrTest)
+    support.run_unittest(StrTest)
 
 if __name__ == '__main__':
     if len(sys.argv) > 1:
-        test_support.set_memlimit(sys.argv[1])
+        support.set_memlimit(sys.argv[1])
     test_main()
diff --git a/Lib/test/test_bigmem.py b/Lib/test/test_bigmem.py
index 27e1ecf..30e1bdb 100644
--- a/Lib/test/test_bigmem.py
+++ b/Lib/test/test_bigmem.py
@@ -1,5 +1,5 @@
-from test import test_support
-from test.test_support import bigmemtest, _1G, _2G
+from test import support
+from test.support import bigmemtest, _1G, _2G
 
 import unittest
 import operator
@@ -957,9 +957,9 @@
         self.assertEquals(l[-10:], [5] * 10)
 
 def test_main():
-    test_support.run_unittest(StrTest, TupleTest, ListTest)
+    support.run_unittest(StrTest, TupleTest, ListTest)
 
 if __name__ == '__main__':
     if len(sys.argv) > 1:
-        test_support.set_memlimit(sys.argv[1])
+        support.set_memlimit(sys.argv[1])
     test_main()
diff --git a/Lib/test/test_binascii.py b/Lib/test/test_binascii.py
index fb9a666..76a76b2 100755
--- a/Lib/test/test_binascii.py
+++ b/Lib/test/test_binascii.py
@@ -1,6 +1,6 @@
 """Test the binascii C module."""
 
-from test import test_support
+from test import support
 import unittest
 import binascii
 
@@ -169,7 +169,7 @@
         binascii.crc_hqx('', 0)
 
 def test_main():
-    test_support.run_unittest(BinASCIITest)
+    support.run_unittest(BinASCIITest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_binhex.py b/Lib/test/test_binhex.py
index 61c24c9..06fd98a 100755
--- a/Lib/test/test_binhex.py
+++ b/Lib/test/test_binhex.py
@@ -7,18 +7,18 @@
 import binhex
 import os
 import unittest
-from test import test_support
+from test import support
 
 
 class BinHexTestCase(unittest.TestCase):
 
     def setUp(self):
-        self.fname1 = test_support.TESTFN + "1"
-        self.fname2 = test_support.TESTFN + "2"
+        self.fname1 = support.TESTFN + "1"
+        self.fname2 = support.TESTFN + "2"
 
     def tearDown(self):
-        test_support.unlink(self.fname1)
-        test_support.unlink(self.fname2)
+        support.unlink(self.fname1)
+        support.unlink(self.fname2)
 
     DATA = b'Jack is my hero'
 
@@ -39,7 +39,7 @@
 
 
 def test_main():
-    test_support.run_unittest(BinHexTestCase)
+    support.run_unittest(BinHexTestCase)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_binop.py b/Lib/test/test_binop.py
index f0433fb..b260b1b 100644
--- a/Lib/test/test_binop.py
+++ b/Lib/test/test_binop.py
@@ -1,7 +1,7 @@
 """Tests for binary operators on subtypes of built-in types."""
 
 import unittest
-from test import test_support
+from test import support
 
 def gcd(a, b):
     """Greatest common divisor using Euclid's algorithm."""
@@ -317,7 +317,7 @@
 """
 
 def test_main():
-    test_support.run_unittest(RatTestCase)
+    support.run_unittest(RatTestCase)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_bisect.py b/Lib/test/test_bisect.py
index 11495ba..af9f1f7 100644
--- a/Lib/test/test_bisect.py
+++ b/Lib/test/test_bisect.py
@@ -1,6 +1,6 @@
 import sys
 import unittest
-from test import test_support
+from test import support
 from collections import UserList
 
 # We do a bit of trickery here to be able to test both the C implementation
@@ -286,15 +286,15 @@
                     TestInsortPython, TestInsortC,
                     TestErrorHandlingPython, TestErrorHandlingC]
 
-    test_support.run_unittest(*test_classes)
-    test_support.run_doctest(test_bisect, verbose)
+    support.run_unittest(*test_classes)
+    support.run_doctest(test_bisect, verbose)
 
     # verify reference counting
     if verbose and hasattr(sys, "gettotalrefcount"):
         import gc
         counts = [None] * 5
         for i in range(len(counts)):
-            test_support.run_unittest(*test_classes)
+            support.run_unittest(*test_classes)
             gc.collect()
             counts[i] = sys.gettotalrefcount()
         print(counts)
diff --git a/Lib/test/test_bool.py b/Lib/test/test_bool.py
index bbaea85..591b0eb 100644
--- a/Lib/test/test_bool.py
+++ b/Lib/test/test_bool.py
@@ -1,7 +1,7 @@
 # Test properties of bool promised by PEP 285
 
 import unittest
-from test import test_support
+from test import support
 
 import os
 
@@ -26,14 +26,14 @@
 
     def test_print(self):
         try:
-            fo = open(test_support.TESTFN, "w")
+            fo = open(support.TESTFN, "w")
             print(False, True, file=fo)
             fo.close()
-            fo = open(test_support.TESTFN, "r")
+            fo = open(support.TESTFN, "r")
             self.assertEqual(fo.read(), 'False True\n')
         finally:
             fo.close()
-            os.remove(test_support.TESTFN)
+            os.remove(support.TESTFN)
 
     def test_repr(self):
         self.assertEqual(repr(False), 'False')
@@ -234,12 +234,12 @@
 
     def test_fileclosed(self):
         try:
-            f = open(test_support.TESTFN, "w")
+            f = open(support.TESTFN, "w")
             self.assertIs(f.closed, False)
             f.close()
             self.assertIs(f.closed, True)
         finally:
-            os.remove(test_support.TESTFN)
+            os.remove(support.TESTFN)
 
     def test_operator(self):
         import operator
@@ -331,7 +331,7 @@
                     self.assertEqual(str(e_bool), str(e_len))
 
 def test_main():
-    test_support.run_unittest(BoolTest)
+    support.run_unittest(BoolTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_bsddb.py b/Lib/test/test_bsddb.py
index dfee3dc..3eb291f 100755
--- a/Lib/test/test_bsddb.py
+++ b/Lib/test/test_bsddb.py
@@ -7,7 +7,7 @@
 import bsddb
 import dbhash # Just so we know it's imported
 import unittest
-from test import test_support
+from test import support
 
 class TestBSDDB(unittest.TestCase):
     openflag = 'c'
@@ -274,7 +274,7 @@
         self.assertEqual(list(self.f), keys)
 
 class TestBTree(TestBSDDB):
-    fname = test_support.TESTFN
+    fname = support.TESTFN
     openmethod = [bsddb.btopen]
 
 class TestBTree_InMemory(TestBSDDB):
@@ -287,7 +287,7 @@
     openmethod = [bsddb.btopen]
 
 class TestHashTable(TestBSDDB):
-    fname = test_support.TESTFN
+    fname = support.TESTFN
     openmethod = [bsddb.hashopen]
 
 class TestHashTable_InMemory(TestBSDDB):
@@ -299,7 +299,7 @@
 ##         #                                   Solaris Intel - rmasse 1/97
 
 def test_main(verbose=None):
-    test_support.run_unittest(
+    support.run_unittest(
         TestBTree,
         TestHashTable,
         TestBTree_InMemory,
diff --git a/Lib/test/test_bsddb3.py b/Lib/test/test_bsddb3.py
index 1f58c12..6a277d9 100644
--- a/Lib/test/test_bsddb3.py
+++ b/Lib/test/test_bsddb3.py
@@ -7,7 +7,7 @@
 import tempfile
 import time
 import unittest
-from test.test_support import requires, verbose, run_unittest, unlink, rmtree
+from test.support import requires, verbose, run_unittest, unlink, rmtree
 
 # When running as a script instead of within the regrtest framework, skip the
 # requires test, since it's obvious we want to run them.
diff --git a/Lib/test/test_bufio.py b/Lib/test/test_bufio.py
index 804a401..e65951d 100644
--- a/Lib/test/test_bufio.py
+++ b/Lib/test/test_bufio.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 
 # Simple test to ensure that optimizations in fileobject.c deliver
 # the expected results.  For best testing, run this under a debug-build
@@ -14,18 +14,18 @@
         # .readline()s deliver what we wrote.
 
         # Ensure we can open TESTFN for writing.
-        test_support.unlink(test_support.TESTFN)
+        support.unlink(support.TESTFN)
 
         # Since C doesn't guarantee we can write/read arbitrary bytes in text
         # files, use binary mode.
-        f = open(test_support.TESTFN, "wb")
+        f = open(support.TESTFN, "wb")
         try:
             # write once with \n and once without
             f.write(s)
             f.write(b"\n")
             f.write(s)
             f.close()
-            f = open(test_support.TESTFN, "rb")
+            f = open(support.TESTFN, "rb")
             line = f.readline()
             self.assertEqual(line, s + b"\n")
             line = f.readline()
@@ -34,7 +34,7 @@
             self.assert_(not line) # Must be at EOF
             f.close()
         finally:
-            test_support.unlink(test_support.TESTFN)
+            support.unlink(support.TESTFN)
 
     def drive_one(self, pattern):
         for length in lengths:
@@ -59,7 +59,7 @@
         self.drive_one(bytes(1000))
 
 def test_main():
-    test_support.run_unittest(BufferSizeTest)
+    support.run_unittest(BufferSizeTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_builtin.py b/Lib/test/test_builtin.py
index a74cc84..ef562db 100644
--- a/Lib/test/test_builtin.py
+++ b/Lib/test/test_builtin.py
@@ -1,7 +1,7 @@
 # Python test set -- built-in functions
 
-import test.test_support, unittest
-from test.test_support import fcmp, TESTFN, unlink,  run_unittest, \
+import test.support, unittest
+from test.support import fcmp, TESTFN, unlink,  run_unittest, \
                               run_with_locale
 from operator import neg
 
diff --git a/Lib/test/test_bytes.py b/Lib/test/test_bytes.py
index 5f3580d..206dde9 100644
--- a/Lib/test/test_bytes.py
+++ b/Lib/test/test_bytes.py
@@ -13,7 +13,7 @@
 import tempfile
 import unittest
 import warnings
-import test.test_support
+import test.support
 import test.string_tests
 import test.buffer_tests
 
@@ -969,13 +969,13 @@
 
 
 def test_main():
-    test.test_support.run_unittest(BytesTest)
-    test.test_support.run_unittest(ByteArrayTest)
-    test.test_support.run_unittest(AssortedBytesTest)
-    test.test_support.run_unittest(BytesAsStringTest)
-    test.test_support.run_unittest(ByteArrayAsStringTest)
-    test.test_support.run_unittest(ByteArraySubclassTest)
-    test.test_support.run_unittest(BytearrayPEP3137Test)
+    test.support.run_unittest(BytesTest)
+    test.support.run_unittest(ByteArrayTest)
+    test.support.run_unittest(AssortedBytesTest)
+    test.support.run_unittest(BytesAsStringTest)
+    test.support.run_unittest(ByteArrayAsStringTest)
+    test.support.run_unittest(ByteArraySubclassTest)
+    test.support.run_unittest(BytearrayPEP3137Test)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_bz2.py b/Lib/test/test_bz2.py
index 39bf19c..4646f02 100644
--- a/Lib/test/test_bz2.py
+++ b/Lib/test/test_bz2.py
@@ -1,6 +1,6 @@
 #!/usr/bin/python
-from test import test_support
-from test.test_support import TESTFN
+from test import support
+from test.support import TESTFN
 
 import unittest
 from io import BytesIO
@@ -333,13 +333,13 @@
         self.assertRaises(ValueError, bz2.decompress, self.DATA[:-10])
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         BZ2FileTest,
         BZ2CompressorTest,
         BZ2DecompressorTest,
         FuncTest
     )
-    test_support.reap_children()
+    support.reap_children()
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_cProfile.py b/Lib/test/test_cProfile.py
index 7ae0bca..913ed1a 100644
--- a/Lib/test/test_cProfile.py
+++ b/Lib/test/test_cProfile.py
@@ -121,7 +121,7 @@
 
 
 def test_main():
-    from test.test_support import TestSkipped
+    from test.support import TestSkipped
     raise TestSkipped('test_cProfile test is current broken')
 
 
diff --git a/Lib/test/test_calendar.py b/Lib/test/test_calendar.py
index 5f9c057..5debee9 100644
--- a/Lib/test/test_calendar.py
+++ b/Lib/test/test_calendar.py
@@ -1,7 +1,7 @@
 import calendar
 import unittest
 
-from test import test_support
+from test import support
 
 
 result_2004_text = """
@@ -383,7 +383,7 @@
 
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         OutputTestCase,
         CalendarTestCase,
         MondayTestCase,
diff --git a/Lib/test/test_call.py b/Lib/test/test_call.py
index 2652343..c00ccba 100644
--- a/Lib/test/test_call.py
+++ b/Lib/test/test_call.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 
 # The test cases here cover several paths through the function calling
 # code.  They depend on the METH_XXX flag that is used to define a C
@@ -124,7 +124,7 @@
 
 
 def test_main():
-    test_support.run_unittest(CFunctionCalls)
+    support.run_unittest(CFunctionCalls)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_capi.py b/Lib/test/test_capi.py
index 87be9ee..df5ce0b 100644
--- a/Lib/test/test_capi.py
+++ b/Lib/test/test_capi.py
@@ -2,7 +2,7 @@
 # these are all functions _testcapi exports whose name begins with 'test_'.
 
 import sys
-from test import test_support
+from test import support
 import _testcapi
 
 def test_main():
@@ -10,13 +10,13 @@
     for name in dir(_testcapi):
         if name.startswith('test_'):
             test = getattr(_testcapi, name)
-            if test_support.verbose:
+            if support.verbose:
                 print("internal", name)
             test()
 
     # some extra thread-state tests driven via _testcapi
     def TestThreadState():
-        if test_support.verbose:
+        if support.verbose:
             print("auto-thread-state")
 
         idents = []
@@ -29,7 +29,7 @@
         time.sleep(1)
         # Check our main thread is in the list exactly 3 times.
         if idents.count(thread.get_ident()) != 3:
-            raise test_support.TestFailed(
+            raise support.TestFailed(
                         "Couldn't find main thread correctly in the list")
 
     try:
diff --git a/Lib/test/test_cfgparser.py b/Lib/test/test_cfgparser.py
index 70bf0ac..dcc1a98 100644
--- a/Lib/test/test_cfgparser.py
+++ b/Lib/test/test_cfgparser.py
@@ -3,7 +3,7 @@
 import unittest
 import collections
 
-from test import test_support
+from test import support
 
 class SortedDict(collections.UserDict):
     def items(self):
@@ -251,7 +251,7 @@
         cf.set("sect", "option2", "splat")
 
     def test_read_returns_file_list(self):
-        file1 = test_support.findfile("cfgparser.1")
+        file1 = support.findfile("cfgparser.1")
         # check when we pass a mix of readable and non-readable files:
         cf = self.newconfig()
         parsed_files = cf.read([file1, "nonexistant-file"])
@@ -469,7 +469,7 @@
                           "o4 = 1\n\n")
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         ConfigParserTestCase,
         RawConfigParserTestCase,
         SafeConfigParserTestCase,
diff --git a/Lib/test/test_cgi.py b/Lib/test/test_cgi.py
index f28719b..f9b336f 100644
--- a/Lib/test/test_cgi.py
+++ b/Lib/test/test_cgi.py
@@ -1,4 +1,4 @@
-from test.test_support import run_unittest
+from test.support import run_unittest
 import cgi
 import os
 import sys
diff --git a/Lib/test/test_charmapcodec.py b/Lib/test/test_charmapcodec.py
index 5e4055e..8b79bde 100644
--- a/Lib/test/test_charmapcodec.py
+++ b/Lib/test/test_charmapcodec.py
@@ -9,7 +9,7 @@
 
 """#"
 
-import test.test_support, unittest
+import test.support, unittest
 
 import codecs
 
@@ -50,7 +50,7 @@
         self.assertRaises(UnicodeError, str, b'abc\001', codecname)
 
 def test_main():
-    test.test_support.run_unittest(CharmapCodecTest)
+    test.support.run_unittest(CharmapCodecTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_class.py b/Lib/test/test_class.py
index 730826d..cabf715 100644
--- a/Lib/test/test_class.py
+++ b/Lib/test/test_class.py
@@ -2,7 +2,7 @@
 
 import unittest
 
-from test import test_support
+from test import support
 
 testmeths = [
 
@@ -555,7 +555,7 @@
         hash(a.f)
 
 def test_main():
-    test_support.run_unittest(ClassTests)
+    support.run_unittest(ClassTests)
 
 if __name__=='__main__':
     test_main()
diff --git a/Lib/test/test_cmath.py b/Lib/test/test_cmath.py
index ca4945d..3c34fec 100755
--- a/Lib/test/test_cmath.py
+++ b/Lib/test/test_cmath.py
@@ -1,4 +1,4 @@
-from test.test_support import run_unittest
+from test.support import run_unittest
 from test.test_math import parse_testfile, test_file
 import unittest
 import os, sys
diff --git a/Lib/test/test_cmd.py b/Lib/test/test_cmd.py
index 2c77931..e2b3022 100644
--- a/Lib/test/test_cmd.py
+++ b/Lib/test/test_cmd.py
@@ -167,8 +167,8 @@
         return True
 
 def test_main(verbose=None):
-    from test import test_support, test_cmd
-    test_support.run_doctest(test_cmd, verbose)
+    from test import support, test_cmd
+    support.run_doctest(test_cmd, verbose)
 
 def test_coverage(coverdir):
     tracer=trace.Trace(ignoredirs=[sys.prefix, sys.exec_prefix,],
diff --git a/Lib/test/test_cmd_line.py b/Lib/test/test_cmd_line.py
index 19089a4..9ccf3f5 100644
--- a/Lib/test/test_cmd_line.py
+++ b/Lib/test/test_cmd_line.py
@@ -2,7 +2,7 @@
 # All tests are executed with environment variables ignored
 # See test_cmd_line_script.py for testing of script execution
 
-import test.test_support, unittest
+import test.support, unittest
 import sys
 import subprocess
 
@@ -123,8 +123,8 @@
 
 
 def test_main():
-    test.test_support.run_unittest(CmdLineTest)
-    test.test_support.reap_children()
+    test.support.run_unittest(CmdLineTest)
+    test.support.reap_children()
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_cmd_line_script.py b/Lib/test/test_cmd_line_script.py
index 74031c9..e0b09ea 100644
--- a/Lib/test/test_cmd_line_script.py
+++ b/Lib/test/test_cmd_line_script.py
@@ -4,7 +4,7 @@
 import os
 import os.path
 import sys
-import test.test_support
+import test.support
 import tempfile
 import subprocess
 import py_compile
@@ -12,9 +12,9 @@
 import shutil
 import zipfile
 
-verbose = test.test_support.verbose
+verbose = test.support.verbose
 
-# XXX ncoghlan: Should we consider moving these to test_support?
+# XXX ncoghlan: Should we consider moving these to support?
 from test.test_cmd_line import _spawn_python, _kill_python
 
 def _run_python(*args):
@@ -176,8 +176,8 @@
 
 
 def test_main():
-    test.test_support.run_unittest(CmdLineTest)
-    test.test_support.reap_children()
+    test.support.run_unittest(CmdLineTest)
+    test.support.reap_children()
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_code.py b/Lib/test/test_code.py
index 63378c2..c8fa2a1 100644
--- a/Lib/test/test_code.py
+++ b/Lib/test/test_code.py
@@ -119,7 +119,7 @@
     print("consts:", tuple(consts(co.co_consts)))
 
 def test_main(verbose=None):
-    from test.test_support import run_doctest
+    from test.support import run_doctest
     from test import test_code
     run_doctest(test_code, verbose)
 
diff --git a/Lib/test/test_codeccallbacks.py b/Lib/test/test_codeccallbacks.py
index 64d1645..d1a4868 100644
--- a/Lib/test/test_codeccallbacks.py
+++ b/Lib/test/test_codeccallbacks.py
@@ -1,4 +1,4 @@
-import test.test_support, unittest
+import test.support, unittest
 import sys, codecs, html.entities, unicodedata
 
 class PosReturn:
@@ -843,7 +843,7 @@
             self.assertRaises(TypeError, data.decode, encoding, "test.replacing")
 
 def test_main():
-    test.test_support.run_unittest(CodecCallbackTest)
+    test.support.run_unittest(CodecCallbackTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_codecencodings_cn.py b/Lib/test/test_codecencodings_cn.py
index bc1d7ad..77bac13 100644
--- a/Lib/test/test_codecencodings_cn.py
+++ b/Lib/test/test_codecencodings_cn.py
@@ -4,7 +4,7 @@
 #   Codec encoding tests for PRC encodings.
 #
 
-from test import test_support
+from test import support
 from test import test_multibytecodec_support
 import unittest
 
@@ -51,7 +51,7 @@
     has_iso10646 = True
 
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_codecencodings_hk.py b/Lib/test/test_codecencodings_hk.py
index c8e7941..b1deb71 100644
--- a/Lib/test/test_codecencodings_hk.py
+++ b/Lib/test/test_codecencodings_hk.py
@@ -4,7 +4,7 @@
 #   Codec encoding tests for HongKong encodings.
 #
 
-from test import test_support
+from test import support
 from test import test_multibytecodec_support
 import unittest
 
@@ -21,7 +21,7 @@
     )
 
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_codecencodings_jp.py b/Lib/test/test_codecencodings_jp.py
index 5d939a6..e2cd7d7 100644
--- a/Lib/test/test_codecencodings_jp.py
+++ b/Lib/test/test_codecencodings_jp.py
@@ -4,7 +4,7 @@
 #   Codec encoding tests for Japanese encodings.
 #
 
-from test import test_support
+from test import support
 from test import test_multibytecodec_support
 import unittest
 
@@ -99,7 +99,7 @@
     )
 
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_codecencodings_kr.py b/Lib/test/test_codecencodings_kr.py
index 18ed393..34fade9 100644
--- a/Lib/test/test_codecencodings_kr.py
+++ b/Lib/test/test_codecencodings_kr.py
@@ -4,7 +4,7 @@
 #   Codec encoding tests for ROK encodings.
 #
 
-from test import test_support
+from test import support
 from test import test_multibytecodec_support
 import unittest
 
@@ -63,7 +63,7 @@
     )
 
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_codecencodings_tw.py b/Lib/test/test_codecencodings_tw.py
index bb7fd38..6b840d3 100644
--- a/Lib/test/test_codecencodings_tw.py
+++ b/Lib/test/test_codecencodings_tw.py
@@ -4,7 +4,7 @@
 #   Codec encoding tests for ROC encodings.
 #
 
-from test import test_support
+from test import support
 from test import test_multibytecodec_support
 import unittest
 
@@ -21,7 +21,7 @@
     )
 
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_codecmaps_cn.py b/Lib/test/test_codecmaps_cn.py
index 344fc56..34a910d 100644
--- a/Lib/test/test_codecmaps_cn.py
+++ b/Lib/test/test_codecmaps_cn.py
@@ -4,7 +4,7 @@
 #   Codec mapping tests for PRC encodings
 #
 
-from test import test_support
+from test import support
 from test import test_multibytecodec_support
 import unittest
 
@@ -27,7 +27,7 @@
 
 
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_codecmaps_hk.py b/Lib/test/test_codecmaps_hk.py
index 362ab7f..ddb1208 100644
--- a/Lib/test/test_codecmaps_hk.py
+++ b/Lib/test/test_codecmaps_hk.py
@@ -4,7 +4,7 @@
 #   Codec mapping tests for HongKong encodings
 #
 
-from test import test_support
+from test import support
 from test import test_multibytecodec_support
 import unittest
 
@@ -14,8 +14,8 @@
     mapfileurl = 'http://people.freebsd.org/~perky/i18n/BIG5HKSCS-2004.TXT'
 
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == "__main__":
-    test_support.use_resources = ['urlfetch']
+    support.use_resources = ['urlfetch']
     test_main()
diff --git a/Lib/test/test_codecmaps_jp.py b/Lib/test/test_codecmaps_jp.py
index dec97fb..75db00c 100644
--- a/Lib/test/test_codecmaps_jp.py
+++ b/Lib/test/test_codecmaps_jp.py
@@ -4,7 +4,7 @@
 #   Codec mapping tests for Japanese encodings
 #
 
-from test import test_support
+from test import support
 from test import test_multibytecodec_support
 import unittest
 
@@ -61,7 +61,7 @@
 
 
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_codecmaps_kr.py b/Lib/test/test_codecmaps_kr.py
index f9c97e5..0da9d1c 100644
--- a/Lib/test/test_codecmaps_kr.py
+++ b/Lib/test/test_codecmaps_kr.py
@@ -4,7 +4,7 @@
 #   Codec mapping tests for ROK encodings
 #
 
-from test import test_support
+from test import support
 from test import test_multibytecodec_support
 import unittest
 
@@ -38,7 +38,7 @@
     pass_dectest = [(b'\\', '\u20a9')]
 
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_codecmaps_tw.py b/Lib/test/test_codecmaps_tw.py
index 4bd1966..e6df3a7 100644
--- a/Lib/test/test_codecmaps_tw.py
+++ b/Lib/test/test_codecmaps_tw.py
@@ -4,7 +4,7 @@
 #   Codec mapping tests for ROC encodings
 #
 
-from test import test_support
+from test import support
 from test import test_multibytecodec_support
 import unittest
 
@@ -25,7 +25,7 @@
     ]
 
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_codecs.py b/Lib/test/test_codecs.py
index a828edf..a7da809 100644
--- a/Lib/test/test_codecs.py
+++ b/Lib/test/test_codecs.py
@@ -1,4 +1,4 @@
-from test import test_support
+from test import support
 import unittest
 import codecs
 import sys, _testcapi, io
@@ -1032,7 +1032,7 @@
                 try:
                     self.assertEquals(nameprep(orig), prepped)
                 except Exception as e:
-                    raise test_support.TestFailed("Test 3.%d: %s" % (pos+1, str(e)))
+                    raise support.TestFailed("Test 3.%d: %s" % (pos+1, str(e)))
 
 class IDNACodecTest(unittest.TestCase):
     def test_builtin_decode(self):
@@ -1477,7 +1477,7 @@
 
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         UTF32Test,
         UTF32LETest,
         UTF32BETest,
diff --git a/Lib/test/test_codeop.py b/Lib/test/test_codeop.py
index edea601..224a314 100644
--- a/Lib/test/test_codeop.py
+++ b/Lib/test/test_codeop.py
@@ -3,7 +3,7 @@
    Nick Mathewson
 """
 import unittest
-from test.test_support import run_unittest, is_jython
+from test.support import run_unittest, is_jython
 
 from codeop import compile_command, PyCF_DONT_IMPLY_DEDENT
 import io
diff --git a/Lib/test/test_coding.py b/Lib/test/test_coding.py
index b1664f4..ade8bdf 100644
--- a/Lib/test/test_coding.py
+++ b/Lib/test/test_coding.py
@@ -1,6 +1,6 @@
 
-import test.test_support, unittest
-from test.test_support import TESTFN, unlink
+import test.support, unittest
+from test.support import TESTFN, unlink
 import os, sys
 
 class CodingTest(unittest.TestCase):
@@ -50,7 +50,7 @@
             sys.path.pop(0)
 
 def test_main():
-    test.test_support.run_unittest(CodingTest)
+    test.support.run_unittest(CodingTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_collections.py b/Lib/test/test_collections.py
index 9384744..ad8c230 100644
--- a/Lib/test/test_collections.py
+++ b/Lib/test/test_collections.py
@@ -1,7 +1,7 @@
 """Unit tests for collections.py."""
 
 import unittest, doctest
-from test import test_support
+from test import support
 from collections import namedtuple
 from collections import Hashable, Iterable, Iterator
 from collections import Sized, Container, Callable
@@ -321,8 +321,8 @@
 def test_main(verbose=None):
     NamedTupleDocs = doctest.DocTestSuite(module=collections)
     test_classes = [TestNamedTuple, NamedTupleDocs, TestOneTrickPonyABCs, TestCollectionABCs]
-    test_support.run_unittest(*test_classes)
-    test_support.run_doctest(collections, verbose)
+    support.run_unittest(*test_classes)
+    support.run_doctest(collections, verbose)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_colorsys.py b/Lib/test/test_colorsys.py
index a8cd885..e405b8a 100644
--- a/Lib/test/test_colorsys.py
+++ b/Lib/test/test_colorsys.py
@@ -1,4 +1,4 @@
-import unittest, test.test_support
+import unittest, test.support
 import colorsys
 
 def frange(start, stop, step):
@@ -70,7 +70,7 @@
             self.assertTripleEqual(rgb, colorsys.hls_to_rgb(*hls))
 
 def test_main():
-    test.test_support.run_unittest(ColorsysTest)
+    test.support.run_unittest(ColorsysTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_commands.py b/Lib/test/test_commands.py
index 1b84306..b4e48ce 100644
--- a/Lib/test/test_commands.py
+++ b/Lib/test/test_commands.py
@@ -5,7 +5,7 @@
 import unittest
 import os, tempfile, re
 
-from test.test_support import TestSkipped, run_unittest, reap_children
+from test.support import TestSkipped, run_unittest, reap_children
 from commands import *
 
 # The module says:
diff --git a/Lib/test/test_compare.py b/Lib/test/test_compare.py
index de32f3c..ee3794a 100644
--- a/Lib/test/test_compare.py
+++ b/Lib/test/test_compare.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 
 class Empty:
     def __repr__(self):
@@ -61,7 +61,7 @@
 
 
 def test_main():
-    test_support.run_unittest(ComparisonTest)
+    support.run_unittest(ComparisonTest)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_compile.py b/Lib/test/test_compile.py
index 5a069d3..2462269 100644
--- a/Lib/test/test_compile.py
+++ b/Lib/test/test_compile.py
@@ -1,7 +1,7 @@
 import unittest
 import sys
 import _ast
-from test import test_support
+from test import support
 
 class TestSpecifics(unittest.TestCase):
 
@@ -444,7 +444,7 @@
 
 
 def test_main():
-    test_support.run_unittest(TestSpecifics)
+    support.run_unittest(TestSpecifics)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_complex.py b/Lib/test/test_complex.py
index fbed4f2..44c8999 100644
--- a/Lib/test/test_complex.py
+++ b/Lib/test/test_complex.py
@@ -1,5 +1,5 @@
 import unittest, os
-from test import test_support
+from test import support
 
 from random import random
 from math import atan2
@@ -339,16 +339,16 @@
 
         fo = None
         try:
-            fo = open(test_support.TESTFN, "w")
+            fo = open(support.TESTFN, "w")
             print(a, b, file=fo)
             fo.close()
-            fo = open(test_support.TESTFN, "r")
+            fo = open(support.TESTFN, "r")
             self.assertEqual(fo.read(), ("%s %s\n" % (a, b)))
         finally:
             if (fo is not None) and (not fo.closed):
                 fo.close()
             try:
-                os.remove(test_support.TESTFN)
+                os.remove(support.TESTFN)
             except (OSError, IOError):
                 pass
 
@@ -360,7 +360,7 @@
             self.assertEquals(atan2(z2.imag, -1.), atan2(-0., -1.))
 
 def test_main():
-    test_support.run_unittest(ComplexTest)
+    support.run_unittest(ComplexTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_contains.py b/Lib/test/test_contains.py
index 5ab80e4..e570787 100644
--- a/Lib/test/test_contains.py
+++ b/Lib/test/test_contains.py
@@ -1,4 +1,4 @@
-from test.test_support import run_unittest
+from test.support import run_unittest
 import unittest
 
 
diff --git a/Lib/test/test_contextlib.py b/Lib/test/test_contextlib.py
index 51d2436..c05f37b 100644
--- a/Lib/test/test_contextlib.py
+++ b/Lib/test/test_contextlib.py
@@ -8,7 +8,7 @@
 import unittest
 import threading
 from contextlib import *  # Tests __all__
-from test import test_support
+from test import support
 
 class ContextManagerTestCase(unittest.TestCase):
 
@@ -331,7 +331,7 @@
 
 # This is needed to make the test actually run under regrtest.py!
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_cookie.py b/Lib/test/test_cookie.py
index e4c8975..07d29e1 100644
--- a/Lib/test/test_cookie.py
+++ b/Lib/test/test_cookie.py
@@ -1,6 +1,6 @@
 # Simple test suite for Cookie.py
 
-from test.test_support import run_unittest, run_doctest
+from test.support import run_unittest, run_doctest
 import unittest
 import Cookie
 
diff --git a/Lib/test/test_cookielib.py b/Lib/test/test_cookielib.py
index 87f118d..e400bfa 100644
--- a/Lib/test/test_cookielib.py
+++ b/Lib/test/test_cookielib.py
@@ -3,7 +3,7 @@
 import re, os, time
 from unittest import TestCase
 
-from test import test_support
+from test import support
 
 class DateTimeTests(TestCase):
 
@@ -234,7 +234,7 @@
     def test_lwp_valueless_cookie(self):
         # cookies with no value should be saved and loaded consistently
         from cookielib import LWPCookieJar
-        filename = test_support.TESTFN
+        filename = support.TESTFN
         c = LWPCookieJar()
         interact_netscape(c, "http://www.acme.com/", 'boo')
         self.assertEqual(c._cookies["www.acme.com"]["/"]["boo"].value, None)
@@ -250,7 +250,7 @@
     def test_bad_magic(self):
         from cookielib import LWPCookieJar, MozillaCookieJar, LoadError
         # IOErrors (eg. file doesn't exist) are allowed to propagate
-        filename = test_support.TESTFN
+        filename = support.TESTFN
         for cookiejar_class in LWPCookieJar, MozillaCookieJar:
             c = cookiejar_class()
             try:
@@ -356,7 +356,7 @@
 
         # missing = sign in Cookie: header is regarded by Mozilla as a missing
         # name, and by cookielib as a missing value
-        filename = test_support.TESTFN
+        filename = support.TESTFN
         c = MozillaCookieJar(filename)
         interact_netscape(c, "http://www.acme.com/", 'eggs')
         interact_netscape(c, "http://www.acme.com/", '"spam"; path=/foo/')
@@ -1505,7 +1505,7 @@
         self.assertEquals(len(c), 6)
 
         # save and restore
-        filename = test_support.TESTFN
+        filename = support.TESTFN
 
         try:
             c.save(filename, ignore_discard=True)
@@ -1547,7 +1547,7 @@
 
         year_plus_one = time.localtime()[0] + 1
 
-        filename = test_support.TESTFN
+        filename = support.TESTFN
 
         c = MozillaCookieJar(filename,
                              policy=DefaultCookiePolicy(rfc2965=True))
@@ -1722,7 +1722,7 @@
 
 
 def test_main(verbose=None):
-    test_support.run_unittest(
+    support.run_unittest(
         DateTimeTests,
         HeaderTests,
         CookieTests,
diff --git a/Lib/test/test_copy.py b/Lib/test/test_copy.py
index 182b8c3..500fa83 100644
--- a/Lib/test/test_copy.py
+++ b/Lib/test/test_copy.py
@@ -4,7 +4,7 @@
 import copyreg
 
 import unittest
-from test import test_support
+from test import support
 
 class TestCopy(unittest.TestCase):
 
@@ -50,7 +50,7 @@
             def __reduce_ex__(self, proto):
                 return ""
             def __reduce__(self):
-                raise test_support.TestFailed("shouldn't call this")
+                raise support.TestFailed("shouldn't call this")
         x = C()
         y = copy.copy(x)
         self.assert_(y is x)
@@ -223,7 +223,7 @@
             def __reduce_ex__(self, proto):
                 return ""
             def __reduce__(self):
-                raise test_support.TestFailed("shouldn't call this")
+                raise support.TestFailed("shouldn't call this")
         x = C()
         y = copy.deepcopy(x)
         self.assert_(y is x)
@@ -584,7 +584,7 @@
 def global_foo(x, y): return x+y
 
 def test_main():
-    test_support.run_unittest(TestCopy)
+    support.run_unittest(TestCopy)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_copyreg.py b/Lib/test/test_copyreg.py
index 82f6c94..48e58ea 100644
--- a/Lib/test/test_copyreg.py
+++ b/Lib/test/test_copyreg.py
@@ -1,7 +1,7 @@
 import copyreg
 import unittest
 
-from test import test_support
+from test import support
 from test.pickletester import ExtensionSaver
 
 class C:
@@ -114,7 +114,7 @@
 
 
 def test_main():
-    test_support.run_unittest(CopyRegTestCase)
+    support.run_unittest(CopyRegTestCase)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_crypt.py b/Lib/test/test_crypt.py
index aa07f49..b4d0ac9 100755
--- a/Lib/test/test_crypt.py
+++ b/Lib/test/test_crypt.py
@@ -1,4 +1,4 @@
-from test import test_support
+from test import support
 import unittest
 import crypt
 
@@ -6,11 +6,11 @@
 
     def test_crypt(self):
         c = crypt.crypt('mypassword', 'ab')
-        if test_support.verbose:
+        if support.verbose:
             print('Test encryption: ', c)
 
 def test_main():
-    test_support.run_unittest(CryptTestCase)
+    support.run_unittest(CryptTestCase)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_csv.py b/Lib/test/test_csv.py
index f53c5ea..1dbb71a 100644
--- a/Lib/test/test_csv.py
+++ b/Lib/test/test_csv.py
@@ -10,7 +10,7 @@
 from tempfile import TemporaryFile
 import csv
 import gc
-from test import test_support
+from test import support
 
 class Test_Csv(unittest.TestCase):
     """
@@ -790,7 +790,7 @@
         self.assertEqual(dialect.quotechar, "'")
 
 if not hasattr(sys, "gettotalrefcount"):
-    if test_support.verbose: print("*** skipping leakage tests ***")
+    if support.verbose: print("*** skipping leakage tests ***")
 else:
     class NUL:
         def write(s, *args):
@@ -891,7 +891,7 @@
 
 def test_main():
     mod = sys.modules[__name__]
-    test_support.run_unittest(
+    support.run_unittest(
         *[getattr(mod, name) for name in dir(mod) if name.startswith('Test')]
     )
 
diff --git a/Lib/test/test_ctypes.py b/Lib/test/test_ctypes.py
index 7a81ab4..92c98ad 100644
--- a/Lib/test/test_ctypes.py
+++ b/Lib/test/test_ctypes.py
@@ -1,6 +1,6 @@
 import unittest
 
-from test.test_support import run_unittest
+from test.support import run_unittest
 import ctypes.test
 
 def test_main():
diff --git a/Lib/test/test_curses.py b/Lib/test/test_curses.py
index d50d81d..ebeb926 100644
--- a/Lib/test/test_curses.py
+++ b/Lib/test/test_curses.py
@@ -16,7 +16,7 @@
 # 'curses' resource be given on the regrtest command line using the -u
 # option.  If not available, nothing after this line will be executed.
 
-from test.test_support import requires, TestSkipped
+from test.support import requires, TestSkipped
 requires('curses')
 
 # XXX: if newterm was supported we could use it instead of initscr and not exit
diff --git a/Lib/test/test_datetime.py b/Lib/test/test_datetime.py
index e83048e..2048fa0 100644
--- a/Lib/test/test_datetime.py
+++ b/Lib/test/test_datetime.py
@@ -7,7 +7,7 @@
 import pickle
 import unittest
 
-from test import test_support
+from test import support
 
 from datetime import MINYEAR, MAXYEAR
 from datetime import timedelta
@@ -3340,7 +3340,7 @@
         self.assertEqual(datetime_sc, as_datetime)
 
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_dbm.py b/Lib/test/test_dbm.py
index 44b712c..2c6ce99 100755
--- a/Lib/test/test_dbm.py
+++ b/Lib/test/test_dbm.py
@@ -1,4 +1,4 @@
-from test import test_support
+from test import support
 import unittest
 import os
 import random
@@ -8,13 +8,13 @@
 class DbmTestCase(unittest.TestCase):
 
     def setUp(self):
-        self.filename = test_support.TESTFN
+        self.filename = support.TESTFN
         self.d = dbm.open(self.filename, 'c')
         self.d.close()
 
     def tearDown(self):
         for suffix in ['', '.pag', '.dir', '.db']:
-            test_support.unlink(self.filename + suffix)
+            support.unlink(self.filename + suffix)
 
     def test_keys(self):
         self.d = dbm.open(self.filename, 'c')
@@ -34,7 +34,7 @@
                 self.fail()
 
 def test_main():
-    test_support.run_unittest(DbmTestCase)
+    support.run_unittest(DbmTestCase)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_decimal.py b/Lib/test/test_decimal.py
index b4f942e..617f4d9 100644
--- a/Lib/test/test_decimal.py
+++ b/Lib/test/test_decimal.py
@@ -30,7 +30,7 @@
 import pickle, copy
 import unittest
 from decimal import *
-from test.test_support import (TestSkipped, run_unittest, run_doctest,
+from test.support import (TestSkipped, run_unittest, run_doctest,
                                is_resource_enabled)
 import random
 try:
diff --git a/Lib/test/test_decorators.py b/Lib/test/test_decorators.py
index 1499004..53c9469 100644
--- a/Lib/test/test_decorators.py
+++ b/Lib/test/test_decorators.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 
 def funcattrs(**kwds):
     def decorate(func):
@@ -302,8 +302,8 @@
         self.assertEqual(C.extra, 'second')
 
 def test_main():
-    test_support.run_unittest(TestDecorators)
-    test_support.run_unittest(TestClassDecorators)
+    support.run_unittest(TestDecorators)
+    support.run_unittest(TestClassDecorators)
 
 if __name__=="__main__":
     test_main()
diff --git a/Lib/test/test_defaultdict.py b/Lib/test/test_defaultdict.py
index 065cc10..49519ab 100644
--- a/Lib/test/test_defaultdict.py
+++ b/Lib/test/test_defaultdict.py
@@ -4,7 +4,7 @@
 import copy
 import tempfile
 import unittest
-from test import test_support
+from test import support
 
 from collections import defaultdict
 
@@ -166,7 +166,7 @@
 
 
 def test_main():
-    test_support.run_unittest(TestDefaultDict)
+    support.run_unittest(TestDefaultDict)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_deque.py b/Lib/test/test_deque.py
index cb59579..1ac43da 100644
--- a/Lib/test/test_deque.py
+++ b/Lib/test/test_deque.py
@@ -1,6 +1,6 @@
 from collections import deque
 import unittest
-from test import test_support, seq_tests
+from test import support, seq_tests
 from weakref import proxy
 import copy
 import pickle
@@ -64,28 +64,28 @@
         self.assertEqual(list(d), [7, 8, 9])
         d = deque(range(200), maxlen=10)
         d.append(d)
-        test_support.unlink(test_support.TESTFN)
-        fo = open(test_support.TESTFN, "w")
+        support.unlink(support.TESTFN)
+        fo = open(support.TESTFN, "w")
         try:
             fo.write(str(d))
             fo.close()
-            fo = open(test_support.TESTFN, "r")
+            fo = open(support.TESTFN, "r")
             self.assertEqual(fo.read(), repr(d))
         finally:
             fo.close()
-            test_support.unlink(test_support.TESTFN)
+            support.unlink(support.TESTFN)
 
         d = deque(range(10), maxlen=None)
         self.assertEqual(repr(d), 'deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])')
-        fo = open(test_support.TESTFN, "w")
+        fo = open(support.TESTFN, "w")
         try:
             fo.write(str(d))
             fo.close()
-            fo = open(test_support.TESTFN, "r")
+            fo = open(support.TESTFN, "r")
             self.assertEqual(fo.read(), repr(d))
         finally:
             fo.close()
-            test_support.unlink(test_support.TESTFN)
+            support.unlink(support.TESTFN)
 
     def test_comparisons(self):
         d = deque('xabc'); d.popleft()
@@ -284,15 +284,15 @@
         d = deque(range(200))
         d.append(d)
         try:
-            test_support.unlink(test_support.TESTFN)
-            fo = open(test_support.TESTFN, "w")
+            support.unlink(support.TESTFN)
+            fo = open(support.TESTFN, "w")
             print(d, file=fo, end='')
             fo.close()
-            fo = open(test_support.TESTFN, "r")
+            fo = open(support.TESTFN, "r")
             self.assertEqual(fo.read(), repr(d))
         finally:
             fo.close()
-            test_support.unlink(test_support.TESTFN)
+            support.unlink(support.TESTFN)
 
     def test_init(self):
         self.assertRaises(TypeError, deque, 'abc', 2, 3);
@@ -670,21 +670,21 @@
         TestSubclassWithKwargs,
     )
 
-    test_support.run_unittest(*test_classes)
+    support.run_unittest(*test_classes)
 
     # verify reference counting
     if verbose and hasattr(sys, "gettotalrefcount"):
         import gc
         counts = [None] * 5
         for i in range(len(counts)):
-            test_support.run_unittest(*test_classes)
+            support.run_unittest(*test_classes)
             gc.collect()
             counts[i] = sys.gettotalrefcount()
         print(counts)
 
     # doctests
     from test import test_deque
-    test_support.run_doctest(test_deque, verbose)
+    support.run_doctest(test_deque, verbose)
 
 if __name__ == "__main__":
     test_main(verbose=True)
diff --git a/Lib/test/test_descr.py b/Lib/test/test_descr.py
index 288afd4..ad649cb 100644
--- a/Lib/test/test_descr.py
+++ b/Lib/test/test_descr.py
@@ -3,7 +3,7 @@
 import warnings
 
 from copy import deepcopy
-from test import test_support
+from test import support
 
 
 class OperatorsTest(unittest.TestCase):
@@ -2449,12 +2449,12 @@
         ##             self.ateof = 1
         ##        return s
         ##
-        ## f = file(name=test_support.TESTFN, mode='w')
+        ## f = file(name=support.TESTFN, mode='w')
         ## lines = ['a\n', 'b\n', 'c\n']
         ## try:
         ##     f.writelines(lines)
         ##     f.close()
-        ##     f = CountedInput(test_support.TESTFN)
+        ##     f = CountedInput(support.TESTFN)
         ##     for (i, expected) in zip(range(1, 5) + [4], lines + 2 * [""]):
         ##         got = f.readline()
         ##         self.assertEqual(expected, got)
@@ -2466,7 +2466,7 @@
         ##         f.close()
         ##     except:
         ##         pass
-        ##     test_support.unlink(test_support.TESTFN)
+        ##     support.unlink(support.TESTFN)
 
     def test_keywords(self):
         # Testing keyword args to basic type constructors ...
@@ -4093,7 +4093,7 @@
 
 def test_main():
     # Run all local test cases, with PTypesLongInitTest first.
-    test_support.run_unittest(PTypesLongInitTest, OperatorsTest,
+    support.run_unittest(PTypesLongInitTest, OperatorsTest,
                               ClassPropertiesAndMethods, DictProxyTests)
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_descrtut.py b/Lib/test/test_descrtut.py
index 1ddab0e..bd298bd 100644
--- a/Lib/test/test_descrtut.py
+++ b/Lib/test/test_descrtut.py
@@ -8,7 +8,7 @@
 # of much interest anymore), and a few were fiddled to make the output
 # deterministic.
 
-from test.test_support import sortdict
+from test.support import sortdict
 import pprint
 
 class defaultdict(dict):
@@ -473,8 +473,8 @@
     # into the doctest examples, and unless the full test.test_descrtut
     # business is used the name can change depending on how the test is
     # invoked.
-    from test import test_support, test_descrtut
-    test_support.run_doctest(test_descrtut, verbose)
+    from test import support, test_descrtut
+    support.run_doctest(test_descrtut, verbose)
 
 # This part isn't needed for regrtest, but for running the test directly.
 if __name__ == "__main__":
diff --git a/Lib/test/test_dict.py b/Lib/test/test_dict.py
index 01d47da..b518a0b 100644
--- a/Lib/test/test_dict.py
+++ b/Lib/test/test_dict.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 
 import sys, collections, random, string
 
@@ -651,7 +651,7 @@
     type2test = Dict
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         DictTest,
         GeneralMappingTests,
         SubclassMappingTests,
diff --git a/Lib/test/test_dictcomps.py b/Lib/test/test_dictcomps.py
index 9af9e48..a3b22dc 100644
--- a/Lib/test/test_dictcomps.py
+++ b/Lib/test/test_dictcomps.py
@@ -36,16 +36,16 @@
 
 def test_main(verbose=None):
     import sys
-    from test import test_support
+    from test import support
     from test import test_dictcomps
-    test_support.run_doctest(test_dictcomps, verbose)
+    support.run_doctest(test_dictcomps, verbose)
 
     # verify reference counting
     if verbose and hasattr(sys, "gettotalrefcount"):
         import gc
         counts = [None] * 5
         for i in range(len(counts)):
-            test_support.run_doctest(test_dictcomps, verbose)
+            support.run_doctest(test_dictcomps, verbose)
             gc.collect()
             counts[i] = sys.gettotalrefcount()
         print(counts)
diff --git a/Lib/test/test_dictviews.py b/Lib/test/test_dictviews.py
index 3a5fce6..34883d2 100644
--- a/Lib/test/test_dictviews.py
+++ b/Lib/test/test_dictviews.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 
 class DictSetTest(unittest.TestCase):
 
@@ -70,7 +70,7 @@
         self.assertEqual(len(values), 2)
 
 def test_main():
-    test_support.run_unittest(DictSetTest)
+    support.run_unittest(DictSetTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_difflib.py b/Lib/test/test_difflib.py
index b5168dd..8425a20 100644
--- a/Lib/test/test_difflib.py
+++ b/Lib/test/test_difflib.py
@@ -1,5 +1,5 @@
 import difflib
-from test.test_support import run_unittest, findfile
+from test.support import run_unittest, findfile
 import unittest
 import doctest
 import sys
diff --git a/Lib/test/test_dis.py b/Lib/test/test_dis.py
index ceb7509..cf62ecf 100644
--- a/Lib/test/test_dis.py
+++ b/Lib/test/test_dis.py
@@ -1,6 +1,6 @@
 # Minimal tests for dis module
 
-from test.test_support import run_unittest
+from test.support import run_unittest
 import unittest
 import sys
 import dis
diff --git a/Lib/test/test_distutils.py b/Lib/test/test_distutils.py
index fcd792d..94e59bc 100644
--- a/Lib/test/test_distutils.py
+++ b/Lib/test/test_distutils.py
@@ -6,11 +6,11 @@
 """
 
 import distutils.tests
-import test.test_support
+import test.support
 
 
 def test_main():
-    test.test_support.run_unittest(distutils.tests.test_suite())
+    test.support.run_unittest(distutils.tests.test_suite())
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_doctest.py b/Lib/test/test_doctest.py
index af70162..f07da75 100644
--- a/Lib/test/test_doctest.py
+++ b/Lib/test/test_doctest.py
@@ -2,7 +2,7 @@
 Test script for doctest.
 """
 
-from test import test_support
+from test import support
 import doctest
 import warnings
 
@@ -2291,10 +2291,10 @@
 
 def test_main():
     # Check the doctest cases in doctest itself:
-    test_support.run_doctest(doctest, verbosity=True)
+    support.run_doctest(doctest, verbosity=True)
     # Check the doctest cases defined here:
     from test import test_doctest
-    test_support.run_doctest(test_doctest, verbosity=True)
+    support.run_doctest(test_doctest, verbosity=True)
 
 import trace, sys, re, io
 def test_coverage(coverdir):
diff --git a/Lib/test/test_doctest2.py b/Lib/test/test_doctest2.py
index eb39ab9..86334d7 100644
--- a/Lib/test/test_doctest2.py
+++ b/Lib/test/test_doctest2.py
@@ -12,7 +12,7 @@
 
 """
 
-from test import test_support
+from test import support
 
 class C(object):
     """Class C.
@@ -107,9 +107,9 @@
 def test_main():
     from test import test_doctest2
     EXPECTED = 19
-    f, t = test_support.run_doctest(test_doctest2)
+    f, t = support.run_doctest(test_doctest2)
     if t != EXPECTED:
-        raise test_support.TestFailed("expected %d tests to run, not %d" %
+        raise support.TestFailed("expected %d tests to run, not %d" %
                                       (EXPECTED, t))
 
 # Pollute the namespace with a bunch of imported functions and classes,
diff --git a/Lib/test/test_docxmlrpc.py b/Lib/test/test_docxmlrpc.py
index c9984b3..2af2071 100644
--- a/Lib/test/test_docxmlrpc.py
+++ b/Lib/test/test_docxmlrpc.py
@@ -1,6 +1,6 @@
 from DocXMLRPCServer import DocXMLRPCServer
 import httplib
-from test import test_support
+from test import support
 import threading
 import time
 import unittest
@@ -145,7 +145,7 @@
             response.read())
 
 def test_main():
-    test_support.run_unittest(DocXMLRPCHTTPGETServer)
+    support.run_unittest(DocXMLRPCHTTPGETServer)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_dumbdbm.py b/Lib/test/test_dumbdbm.py
index 9a2cb68..24c178f 100644
--- a/Lib/test/test_dumbdbm.py
+++ b/Lib/test/test_dumbdbm.py
@@ -7,9 +7,9 @@
 import os
 import unittest
 import dumbdbm
-from test import test_support
+from test import support
 
-_fname = test_support.TESTFN
+_fname = support.TESTFN
 
 def _delete_files():
     for ext in [".dir", ".dat", ".bak"]:
@@ -177,7 +177,7 @@
 
 def test_main():
     try:
-        test_support.run_unittest(DumbDBMTestCase)
+        support.run_unittest(DumbDBMTestCase)
     finally:
         _delete_files()
 
diff --git a/Lib/test/test_dummy_thread.py b/Lib/test/test_dummy_thread.py
index 5910458..585711f 100644
--- a/Lib/test/test_dummy_thread.py
+++ b/Lib/test/test_dummy_thread.py
@@ -10,7 +10,7 @@
 import queue
 import random
 import unittest
-from test import test_support
+from test import support
 
 DELAY = 0 # Set > 0 when testing a module other than dummy_thread, such as
           # the 'thread' module.
@@ -71,13 +71,13 @@
         self.lock.acquire()
         start_time = int(time.time())
         _thread.start_new_thread(delay_unlock,(self.lock, DELAY))
-        if test_support.verbose:
+        if support.verbose:
             print()
             print("*** Waiting for thread to release the lock "\
             "(approx. %s sec.) ***" % DELAY)
         self.lock.acquire()
         end_time = int(time.time())
-        if test_support.verbose:
+        if support.verbose:
             print("done")
         self.failUnless((end_time - start_time) >= DELAY,
                         "Blocking by unconditional acquiring failed.")
@@ -149,7 +149,7 @@
 
         thread_count = 5
         testing_queue = queue.Queue(thread_count)
-        if test_support.verbose:
+        if support.verbose:
             print()
             print("*** Testing multiple thread creation "\
             "(will take approx. %s to %s sec.) ***" % (DELAY, thread_count))
@@ -161,7 +161,7 @@
             _thread.start_new_thread(queue_mark,
                                      (testing_queue, local_delay))
         time.sleep(DELAY)
-        if test_support.verbose:
+        if support.verbose:
             print('done')
         self.failUnless(testing_queue.qsize() == thread_count,
                         "Not all %s threads executed properly after %s sec." %
@@ -172,10 +172,10 @@
     if imported_module:
         _thread = imported_module
         DELAY = 2
-    if test_support.verbose:
+    if support.verbose:
         print()
         print("*** Using %s as _thread module ***" % _thread)
-    test_support.run_unittest(LockTests, MiscTests, ThreadTests)
+    support.run_unittest(LockTests, MiscTests, ThreadTests)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_dummy_threading.py b/Lib/test/test_dummy_threading.py
index 2d0dadd..4e983ce 100644
--- a/Lib/test/test_dummy_threading.py
+++ b/Lib/test/test_dummy_threading.py
@@ -1,4 +1,4 @@
-from test import test_support
+from test import support
 import unittest
 import dummy_threading as _threading
 import time
@@ -15,20 +15,20 @@
             # module.
             #delay = random.random() * 2
             delay = 0
-            if test_support.verbose:
+            if support.verbose:
                 print('task', self.getName(), 'will run for', delay, 'sec')
             sema.acquire()
             mutex.acquire()
             running += 1
-            if test_support.verbose:
+            if support.verbose:
                 print(running, 'tasks are running')
             mutex.release()
             time.sleep(delay)
-            if test_support.verbose:
+            if support.verbose:
                 print('task', self.getName(), 'done')
             mutex.acquire()
             running -= 1
-            if test_support.verbose:
+            if support.verbose:
                 print(self.getName(), 'is finished.', running, 'tasks are running')
             mutex.release()
             sema.release()
@@ -49,15 +49,15 @@
             self.threads.append(t)
             t.start()
 
-        if test_support.verbose:
+        if support.verbose:
             print('waiting for all tasks to complete')
         for t in self.threads:
             t.join()
-        if test_support.verbose:
+        if support.verbose:
             print('all tasks done')
 
 def test_main():
-    test_support.run_unittest(DummyThreadingTestCase)
+    support.run_unittest(DummyThreadingTestCase)
 
 
 if __name__ == '__main__':
diff --git a/Lib/test/test_email.py b/Lib/test/test_email.py
index e12cbd3..f0a18e7 100644
--- a/Lib/test/test_email.py
+++ b/Lib/test/test_email.py
@@ -3,10 +3,10 @@
 
 # The specific tests now live in Lib/email/test
 from email.test.test_email import suite
-from test import test_support
+from test import support
 
 def test_main():
-    test_support.run_unittest(suite())
+    support.run_unittest(suite())
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_enumerate.py b/Lib/test/test_enumerate.py
index f5c5689..cdb9e7e 100644
--- a/Lib/test/test_enumerate.py
+++ b/Lib/test/test_enumerate.py
@@ -1,7 +1,7 @@
 import unittest
 import sys
 
-from test import test_support
+from test import support
 
 class G:
     'Sequence using __getitem__'
@@ -215,14 +215,14 @@
 def test_main(verbose=None):
     testclasses = (EnumerateTestCase, SubclassTestCase, TestEmpty, TestBig,
                    TestReversed)
-    test_support.run_unittest(*testclasses)
+    support.run_unittest(*testclasses)
 
     # verify reference counting
     import sys
     if verbose and hasattr(sys, "gettotalrefcount"):
         counts = [None] * 5
         for i in range(len(counts)):
-            test_support.run_unittest(*testclasses)
+            support.run_unittest(*testclasses)
             counts[i] = sys.gettotalrefcount()
         print(counts)
 
diff --git a/Lib/test/test_eof.py b/Lib/test/test_eof.py
index 91fd845..4e37560 100644
--- a/Lib/test/test_eof.py
+++ b/Lib/test/test_eof.py
@@ -2,7 +2,7 @@
 """test script for a few new invalid token catches"""
 
 import unittest
-from test import test_support
+from test import support
 
 class EOFTestCase(unittest.TestCase):
     def test_EOFC(self):
@@ -13,7 +13,7 @@
         except SyntaxError as msg:
             self.assertEqual(str(msg), expect)
         else:
-            raise test_support.TestFailed
+            raise support.TestFailed
 
     def test_EOFS(self):
         expect = ("EOF while scanning triple-quoted string literal "
@@ -23,10 +23,10 @@
         except SyntaxError as msg:
             self.assertEqual(str(msg), expect)
         else:
-            raise test_support.TestFailed
+            raise support.TestFailed
 
 def test_main():
-    test_support.run_unittest(EOFTestCase)
+    support.run_unittest(EOFTestCase)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_epoll.py b/Lib/test/test_epoll.py
index 1e30d61..b1ca322 100644
--- a/Lib/test/test_epoll.py
+++ b/Lib/test/test_epoll.py
@@ -29,15 +29,15 @@
 import tempfile
 import unittest
 
-from test import test_support
+from test import support
 if not hasattr(select, "epoll"):
-    raise test_support.TestSkipped("test works only on Linux 2.6")
+    raise support.TestSkipped("test works only on Linux 2.6")
 
 try:
     select.epoll()
 except IOError as e:
     if e.errno == errno.ENOSYS:
-        raise test_support.TestSkipped("kernel doesn't support epoll()")
+        raise support.TestSkipped("kernel doesn't support epoll()")
 
 class TestEPoll(unittest.TestCase):
 
@@ -189,7 +189,7 @@
         ep.unregister(fd)
 
 def test_main():
-    test_support.run_unittest(TestEPoll)
+    support.run_unittest(TestEPoll)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_errno.py b/Lib/test/test_errno.py
index 3077191..28425e2 100755
--- a/Lib/test/test_errno.py
+++ b/Lib/test/test_errno.py
@@ -4,7 +4,7 @@
 """
 
 import errno
-from test import test_support
+from test import support
 import unittest
 
 std_c_errors = frozenset(['EDOM', 'ERANGE'])
@@ -33,7 +33,7 @@
 
 
 def test_main():
-    test_support.run_unittest(ErrnoAttributeTests, ErrorcodeTests)
+    support.run_unittest(ErrnoAttributeTests, ErrorcodeTests)
 
 
 if __name__ == '__main__':
diff --git a/Lib/test/test_exception_variations.py b/Lib/test/test_exception_variations.py
index 5bcb8fc..11f5e5c 100644
--- a/Lib/test/test_exception_variations.py
+++ b/Lib/test/test_exception_variations.py
@@ -1,5 +1,5 @@
 
-from test.test_support import run_unittest
+from test.support import run_unittest
 import unittest
 
 class ExceptionTestCase(unittest.TestCase):
diff --git a/Lib/test/test_exceptions.py b/Lib/test/test_exceptions.py
index 0574356..619b7e3 100644
--- a/Lib/test/test_exceptions.py
+++ b/Lib/test/test_exceptions.py
@@ -6,7 +6,7 @@
 import pickle
 import weakref
 
-from test.test_support import TESTFN, unlink, run_unittest
+from test.support import TESTFN, unlink, run_unittest
 
 # XXX This is not really enough, each *operation* should be tested!
 
diff --git a/Lib/test/test_extcall.py b/Lib/test/test_extcall.py
index 3cf7ac2..7ed0e2e 100644
--- a/Lib/test/test_extcall.py
+++ b/Lib/test/test_extcall.py
@@ -11,10 +11,10 @@
     ...     print(a, b)
 
     >>> def f(*a, **k):
-    ...     print(a, test_support.sortdict(k))
+    ...     print(a, support.sortdict(k))
 
     >>> def g(x, *y, **z):
-    ...     print(x, y, test_support.sortdict(z))
+    ...     print(x, y, support.sortdict(z))
 
     >>> def h(j=1, a=2, h=3):
     ...     print(j, a, h)
@@ -245,11 +245,11 @@
 
 """
 
-from test import test_support
+from test import support
 
 def test_main():
     from test import test_extcall # self import
-    test_support.run_doctest(test_extcall, True)
+    support.run_doctest(test_extcall, True)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_fcntl.py b/Lib/test/test_fcntl.py
index 1369612..afb511c 100755
--- a/Lib/test/test_fcntl.py
+++ b/Lib/test/test_fcntl.py
@@ -8,7 +8,7 @@
 import struct
 import sys
 import unittest
-from test.test_support import verbose, TESTFN, unlink, run_unittest
+from test.support import verbose, TESTFN, unlink, run_unittest
 
 # TODO - Write tests for flock() and lockf().
 
diff --git a/Lib/test/test_file.py b/Lib/test/test_file.py
index 5102de3..ff4996a 100644
--- a/Lib/test/test_file.py
+++ b/Lib/test/test_file.py
@@ -4,7 +4,7 @@
 from array import array
 from weakref import proxy
 
-from test.test_support import TESTFN, findfile, run_unittest
+from test.support import TESTFN, findfile, run_unittest
 from collections import UserList
 
 class AutoFileTests(unittest.TestCase):
diff --git a/Lib/test/test_filecmp.py b/Lib/test/test_filecmp.py
index 53b949d..22f0be7 100644
--- a/Lib/test/test_filecmp.py
+++ b/Lib/test/test_filecmp.py
@@ -1,13 +1,13 @@
 
 import os, filecmp, shutil, tempfile, shutil
 import unittest
-from test import test_support
+from test import support
 
 class FileCompareTestCase(unittest.TestCase):
     def setUp(self):
-        self.name = test_support.TESTFN
-        self.name_same = test_support.TESTFN + '-same'
-        self.name_diff = test_support.TESTFN + '-diff'
+        self.name = support.TESTFN
+        self.name_same = support.TESTFN + '-same'
+        self.name_diff = support.TESTFN + '-diff'
         data = 'Contents of file go here.\n'
         for name in [self.name, self.name_same, self.name_diff]:
             output = open(name, 'w')
@@ -128,7 +128,7 @@
 
 
 def test_main():
-    test_support.run_unittest(FileCompareTestCase, DirCompareTestCase)
+    support.run_unittest(FileCompareTestCase, DirCompareTestCase)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_fileinput.py b/Lib/test/test_fileinput.py
index 76a41a6..a4d59e1 100644
--- a/Lib/test/test_fileinput.py
+++ b/Lib/test/test_fileinput.py
@@ -4,8 +4,8 @@
 '''
 
 import unittest
-from test.test_support import verbose, TESTFN, run_unittest
-from test.test_support import unlink as safe_unlink
+from test.support import verbose, TESTFN, run_unittest
+from test.support import unlink as safe_unlink
 import sys, re
 from io import StringIO
 from fileinput import FileInput, hook_encoded
diff --git a/Lib/test/test_fileio.py b/Lib/test/test_fileio.py
index 2f9c23f..c94ceaf 100644
--- a/Lib/test/test_fileio.py
+++ b/Lib/test/test_fileio.py
@@ -6,7 +6,7 @@
 from array import array
 from weakref import proxy
 
-from test.test_support import TESTFN, findfile, run_unittest
+from test.support import TESTFN, findfile, run_unittest
 from collections import UserList
 
 import _fileio
diff --git a/Lib/test/test_float.py b/Lib/test/test_float.py
index 5653c16..d17400c 100644
--- a/Lib/test/test_float.py
+++ b/Lib/test/test_float.py
@@ -1,7 +1,7 @@
 
 import unittest, struct
 import os
-from test import test_support
+from test import support
 import math
 from math import isinf, isnan
 import operator
@@ -28,7 +28,7 @@
             # Implementation limitation in PyFloat_FromString()
             self.assertRaises(ValueError, float, unicode("1"*10000))
 
-    @test_support.run_with_locale('LC_NUMERIC', 'fr_FR', 'de_DE')
+    @support.run_with_locale('LC_NUMERIC', 'fr_FR', 'de_DE')
     def test_float_with_comma(self):
         # set locale to something that doesn't use '.' for the decimal point
         # float must not accept the locale specific decimal point but
@@ -361,7 +361,7 @@
 
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         FormatFunctionsTestCase,
         UnknownFormatTestCase,
         IEEEFormatTestCase,
diff --git a/Lib/test/test_fnmatch.py b/Lib/test/test_fnmatch.py
index 9abcbd6..c593704 100644
--- a/Lib/test/test_fnmatch.py
+++ b/Lib/test/test_fnmatch.py
@@ -1,6 +1,6 @@
 """Test cases for the fnmatch module."""
 
-from test import test_support
+from test import support
 import unittest
 
 from fnmatch import fnmatch, fnmatchcase
@@ -39,7 +39,7 @@
 
 
 def test_main():
-    test_support.run_unittest(FnmatchTestCase)
+    support.run_unittest(FnmatchTestCase)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_fork1.py b/Lib/test/test_fork1.py
index 221a14d..e6d9eed 100644
--- a/Lib/test/test_fork1.py
+++ b/Lib/test/test_fork1.py
@@ -4,7 +4,7 @@
 import os
 import time
 from test.fork_wait import ForkWait
-from test.test_support import TestSkipped, run_unittest, reap_children
+from test.support import TestSkipped, run_unittest, reap_children
 
 try:
     os.fork
diff --git a/Lib/test/test_format.py b/Lib/test/test_format.py
index cbb7be8..fb91475 100644
--- a/Lib/test/test_format.py
+++ b/Lib/test/test_format.py
@@ -1,9 +1,9 @@
-from test.test_support import verbose, TestFailed
+from test.support import verbose, TestFailed
 import sys
-import test.test_support as test_support
+import test.support as support
 import unittest
 
-maxsize = test_support.MAX_Py_ssize_t
+maxsize = support.MAX_Py_ssize_t
 
 # test string formatting operator (I am not sure if this is being tested
 # elsewhere but, surely, some of the given cases are *not* tested because
@@ -256,7 +256,7 @@
                 raise TestFailed('"%*d"%(maxsize, -127) should fail')
 
 def test_main():
-    test_support.run_unittest(FormatTest)
+    support.run_unittest(FormatTest)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_fractions.py b/Lib/test/test_fractions.py
index 21c1761..d06c206 100644
--- a/Lib/test/test_fractions.py
+++ b/Lib/test/test_fractions.py
@@ -1,7 +1,7 @@
 """Tests for Lib/fractions.py."""
 
 from decimal import Decimal
-from test.test_support import run_unittest
+from test.support import run_unittest
 import math
 import operator
 import fractions
diff --git a/Lib/test/test_frozen.py b/Lib/test/test_frozen.py
index de45b23..545941b 100644
--- a/Lib/test/test_frozen.py
+++ b/Lib/test/test_frozen.py
@@ -1,6 +1,6 @@
 # Test the frozen module defined in frozen.c.
 
-from test.test_support import captured_stdout, run_unittest
+from test.support import captured_stdout, run_unittest
 import unittest
 import sys, os
 
diff --git a/Lib/test/test_ftplib.py b/Lib/test/test_ftplib.py
index 0204c6f..b91588a 100644
--- a/Lib/test/test_ftplib.py
+++ b/Lib/test/test_ftplib.py
@@ -4,9 +4,9 @@
 import time
 
 from unittest import TestCase
-from test import test_support
+from test import support
 
-HOST = test_support.HOST
+HOST = support.HOST
 
 # This function sets the evt 3 times:
 #  1) when the connection is ready to be accepted.
@@ -37,7 +37,7 @@
         self.evt = threading.Event()
         self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         self.sock.settimeout(3)
-        self.port = test_support.bind_port(self.sock)
+        self.port = support.bind_port(self.sock)
         threading.Thread(target=server, args=(self.evt,self.sock)).start()
         # Wait for the server to be ready.
         self.evt.wait()
@@ -106,7 +106,7 @@
 
 
 def test_main(verbose=None):
-    test_support.run_unittest(GeneralTests)
+    support.run_unittest(GeneralTests)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_funcattrs.py b/Lib/test/test_funcattrs.py
index 7385f96..5e9f7d3 100644
--- a/Lib/test/test_funcattrs.py
+++ b/Lib/test/test_funcattrs.py
@@ -1,4 +1,4 @@
-from test import test_support
+from test import support
 import types
 import unittest
 
@@ -225,7 +225,7 @@
         self.assertEqual(self.b.__doc__, None)
 
 def test_main():
-    test_support.run_unittest(FunctionPropertiesTest, ImplicitReferencesTest,
+    support.run_unittest(FunctionPropertiesTest, ImplicitReferencesTest,
                               ArbitraryFunctionAttrTest, FunctionDictsTest,
                               FunctionDocstringTest)
 
diff --git a/Lib/test/test_functools.py b/Lib/test/test_functools.py
index a1e5d13..84e974a 100644
--- a/Lib/test/test_functools.py
+++ b/Lib/test/test_functools.py
@@ -1,6 +1,6 @@
 import functools
 import unittest
-from test import test_support
+from test import support
 from weakref import proxy
 
 @staticmethod
@@ -347,14 +347,14 @@
         TestWraps,
         TestReduce
     )
-    test_support.run_unittest(*test_classes)
+    support.run_unittest(*test_classes)
 
     # verify reference counting
     if verbose and hasattr(sys, "gettotalrefcount"):
         import gc
         counts = [None] * 5
         for i in range(len(counts)):
-            test_support.run_unittest(*test_classes)
+            support.run_unittest(*test_classes)
             gc.collect()
             counts[i] = sys.gettotalrefcount()
         print(counts)
diff --git a/Lib/test/test_future.py b/Lib/test/test_future.py
index 1437489..494f539 100644
--- a/Lib/test/test_future.py
+++ b/Lib/test/test_future.py
@@ -1,7 +1,7 @@
 # Test various flavors of legal and illegal future statements
 
 import unittest
-from test import test_support
+from test import support
 import re
 
 rx = re.compile('\((\S+).py, line (\d+)')
@@ -13,17 +13,17 @@
 class FutureTest(unittest.TestCase):
 
     def test_future1(self):
-        test_support.unload('test_future1')
+        support.unload('test_future1')
         from test import test_future1
         self.assertEqual(test_future1.result, 6)
 
     def test_future2(self):
-        test_support.unload('test_future2')
+        support.unload('test_future2')
         from test import test_future2
         self.assertEqual(test_future2.result, 6)
 
     def test_future3(self):
-        test_support.unload('test_future3')
+        support.unload('test_future3')
         from test import test_future3
 
     def test_badfuture3(self):
@@ -104,7 +104,7 @@
 
 
 def test_main():
-    test_support.run_unittest(FutureTest)
+    support.run_unittest(FutureTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_future3.py b/Lib/test/test_future3.py
index ed23567..b1552a5 100644
--- a/Lib/test/test_future3.py
+++ b/Lib/test/test_future3.py
@@ -2,7 +2,7 @@
 from __future__ import division
 
 import unittest
-from test import test_support
+from test import support
 
 x = 2
 def nester():
@@ -24,7 +24,7 @@
         self.assertEqual(nester(), 3)
 
 def test_main():
-    test_support.run_unittest(TestFuture)
+    support.run_unittest(TestFuture)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_future4.py b/Lib/test/test_future4.py
index 8ada489..c32f27f 100644
--- a/Lib/test/test_future4.py
+++ b/Lib/test/test_future4.py
@@ -1,7 +1,7 @@
 from __future__ import unicode_literals
 
 import unittest
-from test import test_support
+from test import support
 
 def test_main():
     pass
diff --git a/Lib/test/test_gc.py b/Lib/test/test_gc.py
index 9d5e0ea..414e17a 100644
--- a/Lib/test/test_gc.py
+++ b/Lib/test/test_gc.py
@@ -1,5 +1,5 @@
 import unittest
-from test.test_support import verbose, run_unittest
+from test.support import verbose, run_unittest
 import sys
 import gc
 import weakref
diff --git a/Lib/test/test_gdbm.py b/Lib/test/test_gdbm.py
index 17a7f63..42cb136 100755
--- a/Lib/test/test_gdbm.py
+++ b/Lib/test/test_gdbm.py
@@ -1,7 +1,7 @@
 import gdbm
 import unittest
 import os
-from test.test_support import verbose, TESTFN, run_unittest, unlink
+from test.support import verbose, TESTFN, run_unittest, unlink
 
 
 filename = TESTFN
diff --git a/Lib/test/test_generators.py b/Lib/test/test_generators.py
index 56f23db..8f2da7d 100644
--- a/Lib/test/test_generators.py
+++ b/Lib/test/test_generators.py
@@ -1885,8 +1885,8 @@
 # Note that doctest and regrtest both look in sys.argv for a "-v" argument,
 # so this works as expected in both ways of running regrtest.
 def test_main(verbose=None):
-    from test import test_support, test_generators
-    test_support.run_doctest(test_generators, verbose)
+    from test import support, test_generators
+    support.run_doctest(test_generators, verbose)
 
 # This part isn't needed for regrtest, but for running the test directly.
 if __name__ == "__main__":
diff --git a/Lib/test/test_genericpath.py b/Lib/test/test_genericpath.py
index d912714..9d0baeb 100644
--- a/Lib/test/test_genericpath.py
+++ b/Lib/test/test_genericpath.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 import os
 import genericpath
 
@@ -27,114 +27,114 @@
         )
 
     def test_getsize(self):
-        f = open(test_support.TESTFN, "wb")
+        f = open(support.TESTFN, "wb")
         try:
             f.write(b"foo")
             f.close()
-            self.assertEqual(genericpath.getsize(test_support.TESTFN), 3)
+            self.assertEqual(genericpath.getsize(support.TESTFN), 3)
         finally:
             if not f.closed:
                 f.close()
-            os.remove(test_support.TESTFN)
+            os.remove(support.TESTFN)
 
     def test_time(self):
-        f = open(test_support.TESTFN, "wb")
+        f = open(support.TESTFN, "wb")
         try:
             f.write(b"foo")
             f.close()
-            f = open(test_support.TESTFN, "ab")
+            f = open(support.TESTFN, "ab")
             f.write(b"bar")
             f.close()
-            f = open(test_support.TESTFN, "rb")
+            f = open(support.TESTFN, "rb")
             d = f.read()
             f.close()
             self.assertEqual(d, b"foobar")
 
             self.assert_(
-                genericpath.getctime(test_support.TESTFN) <=
-                genericpath.getmtime(test_support.TESTFN)
+                genericpath.getctime(support.TESTFN) <=
+                genericpath.getmtime(support.TESTFN)
             )
         finally:
             if not f.closed:
                 f.close()
-            os.remove(test_support.TESTFN)
+            os.remove(support.TESTFN)
 
     def test_exists(self):
-        self.assertIs(genericpath.exists(test_support.TESTFN), False)
-        f = open(test_support.TESTFN, "wb")
+        self.assertIs(genericpath.exists(support.TESTFN), False)
+        f = open(support.TESTFN, "wb")
         try:
             f.write(b"foo")
             f.close()
-            self.assertIs(genericpath.exists(test_support.TESTFN), True)
+            self.assertIs(genericpath.exists(support.TESTFN), True)
         finally:
             if not f.close():
                 f.close()
             try:
-                os.remove(test_support.TESTFN)
+                os.remove(support.TESTFN)
             except os.error:
                 pass
 
         self.assertRaises(TypeError, genericpath.exists)
 
     def test_isdir(self):
-        self.assertIs(genericpath.isdir(test_support.TESTFN), False)
-        f = open(test_support.TESTFN, "wb")
+        self.assertIs(genericpath.isdir(support.TESTFN), False)
+        f = open(support.TESTFN, "wb")
         try:
             f.write(b"foo")
             f.close()
-            self.assertIs(genericpath.isdir(test_support.TESTFN), False)
-            os.remove(test_support.TESTFN)
-            os.mkdir(test_support.TESTFN)
-            self.assertIs(genericpath.isdir(test_support.TESTFN), True)
-            os.rmdir(test_support.TESTFN)
+            self.assertIs(genericpath.isdir(support.TESTFN), False)
+            os.remove(support.TESTFN)
+            os.mkdir(support.TESTFN)
+            self.assertIs(genericpath.isdir(support.TESTFN), True)
+            os.rmdir(support.TESTFN)
         finally:
             if not f.close():
                 f.close()
             try:
-                os.remove(test_support.TESTFN)
+                os.remove(support.TESTFN)
             except os.error:
                 pass
             try:
-                os.rmdir(test_support.TESTFN)
+                os.rmdir(support.TESTFN)
             except os.error:
                 pass
 
         self.assertRaises(TypeError, genericpath.isdir)
 
     def test_isfile(self):
-        self.assertIs(genericpath.isfile(test_support.TESTFN), False)
-        f = open(test_support.TESTFN, "wb")
+        self.assertIs(genericpath.isfile(support.TESTFN), False)
+        f = open(support.TESTFN, "wb")
         try:
             f.write(b"foo")
             f.close()
-            self.assertIs(genericpath.isfile(test_support.TESTFN), True)
-            os.remove(test_support.TESTFN)
-            os.mkdir(test_support.TESTFN)
-            self.assertIs(genericpath.isfile(test_support.TESTFN), False)
-            os.rmdir(test_support.TESTFN)
+            self.assertIs(genericpath.isfile(support.TESTFN), True)
+            os.remove(support.TESTFN)
+            os.mkdir(support.TESTFN)
+            self.assertIs(genericpath.isfile(support.TESTFN), False)
+            os.rmdir(support.TESTFN)
         finally:
             if not f.close():
                 f.close()
             try:
-                os.remove(test_support.TESTFN)
+                os.remove(support.TESTFN)
             except os.error:
                 pass
             try:
-                os.rmdir(test_support.TESTFN)
+                os.rmdir(support.TESTFN)
             except os.error:
                 pass
 
         self.assertRaises(TypeError, genericpath.isdir)
 
         def test_samefile(self):
-            f = open(test_support.TESTFN + "1", "wb")
+            f = open(support.TESTFN + "1", "wb")
             try:
                 f.write(b"foo")
                 f.close()
                 self.assertIs(
                     genericpath.samefile(
-                        test_support.TESTFN + "1",
-                        test_support.TESTFN + "1"
+                        support.TESTFN + "1",
+                        support.TESTFN + "1"
                     ),
                     True
                 )
@@ -142,24 +142,24 @@
                 # inode information and thus, that samefile() doesn't work
                 if hasattr(os, "symlink"):
                     os.symlink(
-                        test_support.TESTFN + "1",
-                        test_support.TESTFN + "2"
+                        support.TESTFN + "1",
+                        support.TESTFN + "2"
                     )
                     self.assertIs(
                         genericpath.samefile(
-                            test_support.TESTFN + "1",
-                            test_support.TESTFN + "2"
+                            support.TESTFN + "1",
+                            support.TESTFN + "2"
                         ),
                         True
                     )
-                    os.remove(test_support.TESTFN + "2")
-                    f = open(test_support.TESTFN + "2", "wb")
+                    os.remove(support.TESTFN + "2")
+                    f = open(support.TESTFN + "2", "wb")
                     f.write(b"bar")
                     f.close()
                     self.assertIs(
                         genericpath.samefile(
-                            test_support.TESTFN + "1",
-                            test_support.TESTFN + "2"
+                            support.TESTFN + "1",
+                            support.TESTFN + "2"
                         ),
                         False
                     )
@@ -167,18 +167,18 @@
                 if not f.close():
                     f.close()
                 try:
-                    os.remove(test_support.TESTFN + "1")
+                    os.remove(support.TESTFN + "1")
                 except os.error:
                     pass
                 try:
-                    os.remove(test_support.TESTFN + "2")
+                    os.remove(support.TESTFN + "2")
                 except os.error:
                     pass
 
             self.assertRaises(TypeError, genericpath.samefile)
 
 def test_main():
-    test_support.run_unittest(AllCommonTest)
+    support.run_unittest(AllCommonTest)
 
 if __name__=="__main__":
     test_main()
diff --git a/Lib/test/test_genexps.py b/Lib/test/test_genexps.py
index 593c1c5..61e9fe5 100644
--- a/Lib/test/test_genexps.py
+++ b/Lib/test/test_genexps.py
@@ -262,16 +262,16 @@
 
 def test_main(verbose=None):
     import sys
-    from test import test_support
+    from test import support
     from test import test_genexps
-    test_support.run_doctest(test_genexps, verbose)
+    support.run_doctest(test_genexps, verbose)
 
     # verify reference counting
     if verbose and hasattr(sys, "gettotalrefcount"):
         import gc
         counts = [None] * 5
         for i in range(len(counts)):
-            test_support.run_doctest(test_genexps, verbose)
+            support.run_doctest(test_genexps, verbose)
             gc.collect()
             counts[i] = sys.gettotalrefcount()
         print(counts)
diff --git a/Lib/test/test_getargs2.py b/Lib/test/test_getargs2.py
index 69791e8..34d8ee0 100644
--- a/Lib/test/test_getargs2.py
+++ b/Lib/test/test_getargs2.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 from _testcapi import getargs_keywords
 
 import warnings
@@ -306,7 +306,7 @@
         pass # PY_LONG_LONG not available
     else:
         tests.append(LongLong_TestCase)
-    test_support.run_unittest(*tests)
+    support.run_unittest(*tests)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_getopt.py b/Lib/test/test_getopt.py
index 36d1688..de3325d 100644
--- a/Lib/test/test_getopt.py
+++ b/Lib/test/test_getopt.py
@@ -1,7 +1,7 @@
 # test_getopt.py
 # David Goodger <dgoodger@bigfoot.com> 2000-08-19
 
-from test.test_support import verbose, run_doctest, run_unittest
+from test.support import verbose, run_doctest, run_unittest
 import unittest
 
 import getopt
diff --git a/Lib/test/test_gettext.py b/Lib/test/test_gettext.py
index a875272..73c9c1c 100644
--- a/Lib/test/test_gettext.py
+++ b/Lib/test/test_gettext.py
@@ -4,7 +4,7 @@
 import gettext
 import unittest
 
-from test import test_support
+from test import support
 
 
 # TODO:
@@ -338,7 +338,7 @@
 
 
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_glob.py b/Lib/test/test_glob.py
index a628e6e..adaea18 100644
--- a/Lib/test/test_glob.py
+++ b/Lib/test/test_glob.py
@@ -1,5 +1,5 @@
 import unittest
-from test.test_support import run_unittest, TESTFN
+from test.support import run_unittest, TESTFN
 import glob
 import os
 import shutil
diff --git a/Lib/test/test_global.py b/Lib/test/test_global.py
index 2a58a10..823f2c5 100644
--- a/Lib/test/test_global.py
+++ b/Lib/test/test_global.py
@@ -1,6 +1,6 @@
 """Verify that warnings are issued for global statements following use."""
 
-from test.test_support import run_unittest, check_syntax_error
+from test.support import run_unittest, check_syntax_error
 import unittest
 
 import warnings
diff --git a/Lib/test/test_grammar.py b/Lib/test/test_grammar.py
index 94b7b31..1a34ff8 100644
--- a/Lib/test/test_grammar.py
+++ b/Lib/test/test_grammar.py
@@ -8,7 +8,7 @@
 # regression test, the filterwarnings() call has been added to
 # regrtest.py.
 
-from test.test_support import run_unittest, check_syntax_error
+from test.support import run_unittest, check_syntax_error
 import unittest
 import sys
 # testing import *
diff --git a/Lib/test/test_grp.py b/Lib/test/test_grp.py
index fb607f0..5acda52 100755
--- a/Lib/test/test_grp.py
+++ b/Lib/test/test_grp.py
@@ -2,7 +2,7 @@
 
 import grp
 import unittest
-from test import test_support
+from test import support
 
 class GroupDatabaseTestCase(unittest.TestCase):
 
@@ -86,7 +86,7 @@
         self.assertRaises(KeyError, grp.getgrgid, fakegid)
 
 def test_main():
-    test_support.run_unittest(GroupDatabaseTestCase)
+    support.run_unittest(GroupDatabaseTestCase)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_gzip.py b/Lib/test/test_gzip.py
index 0010112..c26035b 100644
--- a/Lib/test/test_gzip.py
+++ b/Lib/test/test_gzip.py
@@ -3,7 +3,7 @@
 """
 
 import unittest
-from test import test_support
+from test import support
 import os
 import gzip
 
@@ -22,13 +22,13 @@
 
 
 class TestGzip(unittest.TestCase):
-    filename = test_support.TESTFN
+    filename = support.TESTFN
 
     def setUp (self):
-        test_support.unlink(self.filename)
+        support.unlink(self.filename)
 
     def tearDown (self):
-        test_support.unlink(self.filename)
+        support.unlink(self.filename)
 
 
     def test_write (self):
@@ -158,7 +158,7 @@
             f.close()
 
 def test_main(verbose=None):
-    test_support.run_unittest(TestGzip)
+    support.run_unittest(TestGzip)
 
 if __name__ == "__main__":
     test_main(verbose=True)
diff --git a/Lib/test/test_hash.py b/Lib/test/test_hash.py
index a0364f2..fb1699a 100644
--- a/Lib/test/test_hash.py
+++ b/Lib/test/test_hash.py
@@ -3,7 +3,7 @@
 #
 
 import unittest
-from test import test_support
+from test import support
 
 
 class HashEqualityTestCase(unittest.TestCase):
@@ -38,7 +38,7 @@
 
 
 def test_main():
-    test_support.run_unittest(HashEqualityTestCase)
+    support.run_unittest(HashEqualityTestCase)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_hashlib.py b/Lib/test/test_hashlib.py
index 399e50b..912b133 100644
--- a/Lib/test/test_hashlib.py
+++ b/Lib/test/test_hashlib.py
@@ -8,7 +8,7 @@
 
 import hashlib
 import unittest
-from test import test_support
+from test import support
 
 
 def hexstr(s):
@@ -186,7 +186,7 @@
 
 
 def test_main():
-    test_support.run_unittest(HashLibTestCase)
+    support.run_unittest(HashLibTestCase)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_heapq.py b/Lib/test/test_heapq.py
index 24d2992..e41abf0 100644
--- a/Lib/test/test_heapq.py
+++ b/Lib/test/test_heapq.py
@@ -2,7 +2,7 @@
 
 import random
 import unittest
-from test import test_support
+from test import support
 import sys
 
 # We do a bit of trickery here to be able to test both the C implementation
@@ -353,14 +353,14 @@
     from types import BuiltinFunctionType
 
     test_classes = [TestHeapPython, TestHeapC, TestErrorHandling]
-    test_support.run_unittest(*test_classes)
+    support.run_unittest(*test_classes)
 
     # verify reference counting
     if verbose and hasattr(sys, "gettotalrefcount"):
         import gc
         counts = [None] * 5
         for i in range(len(counts)):
-            test_support.run_unittest(*test_classes)
+            support.run_unittest(*test_classes)
             gc.collect()
             counts[i] = sys.gettotalrefcount()
         print(counts)
diff --git a/Lib/test/test_hmac.py b/Lib/test/test_hmac.py
index 537f298..43953cf 100644
--- a/Lib/test/test_hmac.py
+++ b/Lib/test/test_hmac.py
@@ -2,7 +2,7 @@
 import hashlib
 import unittest
 import warnings
-from test import test_support
+from test import support
 
 class TestVectorsTestCase(unittest.TestCase):
 
@@ -211,7 +211,7 @@
             def digest(self):
                 return self._x.digest()
 
-        with test_support.catch_warning():
+        with support.catch_warning():
             warnings.simplefilter('error', RuntimeWarning)
             try:
                 hmac.HMAC(b'a', b'b', digestmod=MockCrazyHash)
@@ -309,7 +309,7 @@
             "Hexdigest of copy doesn't match original hexdigest.")
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         TestVectorsTestCase,
         ConstructorTestCase,
         SanityTestCase,
diff --git a/Lib/test/test_htmllib.py b/Lib/test/test_htmllib.py
index a20f43b..61f3a13 100644
--- a/Lib/test/test_htmllib.py
+++ b/Lib/test/test_htmllib.py
@@ -2,7 +2,7 @@
 import htmllib
 import unittest
 
-from test import test_support
+from test import support
 
 
 class AnchorCollector(htmllib.HTMLParser):
@@ -62,7 +62,7 @@
                            ])
 
 def test_main():
-    test_support.run_unittest(HTMLParserTestCase)
+    support.run_unittest(HTMLParserTestCase)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_htmlparser.py b/Lib/test/test_htmlparser.py
index a4f2c34..8691cbf 100755
--- a/Lib/test/test_htmlparser.py
+++ b/Lib/test/test_htmlparser.py
@@ -3,7 +3,7 @@
 import HTMLParser
 import pprint
 import unittest
-from test import test_support
+from test import support
 
 
 class EventCollector(HTMLParser.HTMLParser):
@@ -315,7 +315,7 @@
 
 
 def test_main():
-    test_support.run_unittest(HTMLParserTestCase)
+    support.run_unittest(HTMLParserTestCase)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_httplib.py b/Lib/test/test_httplib.py
index f0e551f..7a77cff 100644
--- a/Lib/test/test_httplib.py
+++ b/Lib/test/test_httplib.py
@@ -4,9 +4,9 @@
 
 from unittest import TestCase
 
-from test import test_support
+from test import support
 
-HOST = test_support.HOST
+HOST = support.HOST
 
 class FakeSocket:
     def __init__(self, text, fileclass=io.BytesIO):
@@ -206,7 +206,7 @@
 
     def setUp(self):
         self.serv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-        TimeoutTest.PORT = test_support.bind_port(self.serv)
+        TimeoutTest.PORT = support.bind_port(self.serv)
         self.serv.listen(5)
 
     def tearDown(self):
@@ -252,7 +252,7 @@
             self.assertEqual(h.timeout, 30)
 
 def test_main(verbose=None):
-    test_support.run_unittest(HeaderTests, OfflineTest, BasicTest, TimeoutTest,
+    support.run_unittest(HeaderTests, OfflineTest, BasicTest, TimeoutTest,
                               HTTPSTimeoutTest)
 
 if __name__ == '__main__':
diff --git a/Lib/test/test_imaplib.py b/Lib/test/test_imaplib.py
index ce0e075..2105fc2 100644
--- a/Lib/test/test_imaplib.py
+++ b/Lib/test/test_imaplib.py
@@ -1,7 +1,7 @@
 import imaplib
 import time
 
-from test import test_support
+from test import support
 import unittest
 
 
@@ -18,7 +18,7 @@
 
 
 def test_main():
-    test_support.run_unittest(TestImaplib)
+    support.run_unittest(TestImaplib)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_imp.py b/Lib/test/test_imp.py
index 13a3bfd..e2b9e9a 100644
--- a/Lib/test/test_imp.py
+++ b/Lib/test/test_imp.py
@@ -1,6 +1,6 @@
 import imp
 import unittest
-from test import test_support
+from test import support
 
 
 class LockTests(unittest.TestCase):
@@ -69,7 +69,7 @@
 
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
                 LockTests,
                 ImportTests,
             )
diff --git a/Lib/test/test_import.py b/Lib/test/test_import.py
index 1c9dd3a..81e221d 100644
--- a/Lib/test/test_import.py
+++ b/Lib/test/test_import.py
@@ -1,4 +1,4 @@
-from test.test_support import TESTFN, run_unittest, catch_warning
+from test.support import TESTFN, run_unittest, catch_warning
 
 import unittest
 import os
@@ -8,7 +8,7 @@
 import py_compile
 import warnings
 import imp
-from test.test_support import unlink, TESTFN, unload
+from test.support import unlink, TESTFN, unload
 
 
 def remove_files(name):
@@ -146,13 +146,13 @@
     def test_import_name_binding(self):
         # import x.y.z binds x in the current namespace
         import test as x
-        import test.test_support
+        import test.support
         self.assert_(x is test, x.__name__)
-        self.assert_(hasattr(test.test_support, "__file__"))
+        self.assert_(hasattr(test.support, "__file__"))
 
         # import x.y.z as w binds z as w
-        import test.test_support as y
-        self.assert_(y is test.test_support, y.__name__)
+        import test.support as y
+        self.assert_(y is test.support, y.__name__)
 
     def test_import_initless_directory_warning(self):
         with catch_warning():
diff --git a/Lib/test/test_importhooks.py b/Lib/test/test_importhooks.py
index 3108bd6..eaf213d 100644
--- a/Lib/test/test_importhooks.py
+++ b/Lib/test/test_importhooks.py
@@ -2,7 +2,7 @@
 import imp
 import os
 import unittest
-from test import test_support
+from test import support
 
 
 test_src = """\
@@ -265,7 +265,7 @@
             pass
 
 def test_main():
-    test_support.run_unittest(ImportHooksTestCase)
+    support.run_unittest(ImportHooksTestCase)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_index.py b/Lib/test/test_index.py
index 71cfb15..31609c3 100644
--- a/Lib/test/test_index.py
+++ b/Lib/test/test_index.py
@@ -1,7 +1,7 @@
 import unittest
-from test import test_support
+from test import support
 import operator
-maxsize = test_support.MAX_Py_ssize_t
+maxsize = support.MAX_Py_ssize_t
 minsize = -maxsize-1
 
 class oldstyle:
@@ -193,7 +193,7 @@
 
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         BaseTestCase,
         ListTestCase,
         TupleTestCase,
diff --git a/Lib/test/test_inspect.py b/Lib/test/test_inspect.py
index c62fa55..55fae20 100644
--- a/Lib/test/test_inspect.py
+++ b/Lib/test/test_inspect.py
@@ -6,7 +6,7 @@
 import collections
 from os.path import normcase
 
-from test.test_support import TESTFN, run_unittest
+from test.support import TESTFN, run_unittest
 
 from test import inspect_fodder as mod
 from test import inspect_fodder2 as mod2
diff --git a/Lib/test/test_int.py b/Lib/test/test_int.py
index 91d5273..3462540 100644
--- a/Lib/test/test_int.py
+++ b/Lib/test/test_int.py
@@ -1,7 +1,7 @@
 import sys
 
 import unittest
-from test.test_support import run_unittest
+from test.support import run_unittest
 
 L = [
         ('0', 0),
diff --git a/Lib/test/test_int_literal.py b/Lib/test/test_int_literal.py
index 9bd0c41..1d578a7 100644
--- a/Lib/test/test_int_literal.py
+++ b/Lib/test/test_int_literal.py
@@ -4,7 +4,7 @@
 """
 
 import unittest
-from test import test_support
+from test import support
 
 class TestHexOctBin(unittest.TestCase):
 
@@ -141,7 +141,7 @@
         self.assertEqual(-0b1111111111111111111111111111111111111111111111111111111111111111, -18446744073709551615)
 
 def test_main():
-    test_support.run_unittest(TestHexOctBin)
+    support.run_unittest(TestHexOctBin)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_io.py b/Lib/test/test_io.py
index fa3a8bb..320c7c3 100644
--- a/Lib/test/test_io.py
+++ b/Lib/test/test_io.py
@@ -6,7 +6,7 @@
 import array
 import unittest
 from itertools import chain
-from test import test_support
+from test import support
 
 import codecs
 import io  # The module under test
@@ -80,10 +80,10 @@
 class IOTest(unittest.TestCase):
 
     def setUp(self):
-        test_support.unlink(test_support.TESTFN)
+        support.unlink(support.TESTFN)
 
     def tearDown(self):
-        test_support.unlink(test_support.TESTFN)
+        support.unlink(support.TESTFN)
 
     def write_ops(self, f):
         self.assertEqual(f.write(b"blah."), 5)
@@ -149,13 +149,13 @@
         self.assertEqual(f.read(2), b"x")
 
     def test_raw_file_io(self):
-        f = io.open(test_support.TESTFN, "wb", buffering=0)
+        f = io.open(support.TESTFN, "wb", buffering=0)
         self.assertEqual(f.readable(), False)
         self.assertEqual(f.writable(), True)
         self.assertEqual(f.seekable(), True)
         self.write_ops(f)
         f.close()
-        f = io.open(test_support.TESTFN, "rb", buffering=0)
+        f = io.open(support.TESTFN, "rb", buffering=0)
         self.assertEqual(f.readable(), True)
         self.assertEqual(f.writable(), False)
         self.assertEqual(f.seekable(), True)
@@ -163,13 +163,13 @@
         f.close()
 
     def test_buffered_file_io(self):
-        f = io.open(test_support.TESTFN, "wb")
+        f = io.open(support.TESTFN, "wb")
         self.assertEqual(f.readable(), False)
         self.assertEqual(f.writable(), True)
         self.assertEqual(f.seekable(), True)
         self.write_ops(f)
         f.close()
-        f = io.open(test_support.TESTFN, "rb")
+        f = io.open(support.TESTFN, "rb")
         self.assertEqual(f.readable(), True)
         self.assertEqual(f.writable(), False)
         self.assertEqual(f.seekable(), True)
@@ -177,10 +177,10 @@
         f.close()
 
     def test_readline(self):
-        f = io.open(test_support.TESTFN, "wb")
+        f = io.open(support.TESTFN, "wb")
         f.write(b"abc\ndef\nxyzzy\nfoo")
         f.close()
-        f = io.open(test_support.TESTFN, "rb")
+        f = io.open(support.TESTFN, "rb")
         self.assertEqual(f.readline(), b"abc\n")
         self.assertEqual(f.readline(10), b"def\n")
         self.assertEqual(f.readline(2), b"xy")
@@ -201,7 +201,7 @@
         # a long time to build the >2GB file and takes >2GB of disk space
         # therefore the resource must be enabled to run this test.
         if sys.platform[:3] == 'win' or sys.platform == 'darwin':
-            if not test_support.is_resource_enabled("largefile"):
+            if not support.is_resource_enabled("largefile"):
                 print("\nTesting large file ops skipped on %s." % sys.platform,
                       file=sys.stderr)
                 print("It requires %d bytes and a long time." % self.LARGE,
@@ -209,22 +209,22 @@
                 print("Use 'regrtest.py -u largefile test_io' to run it.",
                       file=sys.stderr)
                 return
-        f = io.open(test_support.TESTFN, "w+b", 0)
+        f = io.open(support.TESTFN, "w+b", 0)
         self.large_file_ops(f)
         f.close()
-        f = io.open(test_support.TESTFN, "w+b")
+        f = io.open(support.TESTFN, "w+b")
         self.large_file_ops(f)
         f.close()
 
     def test_with_open(self):
         for bufsize in (0, 1, 100):
             f = None
-            with open(test_support.TESTFN, "wb", bufsize) as f:
+            with open(support.TESTFN, "wb", bufsize) as f:
                 f.write(b"xxx")
             self.assertEqual(f.closed, True)
             f = None
             try:
-                with open(test_support.TESTFN, "wb", bufsize) as f:
+                with open(support.TESTFN, "wb", bufsize) as f:
                     1/0
             except ZeroDivisionError:
                 self.assertEqual(f.closed, True)
@@ -243,31 +243,31 @@
             def flush(self):
                 record.append(3)
                 io.FileIO.flush(self)
-        f = MyFileIO(test_support.TESTFN, "w")
+        f = MyFileIO(support.TESTFN, "w")
         f.write("xxx")
         del f
         self.assertEqual(record, [1, 2, 3])
 
     def test_close_flushes(self):
-        f = io.open(test_support.TESTFN, "wb")
+        f = io.open(support.TESTFN, "wb")
         f.write(b"xxx")
         f.close()
-        f = io.open(test_support.TESTFN, "rb")
+        f = io.open(support.TESTFN, "rb")
         self.assertEqual(f.read(), b"xxx")
         f.close()
 
     def test_array_writes(self):
         a = array.array('i', range(10))
         n = len(memoryview(a))
-        f = io.open(test_support.TESTFN, "wb", 0)
+        f = io.open(support.TESTFN, "wb", 0)
         self.assertEqual(f.write(a), n)
         f.close()
-        f = io.open(test_support.TESTFN, "wb")
+        f = io.open(support.TESTFN, "wb")
         self.assertEqual(f.write(a), n)
         f.close()
 
     def test_closefd(self):
-        self.assertRaises(ValueError, io.open, test_support.TESTFN, 'w',
+        self.assertRaises(ValueError, io.open, support.TESTFN, 'w',
                           closefd=False)
 
 class MemorySeekTestMixin:
@@ -638,10 +638,10 @@
     def setUp(self):
         self.testdata = b"AAA\r\nBBB\rCCC\r\nDDD\nEEE\r\n"
         self.normalized = b"AAA\nBBB\nCCC\nDDD\nEEE\n".decode("ascii")
-        test_support.unlink(test_support.TESTFN)
+        support.unlink(support.TESTFN)
 
     def tearDown(self):
-        test_support.unlink(test_support.TESTFN)
+        support.unlink(support.TESTFN)
 
     def testLineBuffering(self):
         r = io.BytesIO()
@@ -818,11 +818,11 @@
     def testBasicIO(self):
         for chunksize in (1, 2, 3, 4, 5, 15, 16, 17, 31, 32, 33, 63, 64, 65):
             for enc in "ascii", "latin1", "utf8" :# , "utf-16-be", "utf-16-le":
-                f = io.open(test_support.TESTFN, "w+", encoding=enc)
+                f = io.open(support.TESTFN, "w+", encoding=enc)
                 f._CHUNK_SIZE = chunksize
                 self.assertEquals(f.write("abc"), 3)
                 f.close()
-                f = io.open(test_support.TESTFN, "r+", encoding=enc)
+                f = io.open(support.TESTFN, "r+", encoding=enc)
                 f._CHUNK_SIZE = chunksize
                 self.assertEquals(f.tell(), 0)
                 self.assertEquals(f.read(), "abc")
@@ -865,7 +865,7 @@
         self.assertEquals(rlines, wlines)
 
     def testTelling(self):
-        f = io.open(test_support.TESTFN, "w+", encoding="utf8")
+        f = io.open(support.TESTFN, "w+", encoding="utf8")
         p0 = f.tell()
         f.write("\xff\n")
         p1 = f.tell()
@@ -893,10 +893,10 @@
         u_suffix = "\u8888\n"
         suffix = bytes(u_suffix.encode("utf-8"))
         line = prefix + suffix
-        f = io.open(test_support.TESTFN, "wb")
+        f = io.open(support.TESTFN, "wb")
         f.write(line*2)
         f.close()
-        f = io.open(test_support.TESTFN, "r", encoding="utf-8")
+        f = io.open(support.TESTFN, "r", encoding="utf-8")
         s = f.read(prefix_size)
         self.assertEquals(s, str(prefix, "ascii"))
         self.assertEquals(f.tell(), prefix_size)
@@ -905,10 +905,10 @@
     def testSeekingToo(self):
         # Regression test for a specific bug
         data = b'\xe0\xbf\xbf\n'
-        f = io.open(test_support.TESTFN, "wb")
+        f = io.open(support.TESTFN, "wb")
         f.write(data)
         f.close()
-        f = io.open(test_support.TESTFN, "r", encoding="utf-8")
+        f = io.open(support.TESTFN, "r", encoding="utf-8")
         f._CHUNK_SIZE  # Just test that it exists
         f._CHUNK_SIZE = 2
         f.readline()
@@ -920,16 +920,16 @@
         def testSeekAndTellWithData(data, min_pos=0):
             """Tell/seek to various points within a data stream and ensure
             that the decoded data returned by read() is consistent."""
-            f = io.open(test_support.TESTFN, 'wb')
+            f = io.open(support.TESTFN, 'wb')
             f.write(data)
             f.close()
-            f = io.open(test_support.TESTFN, encoding='test_decoder')
+            f = io.open(support.TESTFN, encoding='test_decoder')
             decoded = f.read()
             f.close()
 
             for i in range(min_pos, len(decoded) + 1): # seek positions
                 for j in [1, 5, len(decoded) - i]: # read lengths
-                    f = io.open(test_support.TESTFN, encoding='test_decoder')
+                    f = io.open(support.TESTFN, encoding='test_decoder')
                     self.assertEquals(f.read(i), decoded[:i])
                     cookie = f.tell()
                     self.assertEquals(f.read(j), decoded[i:i + j])
@@ -985,7 +985,7 @@
         nchars = len(line)
         nbytes = len(line.encode(enc))
         for chunk_size in (32, 64, 128, 256):
-            f = io.open(test_support.TESTFN, "w+", encoding=enc)
+            f = io.open(support.TESTFN, "w+", encoding=enc)
             f._CHUNK_SIZE = chunk_size
             t0 = timer()
             for i in range(nlines):
@@ -1005,7 +1005,7 @@
                 f.tell()
             t4 = timer()
             f.close()
-            if test_support.verbose:
+            if support.verbose:
                 print("\nTiming test: %d lines of %d characters (%d bytes)" %
                       (nlines, nchars, nbytes))
                 print("File chunk size:          %6s" % f._CHUNK_SIZE)
@@ -1162,7 +1162,7 @@
 
 
 def test_main():
-    test_support.run_unittest(IOTest, BytesIOTest, StringIOTest,
+    support.run_unittest(IOTest, BytesIOTest, StringIOTest,
                               BufferedReaderTest, BufferedWriterTest,
                               BufferedRWPairTest, BufferedRandomTest,
                               StatefulIncrementalDecoderTest,
diff --git a/Lib/test/test_ioctl.py b/Lib/test/test_ioctl.py
index feea5bf..e9c1d0f 100644
--- a/Lib/test/test_ioctl.py
+++ b/Lib/test/test_ioctl.py
@@ -1,5 +1,5 @@
 import unittest
-from test.test_support import TestSkipped, run_unittest
+from test.support import TestSkipped, run_unittest
 import os, struct
 try:
     import fcntl, termios
diff --git a/Lib/test/test_isinstance.py b/Lib/test/test_isinstance.py
index 1e29f4c..9482e75 100644
--- a/Lib/test/test_isinstance.py
+++ b/Lib/test/test_isinstance.py
@@ -3,7 +3,7 @@
 # testing of error conditions uncovered when using extension types.
 
 import unittest
-from test import test_support
+from test import support
 import sys
 
 
@@ -264,7 +264,7 @@
 
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         TestIsInstanceExceptions,
         TestIsSubclassExceptions,
         TestIsInstanceIsSubclass
diff --git a/Lib/test/test_iter.py b/Lib/test/test_iter.py
index d861dcd..eba9728 100644
--- a/Lib/test/test_iter.py
+++ b/Lib/test/test_iter.py
@@ -1,7 +1,7 @@
 # Test iterators.
 
 import unittest
-from test.test_support import run_unittest, TESTFN, unlink
+from test.support import run_unittest, TESTFN, unlink
 
 # Test result of triple loop (too big to inline)
 TRIPLETS = [(0, 0, 0), (0, 0, 1), (0, 0, 2),
diff --git a/Lib/test/test_iterlen.py b/Lib/test/test_iterlen.py
index 46aefaa..72e92a5 100644
--- a/Lib/test/test_iterlen.py
+++ b/Lib/test/test_iterlen.py
@@ -42,7 +42,7 @@
 """
 
 import unittest
-from test import test_support
+from test import support
 from itertools import repeat
 from collections import deque
 from builtins import len as _len
@@ -211,7 +211,7 @@
         TestList,
         TestListReversed,
     ]
-    test_support.run_unittest(*unittests)
+    support.run_unittest(*unittests)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_itertools.py b/Lib/test/test_itertools.py
index 335e47d..3957f41 100644
--- a/Lib/test/test_itertools.py
+++ b/Lib/test/test_itertools.py
@@ -1,12 +1,12 @@
 import unittest
-from test import test_support
+from test import support
 from itertools import *
 from weakref import proxy
 import sys
 import operator
 import random
 from functools import reduce
-maxsize = test_support.MAX_Py_ssize_t
+maxsize = support.MAX_Py_ssize_t
 minsize = -maxsize-1
 
 def lzip(*args):
@@ -1391,20 +1391,20 @@
     test_classes = (TestBasicOps, TestVariousIteratorArgs, TestGC,
                     RegressionTests, LengthTransparency,
                     SubclassWithKwargsTest, TestExamples)
-    test_support.run_unittest(*test_classes)
+    support.run_unittest(*test_classes)
 
     # verify reference counting
     if verbose and hasattr(sys, "gettotalrefcount"):
         import gc
         counts = [None] * 5
         for i in range(len(counts)):
-            test_support.run_unittest(*test_classes)
+            support.run_unittest(*test_classes)
             gc.collect()
             counts[i] = sys.gettotalrefcount()
         print(counts)
 
     # doctest the examples in the library reference
-    test_support.run_doctest(sys.modules[__name__], verbose)
+    support.run_doctest(sys.modules[__name__], verbose)
 
 if __name__ == "__main__":
     test_main(verbose=True)
diff --git a/Lib/test/test_json.py b/Lib/test/test_json.py
index 17ccdee..17e1daf 100644
--- a/Lib/test/test_json.py
+++ b/Lib/test/test_json.py
@@ -6,12 +6,12 @@
 """
 
 import json.tests
-import test.test_support
+import test.support
 
 
 def test_main():
-    test.test_support.run_unittest(json.tests.test_suite())
-    test.test_support.run_doctest(json)
+    test.support.run_unittest(json.tests.test_suite())
+    test.support.run_doctest(json)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_keywordonlyarg.py b/Lib/test/test_keywordonlyarg.py
index e64a6cd..aa7d3db 100644
--- a/Lib/test/test_keywordonlyarg.py
+++ b/Lib/test/test_keywordonlyarg.py
@@ -6,7 +6,7 @@
 __email__ = "seojiwon at gmail dot com"
 
 import unittest
-from test.test_support import run_unittest
+from test.support import run_unittest
 
 def posonly_sum(pos_arg1, *arg, **kwarg):
     return pos_arg1 + sum(arg) + sum(kwarg.values())
diff --git a/Lib/test/test_kqueue.py b/Lib/test/test_kqueue.py
index 310eb33..ef43633 100644
--- a/Lib/test/test_kqueue.py
+++ b/Lib/test/test_kqueue.py
@@ -8,9 +8,9 @@
 import sys
 import unittest
 
-from test import test_support
+from test import support
 if not hasattr(select, "kqueue"):
-    raise test_support.TestSkipped("test works only on BSD")
+    raise support.TestSkipped("test works only on BSD")
 
 class TestKQueue(unittest.TestCase):
     def test_create_queue(self):
@@ -160,7 +160,7 @@
         serverSocket.close()
 
 def test_main():
-    test_support.run_unittest(TestKQueue)
+    support.run_unittest(TestKQueue)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_largefile.py b/Lib/test/test_largefile.py
index 0856346..8060ea0 100644
--- a/Lib/test/test_largefile.py
+++ b/Lib/test/test_largefile.py
@@ -5,7 +5,7 @@
 import stat
 import sys
 import unittest
-from test.test_support import run_unittest, TESTFN, verbose, requires, \
+from test.support import run_unittest, TESTFN, verbose, requires, \
                               TestSkipped, unlink
 
 try:
diff --git a/Lib/test/test_lib2to3.py b/Lib/test/test_lib2to3.py
index 161b9dd..9bd4496 100644
--- a/Lib/test/test_lib2to3.py
+++ b/Lib/test/test_lib2to3.py
@@ -2,7 +2,7 @@
 # because of running
 from lib2to3.tests import test_fixers, test_pytree, test_util
 import unittest
-from test.test_support import run_unittest
+from test.support import run_unittest
 
 def suite():
     tests = unittest.TestSuite()
diff --git a/Lib/test/test_list.py b/Lib/test/test_list.py
index 3b85117..5184321 100644
--- a/Lib/test/test_list.py
+++ b/Lib/test/test_list.py
@@ -1,5 +1,5 @@
 import sys
-from test import test_support, list_tests
+from test import support, list_tests
 
 class ListTest(list_tests.CommonTest):
     type2test = list
@@ -43,7 +43,7 @@
         self.assertRaises((MemoryError, OverflowError), imul, lst, n)
 
 def test_main(verbose=None):
-    test_support.run_unittest(ListTest)
+    support.run_unittest(ListTest)
 
     # verify reference counting
     import sys
@@ -51,7 +51,7 @@
         import gc
         counts = [None] * 5
         for i in range(len(counts)):
-            test_support.run_unittest(ListTest)
+            support.run_unittest(ListTest)
             gc.collect()
             counts[i] = sys.gettotalrefcount()
         print(counts)
diff --git a/Lib/test/test_listcomps.py b/Lib/test/test_listcomps.py
index 684b716..663ccbb 100644
--- a/Lib/test/test_listcomps.py
+++ b/Lib/test/test_listcomps.py
@@ -130,16 +130,16 @@
 
 def test_main(verbose=None):
     import sys
-    from test import test_support
+    from test import support
     from test import test_listcomps
-    test_support.run_doctest(test_listcomps, verbose)
+    support.run_doctest(test_listcomps, verbose)
 
     # verify reference counting
     if verbose and hasattr(sys, "gettotalrefcount"):
         import gc
         counts = [None] * 5
         for i in range(len(counts)):
-            test_support.run_doctest(test_genexps, verbose)
+            support.run_doctest(test_genexps, verbose)
             gc.collect()
             counts[i] = sys.gettotalrefcount()
         print(counts)
@@ -278,16 +278,16 @@
 
 def test_main(verbose=None):
     import sys
-    from test import test_support
+    from test import support
     from test import test_listcomps
-    test_support.run_doctest(test_listcomps, verbose)
+    support.run_doctest(test_listcomps, verbose)
 
     # verify reference counting
     if verbose and hasattr(sys, "gettotalrefcount"):
         import gc
         counts = [None] * 5
         for i in range(len(counts)):
-            test_support.run_doctest(test_genexps, verbose)
+            support.run_doctest(test_genexps, verbose)
             gc.collect()
             counts[i] = sys.gettotalrefcount()
         print(counts)
@@ -426,16 +426,16 @@
 
 def test_main(verbose=None):
     import sys
-    from test import test_support
+    from test import support
     from test import test_listcomps
-    test_support.run_doctest(test_listcomps, verbose)
+    support.run_doctest(test_listcomps, verbose)
 
     # verify reference counting
     if verbose and hasattr(sys, "gettotalrefcount"):
         import gc
         counts = [None] * 5
         for i in range(len(counts)):
-            test_support.run_doctest(test_listcomps, verbose)
+            support.run_doctest(test_listcomps, verbose)
             gc.collect()
             counts[i] = sys.gettotalrefcount()
         print(counts)
diff --git a/Lib/test/test_locale.py b/Lib/test/test_locale.py
index ef1f5c2..6d13058 100644
--- a/Lib/test/test_locale.py
+++ b/Lib/test/test_locale.py
@@ -1,4 +1,4 @@
-from test.test_support import verbose, TestSkipped
+from test.support import verbose, TestSkipped
 import locale
 import sys
 
diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py
index b6da0ae..888ac72 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -38,7 +38,7 @@
 import struct
 import sys
 import tempfile
-from test.test_support import captured_stdout, run_with_locale, run_unittest
+from test.support import captured_stdout, run_with_locale, run_unittest
 import textwrap
 import threading
 import time
diff --git a/Lib/test/test_long.py b/Lib/test/test_long.py
index 256a1ce..21881c9 100644
--- a/Lib/test/test_long.py
+++ b/Lib/test/test_long.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 import sys
 
 import random
@@ -771,7 +771,7 @@
         self.assertRaises(OverflowError, int, float('nan'))
 
 def test_main():
-    test_support.run_unittest(LongTest)
+    support.run_unittest(LongTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_long_future.py b/Lib/test/test_long_future.py
index 36840b4..428b03a 100644
--- a/Lib/test/test_long_future.py
+++ b/Lib/test/test_long_future.py
@@ -4,7 +4,7 @@
 # trick just part of test_long into using future division.
 
 import unittest
-from test.test_support import run_unittest
+from test.support import run_unittest
 
 class TrueDivisionTests(unittest.TestCase):
     def test(self):
diff --git a/Lib/test/test_longexp.py b/Lib/test/test_longexp.py
index dd222a1..1b40d02 100644
--- a/Lib/test/test_longexp.py
+++ b/Lib/test/test_longexp.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 
 class LongExpText(unittest.TestCase):
     def test_longexp(self):
@@ -8,7 +8,7 @@
         self.assertEqual(len(l), REPS)
 
 def test_main():
-    test_support.run_unittest(LongExpText)
+    support.run_unittest(LongExpText)
 
 if __name__=="__main__":
     test_main()
diff --git a/Lib/test/test_macpath.py b/Lib/test/test_macpath.py
index 9d36375..38b85e5 100644
--- a/Lib/test/test_macpath.py
+++ b/Lib/test/test_macpath.py
@@ -1,5 +1,5 @@
 import macpath
-from test import test_support
+from test import support
 import unittest
 
 
@@ -56,7 +56,7 @@
 
 
 def test_main():
-    test_support.run_unittest(MacPathTestCase)
+    support.run_unittest(MacPathTestCase)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_mailbox.py b/Lib/test/test_mailbox.py
index 43b864c..783323f 100644
--- a/Lib/test/test_mailbox.py
+++ b/Lib/test/test_mailbox.py
@@ -7,7 +7,7 @@
 import email.message
 import re
 import io
-from test import test_support
+from test import support
 import unittest
 import mailbox
 import glob
@@ -52,7 +52,7 @@
     _template = 'From: foo\n\n%s'
 
     def setUp(self):
-        self._path = test_support.TESTFN
+        self._path = support.TESTFN
         self._delete_recursively(self._path)
         self._box = self._factory(self._path)
 
@@ -715,7 +715,7 @@
         self._box.close()
         self._delete_recursively(self._path)
         for lock_remnant in glob.glob(self._path + '.*'):
-            test_support.unlink(lock_remnant)
+            support.unlink(lock_remnant)
 
     def test_add_from_string(self):
         # Add a string starting with 'From ' to the mailbox
@@ -938,7 +938,7 @@
         self._box.close()
         self._delete_recursively(self._path)
         for lock_remnant in glob.glob(self._path + '.*'):
-            test_support.unlink(lock_remnant)
+            support.unlink(lock_remnant)
 
     def test_labels(self):
         # Get labels from the mailbox
@@ -964,7 +964,7 @@
     _factory = mailbox.Message      # Overridden by subclasses to reuse tests
 
     def setUp(self):
-        self._path = test_support.TESTFN
+        self._path = support.TESTFN
 
     def tearDown(self):
         self._delete_recursively(self._path)
@@ -1580,7 +1580,7 @@
 class TestProxyFile(TestProxyFileBase):
 
     def setUp(self):
-        self._path = test_support.TESTFN
+        self._path = support.TESTFN
         self._file = open(self._path, 'wb+')
 
     def tearDown(self):
@@ -1629,7 +1629,7 @@
 class TestPartialFile(TestProxyFileBase):
 
     def setUp(self):
-        self._path = test_support.TESTFN
+        self._path = support.TESTFN
         self._file = open(self._path, 'wb+')
 
     def tearDown(self):
@@ -1692,7 +1692,7 @@
 
     def setUp(self):
         # create a new maildir mailbox to work with:
-        self._dir = test_support.TESTFN
+        self._dir = support.TESTFN
         os.mkdir(self._dir)
         os.mkdir(os.path.join(self._dir, "cur"))
         os.mkdir(os.path.join(self._dir, "tmp"))
@@ -1733,7 +1733,7 @@
         """Test an empty maildir mailbox"""
         # Test for regression on bug #117490:
         # Make sure the boxes attribute actually gets set.
-        self.mbox = mailbox.Maildir(test_support.TESTFN)
+        self.mbox = mailbox.Maildir(support.TESTFN)
         #self.assert_(hasattr(self.mbox, "boxes"))
         #self.assertEqual(len(self.mbox.boxes), 0)
         self.assert_(self.mbox.next() is None)
@@ -1741,7 +1741,7 @@
 
     def test_nonempty_maildir_cur(self):
         self.createMessage("cur")
-        self.mbox = mailbox.Maildir(test_support.TESTFN)
+        self.mbox = mailbox.Maildir(support.TESTFN)
         #self.assertEqual(len(self.mbox.boxes), 1)
         self.assert_(self.mbox.next() is not None)
         self.assert_(self.mbox.next() is None)
@@ -1749,7 +1749,7 @@
 
     def test_nonempty_maildir_new(self):
         self.createMessage("new")
-        self.mbox = mailbox.Maildir(test_support.TESTFN)
+        self.mbox = mailbox.Maildir(support.TESTFN)
         #self.assertEqual(len(self.mbox.boxes), 1)
         self.assert_(self.mbox.next() is not None)
         self.assert_(self.mbox.next() is None)
@@ -1758,7 +1758,7 @@
     def test_nonempty_maildir_both(self):
         self.createMessage("cur")
         self.createMessage("new")
-        self.mbox = mailbox.Maildir(test_support.TESTFN)
+        self.mbox = mailbox.Maildir(support.TESTFN)
         #self.assertEqual(len(self.mbox.boxes), 2)
         self.assert_(self.mbox.next() is not None)
         self.assert_(self.mbox.next() is not None)
@@ -1856,8 +1856,8 @@
              TestMHMessage, TestBabylMessage, TestMMDFMessage,
              TestMessageConversion, TestProxyFile, TestPartialFile,
              MaildirTestCase)
-    test_support.run_unittest(*tests)
-    test_support.reap_children()
+    support.run_unittest(*tests)
+    support.reap_children()
 
 
 if __name__ == '__main__':
diff --git a/Lib/test/test_marshal.py b/Lib/test/test_marshal.py
index 838207a..83ab852 100644
--- a/Lib/test/test_marshal.py
+++ b/Lib/test/test_marshal.py
@@ -1,6 +1,6 @@
 #!/usr/bin/env python
 
-from test import test_support
+from test import support
 import marshal
 import sys
 import unittest
@@ -11,19 +11,19 @@
         new = marshal.loads(marshal.dumps(sample, *extra))
         self.assertEqual(sample, new)
         try:
-            f = open(test_support.TESTFN, "wb")
+            f = open(support.TESTFN, "wb")
             try:
                 marshal.dump(sample, f, *extra)
             finally:
                 f.close()
-            f = open(test_support.TESTFN, "rb")
+            f = open(support.TESTFN, "rb")
             try:
                 new = marshal.load(f)
             finally:
                 f.close()
             self.assertEqual(sample, new)
         finally:
-            test_support.unlink(test_support.TESTFN)
+            support.unlink(support.TESTFN)
 
 class IntTestCase(unittest.TestCase, HelperMixin):
     def test_ints(self):
@@ -208,7 +208,7 @@
 
 
 def test_main():
-    test_support.run_unittest(IntTestCase,
+    support.run_unittest(IntTestCase,
                               FloatTestCase,
                               StringTestCase,
                               CodeTestCase,
diff --git a/Lib/test/test_math.py b/Lib/test/test_math.py
index ff8db7c..f24bdb3 100644
--- a/Lib/test/test_math.py
+++ b/Lib/test/test_math.py
@@ -1,7 +1,7 @@
 # Python test set -- math module
 # XXXX Should not do tests around zero only
 
-from test.test_support import run_unittest, verbose
+from test.support import run_unittest, verbose
 import unittest
 import math
 import os
diff --git a/Lib/test/test_memoryio.py b/Lib/test/test_memoryio.py
index 7857587..2d91cbd 100644
--- a/Lib/test/test_memoryio.py
+++ b/Lib/test/test_memoryio.py
@@ -4,7 +4,7 @@
 """
 
 import unittest
-from test import test_support
+from test import support
 
 import io
 import sys
@@ -408,7 +408,7 @@
     tests = [PyBytesIOTest, PyStringIOTest]
     if has_c_implementation:
         tests.extend([CBytesIOTest])
-    test_support.run_unittest(*tests)
+    support.run_unittest(*tests)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_memoryview.py b/Lib/test/test_memoryview.py
index 27adc5e..b3d478d 100644
--- a/Lib/test/test_memoryview.py
+++ b/Lib/test/test_memoryview.py
@@ -4,7 +4,7 @@
 """
 
 import unittest
-import test.test_support
+import test.support
 
 class MemoryviewTest(unittest.TestCase):
 
@@ -18,7 +18,7 @@
         self.assertRaises(TypeError, memoryview, ob, argument=True)
 
 def test_main():
-    test.test_support.run_unittest(MemoryviewTest)
+    test.support.run_unittest(MemoryviewTest)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_metaclass.py b/Lib/test/test_metaclass.py
index 733418e..d8195dd 100644
--- a/Lib/test/test_metaclass.py
+++ b/Lib/test/test_metaclass.py
@@ -235,9 +235,9 @@
 __test__ = {'doctests' : doctests}
 
 def test_main(verbose=False):
-    from test import test_support
+    from test import support
     from test import test_metaclass
-    test_support.run_doctest(test_metaclass, verbose)
+    support.run_doctest(test_metaclass, verbose)
 
 if __name__ == "__main__":
     test_main(verbose=True)
diff --git a/Lib/test/test_mimetools.py b/Lib/test/test_mimetools.py
index ef333f5..1dc9178 100644
--- a/Lib/test/test_mimetools.py
+++ b/Lib/test/test_mimetools.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 
 import string, mimetools
 import io
@@ -70,7 +70,7 @@
         self.assertEqual(msg.getencoding(), "8bit")
 
 def test_main():
-    test_support.run_unittest(MimeToolsTest)
+    support.run_unittest(MimeToolsTest)
 
 if __name__=="__main__":
     test_main()
diff --git a/Lib/test/test_mimetypes.py b/Lib/test/test_mimetypes.py
index 53de072..9651a60 100644
--- a/Lib/test/test_mimetypes.py
+++ b/Lib/test/test_mimetypes.py
@@ -2,7 +2,7 @@
 import io
 import unittest
 
-from test import test_support
+from test import support
 
 # Tell it we don't know about external files:
 mimetypes.knownfiles = []
@@ -63,7 +63,7 @@
 
 
 def test_main():
-    test_support.run_unittest(MimeTypesTestCase)
+    support.run_unittest(MimeTypesTestCase)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_minidom.py b/Lib/test/test_minidom.py
index 9ea60a9..20130c3 100644
--- a/Lib/test/test_minidom.py
+++ b/Lib/test/test_minidom.py
@@ -4,7 +4,7 @@
 import sys
 import pickle
 from io import StringIO
-from test.test_support import verbose, run_unittest, TestSkipped
+from test.support import verbose, run_unittest, TestSkipped
 import unittest
 
 import xml.dom
diff --git a/Lib/test/test_mmap.py b/Lib/test/test_mmap.py
index f01b9df..0b5202a 100644
--- a/Lib/test/test_mmap.py
+++ b/Lib/test/test_mmap.py
@@ -1,4 +1,4 @@
-from test.test_support import TESTFN, run_unittest
+from test.support import TESTFN, run_unittest
 import mmap
 import unittest
 import os, re
diff --git a/Lib/test/test_module.py b/Lib/test/test_module.py
index 35c765e..45556e8 100644
--- a/Lib/test/test_module.py
+++ b/Lib/test/test_module.py
@@ -1,6 +1,6 @@
 # Test the module type
 import unittest
-from test.test_support import run_unittest
+from test.support import run_unittest
 
 import sys
 ModuleType = type(sys)
diff --git a/Lib/test/test_modulefinder.py b/Lib/test/test_modulefinder.py
index 80c06d7..85bc669 100644
--- a/Lib/test/test_modulefinder.py
+++ b/Lib/test/test_modulefinder.py
@@ -4,7 +4,7 @@
 import distutils.dir_util
 import tempfile
 
-from test import test_support
+from test import support
 
 try: set
 except NameError: from sets import Set as set
@@ -258,7 +258,7 @@
 
 def test_main():
     distutils.log.set_threshold(distutils.log.WARN)
-    test_support.run_unittest(ModuleFinderTest)
+    support.run_unittest(ModuleFinderTest)
 
 if __name__ == "__main__":
     unittest.main()
diff --git a/Lib/test/test_multibytecodec.py b/Lib/test/test_multibytecodec.py
index 615ad8b..0eb422e 100644
--- a/Lib/test/test_multibytecodec.py
+++ b/Lib/test/test_multibytecodec.py
@@ -4,9 +4,9 @@
 #   Unit test for multibytecodec itself
 #
 
-from test import test_support
+from test import support
 from test import test_multibytecodec_support
-from test.test_support import TESTFN
+from test.support import TESTFN
 import unittest, io, codecs, sys, os
 
 ALL_CJKENCODINGS = [
@@ -51,7 +51,7 @@
                 print('# coding:', enc, file=io.open(TESTFN, 'w'))
                 exec(open(TESTFN).read())
         finally:
-            test_support.unlink(TESTFN)
+            support.unlink(TESTFN)
 
 class Test_IncrementalEncoder(unittest.TestCase):
 
@@ -151,7 +151,7 @@
             finally:
                 f.close()
         finally:
-            test_support.unlink(TESTFN)
+            support.unlink(TESTFN)
 
 class Test_StreamWriter(unittest.TestCase):
     if len('\U00012345') == 2: # UCS2
@@ -235,7 +235,7 @@
             myunichr(x).encode('iso_2022_jp', 'ignore')
 
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_multibytecodec_support.py b/Lib/test/test_multibytecodec_support.py
index 5508c9d..3e0476e 100644
--- a/Lib/test/test_multibytecodec_support.py
+++ b/Lib/test/test_multibytecodec_support.py
@@ -6,7 +6,7 @@
 
 import sys, codecs
 import unittest, re
-from test import test_support
+from test import support
 from io import BytesIO
 
 class TestBase:
@@ -279,10 +279,10 @@
         try:
             self.open_mapping_file() # test it to report the error early
         except IOError:
-            raise test_support.TestSkipped("Could not retrieve "+self.mapfileurl)
+            raise support.TestSkipped("Could not retrieve "+self.mapfileurl)
 
     def open_mapping_file(self):
-        return test_support.open_urlresource(self.mapfileurl)
+        return support.open_urlresource(self.mapfileurl)
 
     def test_mapping_file(self):
         if self.mapfileurl.endswith('.xml'):
diff --git a/Lib/test/test_mutants.py b/Lib/test/test_mutants.py
index 7fff784..b43fa47 100644
--- a/Lib/test/test_mutants.py
+++ b/Lib/test/test_mutants.py
@@ -1,4 +1,4 @@
-from test.test_support import verbose, TESTFN
+from test.support import verbose, TESTFN
 import random
 import os
 
diff --git a/Lib/test/test_netrc.py b/Lib/test/test_netrc.py
index 4a2cb0d..938e255 100644
--- a/Lib/test/test_netrc.py
+++ b/Lib/test/test_netrc.py
@@ -1,6 +1,6 @@
 
 import netrc, os, unittest, sys
-from test import test_support
+from test import support
 
 TEST_NETRC = """
 machine foo login log1 password pass1 account acct1
@@ -17,7 +17,7 @@
 
 """
 
-temp_filename = test_support.TESTFN
+temp_filename = support.TESTFN
 
 class NetrcTestCase(unittest.TestCase):
 
@@ -41,7 +41,7 @@
         self.assert_(nrc.hosts['default'] == ('log2', None, 'pass2'))
 
 def test_main():
-    test_support.run_unittest(NetrcTestCase)
+    support.run_unittest(NetrcTestCase)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_nis.py b/Lib/test/test_nis.py
index 757edd6..8a7efcf 100644
--- a/Lib/test/test_nis.py
+++ b/Lib/test/test_nis.py
@@ -1,4 +1,4 @@
-from test import test_support
+from test import support
 import unittest
 import nis
 
@@ -8,7 +8,7 @@
             maps = nis.maps()
         except nis.error as msg:
             # NIS is probably not active, so this test isn't useful
-            if test_support.verbose:
+            if support.verbose:
                 print("Test Skipped:", msg)
             # Can't raise TestSkipped as regrtest only recognizes the exception
             #   import time.
@@ -37,7 +37,7 @@
                 break
 
 def test_main():
-    test_support.run_unittest(NisTests)
+    support.run_unittest(NisTests)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_normalization.py b/Lib/test/test_normalization.py
index ae49996..920ce27 100644
--- a/Lib/test/test_normalization.py
+++ b/Lib/test/test_normalization.py
@@ -1,4 +1,4 @@
-from test.test_support import run_unittest, open_urlresource
+from test.support import run_unittest, open_urlresource
 import unittest
 
 import sys
diff --git a/Lib/test/test_ntpath.py b/Lib/test/test_ntpath.py
index 627b167..fa40db8 100644
--- a/Lib/test/test_ntpath.py
+++ b/Lib/test/test_ntpath.py
@@ -1,7 +1,7 @@
 import ntpath
 import os
-from test.test_support import verbose, TestFailed
-import test.test_support as test_support
+from test.support import verbose, TestFailed
+import test.support as support
 import unittest
 
 
@@ -180,7 +180,7 @@
 
 
 def test_main():
-    test_support.run_unittest(TestNtpath)
+    support.run_unittest(TestNtpath)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_opcodes.py b/Lib/test/test_opcodes.py
index d65c5cc..42ba600 100644
--- a/Lib/test/test_opcodes.py
+++ b/Lib/test/test_opcodes.py
@@ -1,6 +1,6 @@
 # Python test set -- part 2, opcodes
 
-from test.test_support import run_unittest
+from test.support import run_unittest
 import unittest
 
 class OpcodeTest(unittest.TestCase):
diff --git a/Lib/test/test_openpty.py b/Lib/test/test_openpty.py
index f935496..9272c85 100644
--- a/Lib/test/test_openpty.py
+++ b/Lib/test/test_openpty.py
@@ -1,7 +1,7 @@
 # Test to see if openpty works. (But don't worry if it isn't available.)
 
 import os, unittest
-from test.test_support import run_unittest, TestSkipped
+from test.support import run_unittest, TestSkipped
 
 if not hasattr(os, "openpty"):
     raise TestSkipped("No openpty() available.")
diff --git a/Lib/test/test_operator.py b/Lib/test/test_operator.py
index d6146ee..2a02dac 100644
--- a/Lib/test/test_operator.py
+++ b/Lib/test/test_operator.py
@@ -1,7 +1,7 @@
 import operator
 import unittest
 
-from test import test_support
+from test import support
 
 class Seq1:
     def __init__(self, lst):
@@ -465,14 +465,14 @@
         OperatorTestCase,
     )
 
-    test_support.run_unittest(*test_classes)
+    support.run_unittest(*test_classes)
 
     # verify reference counting
     if verbose and hasattr(sys, "gettotalrefcount"):
         import gc
         counts = [None] * 5
         for i in range(len(counts)):
-            test_support.run_unittest(*test_classes)
+            support.run_unittest(*test_classes)
             gc.collect()
             counts[i] = sys.gettotalrefcount()
         print(counts)
diff --git a/Lib/test/test_optparse.py b/Lib/test/test_optparse.py
index 71de869..be2867c 100644
--- a/Lib/test/test_optparse.py
+++ b/Lib/test/test_optparse.py
@@ -15,7 +15,7 @@
 import unittest
 
 from io import StringIO
-from test import test_support
+from test import support
 
 
 from optparse import make_option, Option, IndentedHelpFormatter, \
@@ -1004,10 +1004,10 @@
         self.parser.add_option("-f", "--file", type="file", dest="file")
 
     def tearDown(self):
-        if os.path.isdir(test_support.TESTFN):
-            os.rmdir(test_support.TESTFN)
-        elif os.path.isfile(test_support.TESTFN):
-            os.unlink(test_support.TESTFN)
+        if os.path.isdir(support.TESTFN):
+            os.rmdir(support.TESTFN)
+        elif os.path.isfile(support.TESTFN):
+            os.unlink(support.TESTFN)
 
     class MyOption (Option):
         def check_file(option, opt, value):
@@ -1022,21 +1022,21 @@
         TYPE_CHECKER["file"] = check_file
 
     def test_filetype_ok(self):
-        open(test_support.TESTFN, "w").close()
-        self.assertParseOK(["--file", test_support.TESTFN, "-afoo"],
-                           {'file': test_support.TESTFN, 'a': 'foo'},
+        open(support.TESTFN, "w").close()
+        self.assertParseOK(["--file", support.TESTFN, "-afoo"],
+                           {'file': support.TESTFN, 'a': 'foo'},
                            [])
 
     def test_filetype_noexist(self):
-        self.assertParseFail(["--file", test_support.TESTFN, "-afoo"],
+        self.assertParseFail(["--file", support.TESTFN, "-afoo"],
                              "%s: file does not exist" %
-                             test_support.TESTFN)
+                             support.TESTFN)
 
     def test_filetype_notfile(self):
-        os.mkdir(test_support.TESTFN)
-        self.assertParseFail(["--file", test_support.TESTFN, "-afoo"],
+        os.mkdir(support.TESTFN)
+        self.assertParseFail(["--file", support.TESTFN, "-afoo"],
                              "%s: not a regular file" %
-                             test_support.TESTFN)
+                             support.TESTFN)
 
 
 class TestExtendAddActions(BaseTest):
@@ -1611,7 +1611,7 @@
 
 
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_os.py b/Lib/test/test_os.py
index 503244a..f0b734e 100644
--- a/Lib/test/test_os.py
+++ b/Lib/test/test_os.py
@@ -6,22 +6,22 @@
 import unittest
 import warnings
 import sys
-from test import test_support
+from test import support
 
 # Tests creating TESTFN
 class FileTests(unittest.TestCase):
     def setUp(self):
-        if os.path.exists(test_support.TESTFN):
-            os.unlink(test_support.TESTFN)
+        if os.path.exists(support.TESTFN):
+            os.unlink(support.TESTFN)
     tearDown = setUp
 
     def test_access(self):
-        f = os.open(test_support.TESTFN, os.O_CREAT|os.O_RDWR)
+        f = os.open(support.TESTFN, os.O_CREAT|os.O_RDWR)
         os.close(f)
-        self.assert_(os.access(test_support.TESTFN, os.W_OK))
+        self.assert_(os.access(support.TESTFN, os.W_OK))
 
     def test_closerange(self):
-        f = os.open(test_support.TESTFN, os.O_CREAT|os.O_RDWR)
+        f = os.open(support.TESTFN, os.O_CREAT|os.O_RDWR)
         # close a fd that is open, and one that isn't
         os.closerange(f, f+2)
         self.assertRaises(OSError, os.write, f, "a")
@@ -29,12 +29,12 @@
 class TemporaryFileTests(unittest.TestCase):
     def setUp(self):
         self.files = []
-        os.mkdir(test_support.TESTFN)
+        os.mkdir(support.TESTFN)
 
     def tearDown(self):
         for name in self.files:
             os.unlink(name)
-        os.rmdir(test_support.TESTFN)
+        os.rmdir(support.TESTFN)
 
     def check_tempfile(self, name):
         # make sure it doesn't already exist:
@@ -51,10 +51,10 @@
                                 r"test_os$")
         self.check_tempfile(os.tempnam())
 
-        name = os.tempnam(test_support.TESTFN)
+        name = os.tempnam(support.TESTFN)
         self.check_tempfile(name)
 
-        name = os.tempnam(test_support.TESTFN, "pfx")
+        name = os.tempnam(support.TESTFN, "pfx")
         self.assert_(os.path.basename(name)[:3] == "pfx")
         self.check_tempfile(name)
 
@@ -137,15 +137,15 @@
 # Test attributes on return values from os.*stat* family.
 class StatAttributeTests(unittest.TestCase):
     def setUp(self):
-        os.mkdir(test_support.TESTFN)
-        self.fname = os.path.join(test_support.TESTFN, "f1")
+        os.mkdir(support.TESTFN)
+        self.fname = os.path.join(support.TESTFN, "f1")
         f = open(self.fname, 'wb')
         f.write(b"ABC")
         f.close()
 
     def tearDown(self):
         os.unlink(self.fname)
-        os.rmdir(test_support.TESTFN)
+        os.rmdir(support.TESTFN)
 
     def test_stat_attributes(self):
         if not hasattr(os, "stat"):
@@ -261,11 +261,11 @@
 
     def test_utime_dir(self):
         delta = 1000000
-        st = os.stat(test_support.TESTFN)
+        st = os.stat(support.TESTFN)
         # round to int, because some systems may support sub-second
         # time stamps in stat, but not in utime.
-        os.utime(test_support.TESTFN, (st.st_atime, int(st.st_mtime-delta)))
-        st2 = os.stat(test_support.TESTFN)
+        os.utime(support.TESTFN, (st.st_atime, int(st.st_mtime-delta)))
+        st2 = os.stat(support.TESTFN)
         self.assertEquals(st2.st_mtime, int(st.st_mtime-delta))
 
     # Restrict test to Win32, since there is no guarantee other
@@ -280,7 +280,7 @@
             if kernel32.GetVolumeInformationA(root, None, 0, None, None, None, buf, len(buf)):
                 return buf.value
 
-        if get_file_system(test_support.TESTFN) == "NTFS":
+        if get_file_system(support.TESTFN) == "NTFS":
             def test_1565150(self):
                 t1 = 1159195039.25
                 os.utime(self.fname, (t1, t1))
@@ -364,7 +364,7 @@
         #           link/           a symlink to TESTFN.2
         #       TEST2/
         #         tmp4              a lone file
-        walk_path = join(test_support.TESTFN, "TEST1")
+        walk_path = join(support.TESTFN, "TEST1")
         sub1_path = join(walk_path, "SUB1")
         sub11_path = join(sub1_path, "SUB11")
         sub2_path = join(walk_path, "SUB2")
@@ -372,8 +372,8 @@
         tmp2_path = join(sub1_path, "tmp2")
         tmp3_path = join(sub2_path, "tmp3")
         link_path = join(sub2_path, "link")
-        t2_path = join(test_support.TESTFN, "TEST2")
-        tmp4_path = join(test_support.TESTFN, "TEST2", "tmp4")
+        t2_path = join(support.TESTFN, "TEST2")
+        tmp4_path = join(support.TESTFN, "TEST2", "tmp4")
 
         # Create stuff.
         os.makedirs(sub11_path)
@@ -442,7 +442,7 @@
         # Windows, which doesn't have a recursive delete command.  The
         # (not so) subtlety is that rmdir will fail unless the dir's
         # kids are removed first, so bottom up is essential.
-        for root, dirs, files in os.walk(test_support.TESTFN, topdown=False):
+        for root, dirs, files in os.walk(support.TESTFN, topdown=False):
             for name in files:
                 os.remove(os.path.join(root, name))
             for name in dirs:
@@ -451,14 +451,14 @@
                     os.rmdir(dirname)
                 else:
                     os.remove(dirname)
-        os.rmdir(test_support.TESTFN)
+        os.rmdir(support.TESTFN)
 
 class MakedirTests(unittest.TestCase):
     def setUp(self):
-        os.mkdir(test_support.TESTFN)
+        os.mkdir(support.TESTFN)
 
     def test_makedir(self):
-        base = test_support.TESTFN
+        base = support.TESTFN
         path = os.path.join(base, 'dir1', 'dir2', 'dir3')
         os.makedirs(path)             # Should work
         path = os.path.join(base, 'dir1', 'dir2', 'dir3', 'dir4')
@@ -473,12 +473,12 @@
         os.makedirs(path)
 
     def tearDown(self):
-        path = os.path.join(test_support.TESTFN, 'dir1', 'dir2', 'dir3',
+        path = os.path.join(support.TESTFN, 'dir1', 'dir2', 'dir3',
                             'dir4', 'dir5', 'dir6')
         # If the tests failed, the bottom-most directory ('../dir6')
         # may not have been created, so we look for the outermost directory
         # that exists.
-        while not os.path.exists(path) and path != test_support.TESTFN:
+        while not os.path.exists(path) and path != support.TESTFN:
             path = os.path.dirname(path)
 
         os.removedirs(path)
@@ -511,32 +511,32 @@
 
 class Win32ErrorTests(unittest.TestCase):
     def test_rename(self):
-        self.assertRaises(WindowsError, os.rename, test_support.TESTFN, test_support.TESTFN+".bak")
+        self.assertRaises(WindowsError, os.rename, support.TESTFN, support.TESTFN+".bak")
 
     def test_remove(self):
-        self.assertRaises(WindowsError, os.remove, test_support.TESTFN)
+        self.assertRaises(WindowsError, os.remove, support.TESTFN)
 
     def test_chdir(self):
-        self.assertRaises(WindowsError, os.chdir, test_support.TESTFN)
+        self.assertRaises(WindowsError, os.chdir, support.TESTFN)
 
     def test_mkdir(self):
-        self.assertRaises(WindowsError, os.chdir, test_support.TESTFN)
+        self.assertRaises(WindowsError, os.chdir, support.TESTFN)
 
     def test_utime(self):
-        self.assertRaises(WindowsError, os.utime, test_support.TESTFN, None)
+        self.assertRaises(WindowsError, os.utime, support.TESTFN, None)
 
     def test_access(self):
-        self.assertRaises(WindowsError, os.utime, test_support.TESTFN, 0)
+        self.assertRaises(WindowsError, os.utime, support.TESTFN, 0)
 
     def test_chmod(self):
-        self.assertRaises(WindowsError, os.utime, test_support.TESTFN, 0)
+        self.assertRaises(WindowsError, os.utime, support.TESTFN, 0)
 
 if sys.platform != 'win32':
     class Win32ErrorTests(unittest.TestCase):
         pass
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         FileTests,
         StatAttributeTests,
         EnvironTests,
diff --git a/Lib/test/test_ossaudiodev.py b/Lib/test/test_ossaudiodev.py
index 8f9bf6f..6f8de97 100644
--- a/Lib/test/test_ossaudiodev.py
+++ b/Lib/test/test_ossaudiodev.py
@@ -1,7 +1,7 @@
-from test import test_support
-test_support.requires('audio')
+from test import support
+support.requires('audio')
 
-from test.test_support import findfile, TestSkipped
+from test.support import findfile, TestSkipped
 
 import errno
 import ossaudiodev
@@ -167,7 +167,7 @@
             raise TestSkipped(msg)
         raise
     dsp.close()
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_parser.py b/Lib/test/test_parser.py
index 7269ccb..e417962 100644
--- a/Lib/test/test_parser.py
+++ b/Lib/test/test_parser.py
@@ -1,7 +1,7 @@
 import parser
 import unittest
 import sys
-from test import test_support
+from test import support
 
 #
 #  First, we test that we can generate trees from valid source fragments,
@@ -471,7 +471,7 @@
         self.assertRaises(MemoryError, parser.expr, e)
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         RoundtripLegalSyntaxTestCase,
         IllegalSyntaxTestCase,
         CompileTestCase,
diff --git a/Lib/test/test_peepholer.py b/Lib/test/test_peepholer.py
index faa5523..f3e240e 100644
--- a/Lib/test/test_peepholer.py
+++ b/Lib/test/test_peepholer.py
@@ -220,16 +220,16 @@
 
 def test_main(verbose=None):
     import sys
-    from test import test_support
+    from test import support
     test_classes = (TestTranforms,)
-    test_support.run_unittest(*test_classes)
+    support.run_unittest(*test_classes)
 
     # verify reference counting
     if verbose and hasattr(sys, "gettotalrefcount"):
         import gc
         counts = [None] * 5
         for i in range(len(counts)):
-            test_support.run_unittest(*test_classes)
+            support.run_unittest(*test_classes)
             gc.collect()
             counts[i] = sys.gettotalrefcount()
         print(counts)
diff --git a/Lib/test/test_pep247.py b/Lib/test/test_pep247.py
index 9478969..733109a 100644
--- a/Lib/test/test_pep247.py
+++ b/Lib/test/test_pep247.py
@@ -6,7 +6,7 @@
 import hmac
 import unittest
 from hashlib import md5, sha1, sha224, sha256, sha384, sha512
-from test import test_support
+from test import support
 
 class Pep247Test(unittest.TestCase):
 
@@ -62,7 +62,7 @@
         self.check_module(hmac, key=b'abc')
 
 def test_main():
-    test_support.run_unittest(Pep247Test)
+    support.run_unittest(Pep247Test)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_pep263.py b/Lib/test/test_pep263.py
index 92065c9..17abbd8 100644
--- a/Lib/test/test_pep263.py
+++ b/Lib/test/test_pep263.py
@@ -2,7 +2,7 @@
 # This file is marked as binary in the CVS, to prevent MacCVS from recoding it.

 

 import unittest

-from test import test_support

+from test import support

 

 class PEP263Test(unittest.TestCase):

 

@@ -32,7 +32,7 @@
             self.fail()

 

 def test_main():

-    test_support.run_unittest(PEP263Test)

+    support.run_unittest(PEP263Test)

 

 if __name__=="__main__":

     test_main()

diff --git a/Lib/test/test_pep277.py b/Lib/test/test_pep277.py
index 770b526..eac5138 100644
--- a/Lib/test/test_pep277.py
+++ b/Lib/test/test_pep277.py
@@ -1,9 +1,9 @@
 # Test the Unicode versions of normal file functions
 # open, os.open, os.stat. os.listdir, os.rename, os.remove, os.mkdir, os.chdir, os.rmdir
 import sys, os, unittest
-from test import test_support
+from test import support
 if not os.path.supports_unicode_filenames:
-    raise test_support.TestSkipped("test works only on NT+")
+    raise support.TestSkipped("test works only on NT+")
 
 filenames = [
     'abc',
@@ -28,11 +28,11 @@
         os.rmdir(dirname)
 
 class UnicodeFileTests(unittest.TestCase):
-    files = [os.path.join(test_support.TESTFN, f) for f in filenames]
+    files = [os.path.join(support.TESTFN, f) for f in filenames]
 
     def setUp(self):
         try:
-            os.mkdir(test_support.TESTFN)
+            os.mkdir(support.TESTFN)
         except OSError:
             pass
         for name in self.files:
@@ -42,17 +42,17 @@
             os.stat(name)
 
     def tearDown(self):
-        deltree(test_support.TESTFN)
+        deltree(support.TESTFN)
 
     def _apply_failure(self, fn, filename, expected_exception,
                        check_fn_in_exception = True):
         try:
             fn(filename)
-            raise test_support.TestFailed("Expected to fail calling '%s(%r)'"
+            raise support.TestFailed("Expected to fail calling '%s(%r)'"
                              % (fn.__name__, filename))
         except expected_exception as details:
             if check_fn_in_exception and details.filename != filename:
-                raise test_support.TestFailed("Function '%s(%r) failed with "
+                raise support.TestFailed("Function '%s(%r) failed with "
                                  "bad filename in the exception: %r"
                                  % (fn.__name__, filename,
                                     details.filename))
@@ -77,10 +77,10 @@
             os.stat(name)
 
     def test_listdir(self):
-        f1 = os.listdir(test_support.TESTFN)
-        f2 = os.listdir(str(test_support.TESTFN.encode("utf-8"),
+        f1 = os.listdir(support.TESTFN)
+        f2 = os.listdir(str(support.TESTFN.encode("utf-8"),
                                 sys.getfilesystemencoding()))
-        sf2 = set("\\".join((str(test_support.TESTFN), f))
+        sf2 = set("\\".join((str(support.TESTFN), f))
                   for f in f2)
         self.failUnlessEqual(len(f1), len(self.files))
         self.failUnlessEqual(sf2, set(self.files))
@@ -91,7 +91,7 @@
             os.rename("tmp",name)
 
     def test_directory(self):
-        dirname = os.path.join(test_support.TESTFN,'Gr\xfc\xdf-\u66e8\u66e9\u66eb')
+        dirname = os.path.join(support.TESTFN,'Gr\xfc\xdf-\u66e8\u66e9\u66eb')
         filename = '\xdf-\u66e8\u66e9\u66eb'
         oldwd = os.getcwd()
         os.mkdir(dirname)
@@ -106,9 +106,9 @@
 
 def test_main():
     try:
-        test_support.run_unittest(UnicodeFileTests)
+        support.run_unittest(UnicodeFileTests)
     finally:
-        deltree(test_support.TESTFN)
+        deltree(support.TESTFN)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_pep292.py b/Lib/test/test_pep292.py
index 9820490..ce9b663 100644
--- a/Lib/test/test_pep292.py
+++ b/Lib/test/test_pep292.py
@@ -185,9 +185,9 @@
 
 
 def test_main():
-    from test import test_support
+    from test import support
     test_classes = [TestTemplate,]
-    test_support.run_unittest(*test_classes)
+    support.run_unittest(*test_classes)
 
 
 if __name__ == '__main__':
diff --git a/Lib/test/test_pep3120.py b/Lib/test/test_pep3120.py
index 3f567bf..3bb30ca 100644
--- a/Lib/test/test_pep3120.py
+++ b/Lib/test/test_pep3120.py
@@ -1,7 +1,7 @@
 # This file is marked as binary in the CVS, to prevent MacCVS from recoding it.
 
 import unittest
-from test import test_support
+from test import support
 
 class PEP3120Test(unittest.TestCase):
 
@@ -24,7 +24,7 @@
             self.fail("expected exception didn't occur")
 
 def test_main():
-    test_support.run_unittest(PEP3120Test)
+    support.run_unittest(PEP3120Test)
 
 if __name__=="__main__":
     test_main()
diff --git a/Lib/test/test_pep3131.py b/Lib/test/test_pep3131.py
index 94801c9..e4c2d03 100644
--- a/Lib/test/test_pep3131.py
+++ b/Lib/test/test_pep3131.py
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 import unittest
-from test import test_support
+from test import support
 
 class PEP3131Test(unittest.TestCase):
 
@@ -23,7 +23,7 @@
             self.fail("expected exception didn't occur")
 
 def test_main():
-    test_support.run_unittest(PEP3131Test)
+    support.run_unittest(PEP3131Test)
 
 if __name__=="__main__":
     test_main()
diff --git a/Lib/test/test_pep352.py b/Lib/test/test_pep352.py
index db117ef..5d75667 100644
--- a/Lib/test/test_pep352.py
+++ b/Lib/test/test_pep352.py
@@ -1,7 +1,7 @@
 import unittest
 import builtins
 import warnings
-from test.test_support import run_unittest
+from test.support import run_unittest
 import os
 from platform import system as platform_system
 
diff --git a/Lib/test/test_pickle.py b/Lib/test/test_pickle.py
index 67d83c7c..42fb33e 100644
--- a/Lib/test/test_pickle.py
+++ b/Lib/test/test_pickle.py
@@ -1,7 +1,7 @@
 import pickle
 import io
 
-from test import test_support
+from test import support
 
 from test.pickletester import AbstractPickleTests
 from test.pickletester import AbstractPickleModuleTests
@@ -55,12 +55,12 @@
         return u.load()
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         PickleTests,
         PicklerTests,
         PersPicklerTests
     )
-    test_support.run_doctest(pickle)
+    support.run_doctest(pickle)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_pickletools.py b/Lib/test/test_pickletools.py
index 932dcd1..ccb6c9c 100644
--- a/Lib/test/test_pickletools.py
+++ b/Lib/test/test_pickletools.py
@@ -1,6 +1,6 @@
 import pickle
 import pickletools
-from test import test_support
+from test import support
 from test.pickletester import AbstractPickleTests
 from test.pickletester import AbstractPickleModuleTests
 
@@ -16,8 +16,8 @@
     error = KeyError
 
 def test_main():
-    test_support.run_unittest(OptimizedPickleTests)
-    test_support.run_doctest(pickletools)
+    support.run_unittest(OptimizedPickleTests)
+    support.run_doctest(pickletools)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_pipes.py b/Lib/test/test_pipes.py
index 63eaa4d..d55f352 100644
--- a/Lib/test/test_pipes.py
+++ b/Lib/test/test_pipes.py
@@ -2,7 +2,7 @@
 import os
 import string
 import unittest
-from test.test_support import TESTFN, run_unittest, unlink, TestSkipped
+from test.support import TESTFN, run_unittest, unlink, TestSkipped
 
 if os.name != 'posix':
     raise TestSkipped('pipes module only works on posix')
diff --git a/Lib/test/test_pkg.py b/Lib/test/test_pkg.py
index db8e844..1064617 100644
--- a/Lib/test/test_pkg.py
+++ b/Lib/test/test_pkg.py
@@ -5,7 +5,7 @@
 import tempfile
 import textwrap
 import unittest
-from test import test_support
+from test import support
 
 
 # Helpers to create and destroy hierarchies.
@@ -280,7 +280,7 @@
 
 
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_pkgimport.py b/Lib/test/test_pkgimport.py
index 316ea83..eff7b5a 100644
--- a/Lib/test/test_pkgimport.py
+++ b/Lib/test/test_pkgimport.py
@@ -1,6 +1,6 @@
 import os, sys, string, random, tempfile, unittest
 
-from test.test_support import run_unittest
+from test.support import run_unittest
 
 class TestImport(unittest.TestCase):
 
diff --git a/Lib/test/test_pkgutil.py b/Lib/test/test_pkgutil.py
index dfd2430..169ef66 100644
--- a/Lib/test/test_pkgutil.py
+++ b/Lib/test/test_pkgutil.py
@@ -1,4 +1,4 @@
-from test.test_support import run_unittest
+from test.support import run_unittest
 import unittest
 import sys
 import imp
diff --git a/Lib/test/test_platform.py b/Lib/test/test_platform.py
index fced4d0..3758060 100644
--- a/Lib/test/test_platform.py
+++ b/Lib/test/test_platform.py
@@ -2,7 +2,7 @@
 import unittest
 import platform
 
-from test import test_support
+from test import support
 
 class PlatformTest(unittest.TestCase):
     def test_architecture(self):
@@ -82,7 +82,7 @@
         res = platform.libc_ver(sys.executable)
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         PlatformTest
     )
 
diff --git a/Lib/test/test_plistlib.py b/Lib/test/test_plistlib.py
index 883b01f..b9a46b7 100644
--- a/Lib/test/test_plistlib.py
+++ b/Lib/test/test_plistlib.py
@@ -4,7 +4,7 @@
 import plistlib
 import os
 import datetime
-from test import test_support
+from test import support
 
 
 # This test data was generated through Cocoa's NSDictionary class
@@ -91,7 +91,7 @@
 
     def tearDown(self):
         try:
-            os.unlink(test_support.TESTFN)
+            os.unlink(support.TESTFN)
         except:
             pass
 
@@ -123,8 +123,8 @@
 
     def test_io(self):
         pl = self._create()
-        plistlib.writePlist(pl, test_support.TESTFN)
-        pl2 = plistlib.readPlist(test_support.TESTFN)
+        plistlib.writePlist(pl, support.TESTFN)
+        pl2 = plistlib.readPlist(support.TESTFN)
         self.assertEqual(dict(pl), dict(pl2))
 
     def test_bytes(self):
@@ -177,7 +177,7 @@
 
 
 def test_main():
-    test_support.run_unittest(TestPlistlib)
+    support.run_unittest(TestPlistlib)
 
 
 if __name__ == '__main__':
diff --git a/Lib/test/test_poll.py b/Lib/test/test_poll.py
index d546c78..c346ba0 100644
--- a/Lib/test/test_poll.py
+++ b/Lib/test/test_poll.py
@@ -1,7 +1,7 @@
 # Test case for the os.poll() function
 
 import os, select, random, unittest
-from test.test_support import TestSkipped, TESTFN, run_unittest
+from test.support import TestSkipped, TESTFN, run_unittest
 
 try:
     select.poll
diff --git a/Lib/test/test_popen.py b/Lib/test/test_popen.py
index 209bb13..d728792 100644
--- a/Lib/test/test_popen.py
+++ b/Lib/test/test_popen.py
@@ -5,7 +5,7 @@
 """
 
 import unittest
-from test import test_support
+from test import support
 import os, sys
 
 # Test that command-lines get down as we expect.
@@ -40,10 +40,10 @@
             'foo "a \\"quoted\\" arg" bar',
             ["foo", 'a "quoted" arg', "bar"]
         )
-        test_support.reap_children()
+        support.reap_children()
 
 def test_main():
-    test_support.run_unittest(PopenTest)
+    support.run_unittest(PopenTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_poplib.py b/Lib/test/test_poplib.py
index cd550df..14b46e3 100644
--- a/Lib/test/test_poplib.py
+++ b/Lib/test/test_poplib.py
@@ -4,9 +4,9 @@
 import time
 
 from unittest import TestCase
-from test import test_support
+from test import support
 
-HOST = test_support.HOST
+HOST = support.HOST
 
 def server(evt, serv):
     serv.listen(5)
@@ -27,7 +27,7 @@
         self.evt = threading.Event()
         self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         self.sock.settimeout(3)
-        self.port = test_support.bind_port(self.sock)
+        self.port = support.bind_port(self.sock)
         threading.Thread(target=server, args=(self.evt,self.sock)).start()
         time.sleep(.1)
 
@@ -65,7 +65,7 @@
 
 
 def test_main(verbose=None):
-    test_support.run_unittest(GeneralTests)
+    support.run_unittest(GeneralTests)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py
index 57e9d15..f16abb2 100644
--- a/Lib/test/test_posix.py
+++ b/Lib/test/test_posix.py
@@ -1,11 +1,11 @@
 "Test posix functions"
 
-from test import test_support
+from test import support
 
 try:
     import posix
 except ImportError:
-    raise test_support.TestSkipped("posix is not available")
+    raise support.TestSkipped("posix is not available")
 
 import time
 import os
@@ -19,11 +19,11 @@
 
     def setUp(self):
         # create empty file
-        fp = open(test_support.TESTFN, 'w+')
+        fp = open(support.TESTFN, 'w+')
         fp.close()
 
     def tearDown(self):
-        os.unlink(test_support.TESTFN)
+        os.unlink(support.TESTFN)
 
     def testNoArgFunctions(self):
         # test posix functions which take no arguments and have
@@ -46,7 +46,7 @@
 
     def test_fstatvfs(self):
         if hasattr(posix, 'fstatvfs'):
-            fp = open(test_support.TESTFN)
+            fp = open(support.TESTFN)
             try:
                 self.assert_(posix.fstatvfs(fp.fileno()))
             finally:
@@ -54,7 +54,7 @@
 
     def test_ftruncate(self):
         if hasattr(posix, 'ftruncate'):
-            fp = open(test_support.TESTFN, 'w+')
+            fp = open(support.TESTFN, 'w+')
             try:
                 # we need to have some data to truncate
                 fp.write('test')
@@ -65,7 +65,7 @@
 
     def test_dup(self):
         if hasattr(posix, 'dup'):
-            fp = open(test_support.TESTFN)
+            fp = open(support.TESTFN)
             try:
                 fd = posix.dup(fp.fileno())
                 self.assert_(isinstance(fd, int))
@@ -80,8 +80,8 @@
 
     def test_dup2(self):
         if hasattr(posix, 'dup2'):
-            fp1 = open(test_support.TESTFN)
-            fp2 = open(test_support.TESTFN)
+            fp1 = open(support.TESTFN)
+            fp2 = open(support.TESTFN)
             try:
                 posix.dup2(fp1.fileno(), fp2.fileno())
             finally:
@@ -89,7 +89,7 @@
                 fp2.close()
 
     def fdopen_helper(self, *args):
-        fd = os.open(test_support.TESTFN, os.O_RDONLY)
+        fd = os.open(support.TESTFN, os.O_RDONLY)
         fp2 = posix.fdopen(fd, *args)
         fp2.close()
 
@@ -101,38 +101,38 @@
 
     def test_osexlock(self):
         if hasattr(posix, "O_EXLOCK"):
-            fd = os.open(test_support.TESTFN,
+            fd = os.open(support.TESTFN,
                          os.O_WRONLY|os.O_EXLOCK|os.O_CREAT)
-            self.assertRaises(OSError, os.open, test_support.TESTFN,
+            self.assertRaises(OSError, os.open, support.TESTFN,
                               os.O_WRONLY|os.O_EXLOCK|os.O_NONBLOCK)
             os.close(fd)
 
             if hasattr(posix, "O_SHLOCK"):
-                fd = os.open(test_support.TESTFN,
+                fd = os.open(support.TESTFN,
                              os.O_WRONLY|os.O_SHLOCK|os.O_CREAT)
-                self.assertRaises(OSError, os.open, test_support.TESTFN,
+                self.assertRaises(OSError, os.open, support.TESTFN,
                                   os.O_WRONLY|os.O_EXLOCK|os.O_NONBLOCK)
                 os.close(fd)
 
     def test_osshlock(self):
         if hasattr(posix, "O_SHLOCK"):
-            fd1 = os.open(test_support.TESTFN,
+            fd1 = os.open(support.TESTFN,
                          os.O_WRONLY|os.O_SHLOCK|os.O_CREAT)
-            fd2 = os.open(test_support.TESTFN,
+            fd2 = os.open(support.TESTFN,
                           os.O_WRONLY|os.O_SHLOCK|os.O_CREAT)
             os.close(fd2)
             os.close(fd1)
 
             if hasattr(posix, "O_EXLOCK"):
-                fd = os.open(test_support.TESTFN,
+                fd = os.open(support.TESTFN,
                              os.O_WRONLY|os.O_SHLOCK|os.O_CREAT)
-                self.assertRaises(OSError, os.open, test_support.TESTFN,
+                self.assertRaises(OSError, os.open, support.TESTFN,
                                   os.O_RDONLY|os.O_EXLOCK|os.O_NONBLOCK)
                 os.close(fd)
 
     def test_fstat(self):
         if hasattr(posix, 'fstat'):
-            fp = open(test_support.TESTFN)
+            fp = open(support.TESTFN)
             try:
                 self.assert_(posix.fstat(fp.fileno()))
             finally:
@@ -140,16 +140,16 @@
 
     def test_stat(self):
         if hasattr(posix, 'stat'):
-            self.assert_(posix.stat(test_support.TESTFN))
+            self.assert_(posix.stat(support.TESTFN))
 
     if hasattr(posix, 'chown'):
         def test_chown(self):
             # raise an OSError if the file does not exist
-            os.unlink(test_support.TESTFN)
-            self.assertRaises(OSError, posix.chown, test_support.TESTFN, -1, -1)
+            os.unlink(support.TESTFN)
+            self.assertRaises(OSError, posix.chown, support.TESTFN, -1, -1)
 
             # re-create the file
-            open(test_support.TESTFN, 'w').close()
+            open(support.TESTFN, 'w').close()
             if os.getuid() == 0:
                 try:
                     # Many linux distros have a nfsnobody user as MAX_UID-2
@@ -158,29 +158,29 @@
                     # This part of the test only runs when run as root.
                     # Only scary people run their tests as root.
                     ent = pwd.getpwnam('nfsnobody')
-                    posix.chown(test_support.TESTFN, ent.pw_uid, ent.pw_gid)
+                    posix.chown(support.TESTFN, ent.pw_uid, ent.pw_gid)
                 except KeyError:
                     pass
             else:
                 # non-root cannot chown to root, raises OSError
                 self.assertRaises(OSError, posix.chown,
-                                  test_support.TESTFN, 0, 0)
+                                  support.TESTFN, 0, 0)
 
             # test a successful chown call
-            posix.chown(test_support.TESTFN, os.getuid(), os.getgid())
+            posix.chown(support.TESTFN, os.getuid(), os.getgid())
 
     def test_chdir(self):
         if hasattr(posix, 'chdir'):
             posix.chdir(os.curdir)
-            self.assertRaises(OSError, posix.chdir, test_support.TESTFN)
+            self.assertRaises(OSError, posix.chdir, support.TESTFN)
 
     def test_lsdir(self):
         if hasattr(posix, 'lsdir'):
-            self.assert_(test_support.TESTFN in posix.lsdir(os.curdir))
+            self.assert_(support.TESTFN in posix.lsdir(os.curdir))
 
     def test_access(self):
         if hasattr(posix, 'access'):
-            self.assert_(posix.access(test_support.TESTFN, os.R_OK))
+            self.assert_(posix.access(support.TESTFN, os.R_OK))
 
     def test_umask(self):
         if hasattr(posix, 'umask'):
@@ -201,24 +201,24 @@
     def test_utime(self):
         if hasattr(posix, 'utime'):
             now = time.time()
-            posix.utime(test_support.TESTFN, None)
-            self.assertRaises(TypeError, posix.utime, test_support.TESTFN, (None, None))
-            self.assertRaises(TypeError, posix.utime, test_support.TESTFN, (now, None))
-            self.assertRaises(TypeError, posix.utime, test_support.TESTFN, (None, now))
-            posix.utime(test_support.TESTFN, (int(now), int(now)))
-            posix.utime(test_support.TESTFN, (now, now))
+            posix.utime(support.TESTFN, None)
+            self.assertRaises(TypeError, posix.utime, support.TESTFN, (None, None))
+            self.assertRaises(TypeError, posix.utime, support.TESTFN, (now, None))
+            self.assertRaises(TypeError, posix.utime, support.TESTFN, (None, now))
+            posix.utime(support.TESTFN, (int(now), int(now)))
+            posix.utime(support.TESTFN, (now, now))
 
     def test_chflags(self):
         if hasattr(posix, 'chflags'):
-            st = os.stat(test_support.TESTFN)
+            st = os.stat(support.TESTFN)
             if hasattr(st, 'st_flags'):
-                posix.chflags(test_support.TESTFN, st.st_flags)
+                posix.chflags(support.TESTFN, st.st_flags)
 
     def test_lchflags(self):
         if hasattr(posix, 'lchflags'):
-            st = os.stat(test_support.TESTFN)
+            st = os.stat(support.TESTFN)
             if hasattr(st, 'st_flags'):
-                posix.lchflags(test_support.TESTFN, st.st_flags)
+                posix.lchflags(support.TESTFN, st.st_flags)
 
     def test_environ(self):
         for k, v in posix.environ.items():
@@ -226,7 +226,7 @@
             self.assertEqual(type(v), str)
 
 def test_main():
-    test_support.run_unittest(PosixTester)
+    support.run_unittest(PosixTester)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_posixpath.py b/Lib/test/test_posixpath.py
index a25e2b2..8a7dd72 100644
--- a/Lib/test/test_posixpath.py
+++ b/Lib/test/test_posixpath.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 
 import posixpath, os
 from posixpath import realpath, abspath, join, dirname, basename, relpath
@@ -7,7 +7,7 @@
 # An absolute path to a temporary filename for testing. We can't rely on TESTFN
 # being an absolute path, so we need this.
 
-ABSTFN = abspath(test_support.TESTFN)
+ABSTFN = abspath(support.TESTFN)
 
 def safe_rmdir(dirname):
     try:
@@ -22,8 +22,8 @@
 
     def tearDown(self):
         for suffix in ["", "1", "2"]:
-            test_support.unlink(test_support.TESTFN + suffix)
-            safe_rmdir(test_support.TESTFN + suffix)
+            support.unlink(support.TESTFN + suffix)
+            safe_rmdir(support.TESTFN + suffix)
 
     def assertIs(self, a, b):
         self.assert_(a is b)
@@ -141,50 +141,50 @@
                     self.assertNotEqual(s1[n:n+1], s2[n:n+1])
 
     def test_getsize(self):
-        f = open(test_support.TESTFN, "wb")
+        f = open(support.TESTFN, "wb")
         try:
             f.write(b"foo")
             f.close()
-            self.assertEqual(posixpath.getsize(test_support.TESTFN), 3)
+            self.assertEqual(posixpath.getsize(support.TESTFN), 3)
         finally:
             if not f.closed:
                 f.close()
 
     def test_time(self):
-        f = open(test_support.TESTFN, "wb")
+        f = open(support.TESTFN, "wb")
         try:
             f.write(b"foo")
             f.close()
-            f = open(test_support.TESTFN, "ab")
+            f = open(support.TESTFN, "ab")
             f.write(b"bar")
             f.close()
-            f = open(test_support.TESTFN, "rb")
+            f = open(support.TESTFN, "rb")
             d = f.read()
             f.close()
             self.assertEqual(d, b"foobar")
 
             self.assert_(
-                posixpath.getctime(test_support.TESTFN) <=
-                posixpath.getmtime(test_support.TESTFN)
+                posixpath.getctime(support.TESTFN) <=
+                posixpath.getmtime(support.TESTFN)
             )
         finally:
             if not f.closed:
                 f.close()
 
     def test_islink(self):
-        self.assertIs(posixpath.islink(test_support.TESTFN + "1"), False)
-        f = open(test_support.TESTFN + "1", "wb")
+        self.assertIs(posixpath.islink(support.TESTFN + "1"), False)
+        f = open(support.TESTFN + "1", "wb")
         try:
             f.write(b"foo")
             f.close()
-            self.assertIs(posixpath.islink(test_support.TESTFN + "1"), False)
+            self.assertIs(posixpath.islink(support.TESTFN + "1"), False)
             if hasattr(os, "symlink"):
-                os.symlink(test_support.TESTFN + "1", test_support.TESTFN + "2")
-                self.assertIs(posixpath.islink(test_support.TESTFN + "2"), True)
-                os.remove(test_support.TESTFN + "1")
-                self.assertIs(posixpath.islink(test_support.TESTFN + "2"), True)
-                self.assertIs(posixpath.exists(test_support.TESTFN + "2"), False)
-                self.assertIs(posixpath.lexists(test_support.TESTFN + "2"), True)
+                os.symlink(support.TESTFN + "1", support.TESTFN + "2")
+                self.assertIs(posixpath.islink(support.TESTFN + "2"), True)
+                os.remove(support.TESTFN + "1")
+                self.assertIs(posixpath.islink(support.TESTFN + "2"), True)
+                self.assertIs(posixpath.exists(support.TESTFN + "2"), False)
+                self.assertIs(posixpath.lexists(support.TESTFN + "2"), True)
         finally:
             if not f.close():
                 f.close()
@@ -192,13 +192,13 @@
         self.assertRaises(TypeError, posixpath.islink)
 
     def test_exists(self):
-        self.assertIs(posixpath.exists(test_support.TESTFN), False)
-        f = open(test_support.TESTFN, "wb")
+        self.assertIs(posixpath.exists(support.TESTFN), False)
+        f = open(support.TESTFN, "wb")
         try:
             f.write(b"foo")
             f.close()
-            self.assertIs(posixpath.exists(test_support.TESTFN), True)
-            self.assertIs(posixpath.lexists(test_support.TESTFN), True)
+            self.assertIs(posixpath.exists(support.TESTFN), True)
+            self.assertIs(posixpath.lexists(support.TESTFN), True)
         finally:
             if not f.close():
                 f.close()
@@ -206,16 +206,16 @@
         self.assertRaises(TypeError, posixpath.exists)
 
     def test_isdir(self):
-        self.assertIs(posixpath.isdir(test_support.TESTFN), False)
-        f = open(test_support.TESTFN, "wb")
+        self.assertIs(posixpath.isdir(support.TESTFN), False)
+        f = open(support.TESTFN, "wb")
         try:
             f.write(b"foo")
             f.close()
-            self.assertIs(posixpath.isdir(test_support.TESTFN), False)
-            os.remove(test_support.TESTFN)
-            os.mkdir(test_support.TESTFN)
-            self.assertIs(posixpath.isdir(test_support.TESTFN), True)
-            os.rmdir(test_support.TESTFN)
+            self.assertIs(posixpath.isdir(support.TESTFN), False)
+            os.remove(support.TESTFN)
+            os.mkdir(support.TESTFN)
+            self.assertIs(posixpath.isdir(support.TESTFN), True)
+            os.rmdir(support.TESTFN)
         finally:
             if not f.close():
                 f.close()
@@ -223,16 +223,16 @@
         self.assertRaises(TypeError, posixpath.isdir)
 
     def test_isfile(self):
-        self.assertIs(posixpath.isfile(test_support.TESTFN), False)
-        f = open(test_support.TESTFN, "wb")
+        self.assertIs(posixpath.isfile(support.TESTFN), False)
+        f = open(support.TESTFN, "wb")
         try:
             f.write(b"foo")
             f.close()
-            self.assertIs(posixpath.isfile(test_support.TESTFN), True)
-            os.remove(test_support.TESTFN)
-            os.mkdir(test_support.TESTFN)
-            self.assertIs(posixpath.isfile(test_support.TESTFN), False)
-            os.rmdir(test_support.TESTFN)
+            self.assertIs(posixpath.isfile(support.TESTFN), True)
+            os.remove(support.TESTFN)
+            os.mkdir(support.TESTFN)
+            self.assertIs(posixpath.isfile(support.TESTFN), False)
+            os.rmdir(support.TESTFN)
         finally:
             if not f.close():
                 f.close()
@@ -240,14 +240,14 @@
         self.assertRaises(TypeError, posixpath.isdir)
 
     def test_samefile(self):
-        f = open(test_support.TESTFN + "1", "wb")
+        f = open(support.TESTFN + "1", "wb")
         try:
             f.write(b"foo")
             f.close()
             self.assertIs(
                 posixpath.samefile(
-                    test_support.TESTFN + "1",
-                    test_support.TESTFN + "1"
+                    support.TESTFN + "1",
+                    support.TESTFN + "1"
                 ),
                 True
             )
@@ -255,24 +255,24 @@
             # inode information and thus, that samefile() doesn't work
             if hasattr(os, "symlink"):
                 os.symlink(
-                    test_support.TESTFN + "1",
-                    test_support.TESTFN + "2"
+                    support.TESTFN + "1",
+                    support.TESTFN + "2"
                 )
                 self.assertIs(
                     posixpath.samefile(
-                        test_support.TESTFN + "1",
-                        test_support.TESTFN + "2"
+                        support.TESTFN + "1",
+                        support.TESTFN + "2"
                     ),
                     True
                 )
-                os.remove(test_support.TESTFN + "2")
-                f = open(test_support.TESTFN + "2", "wb")
+                os.remove(support.TESTFN + "2")
+                f = open(support.TESTFN + "2", "wb")
                 f.write(b"bar")
                 f.close()
                 self.assertIs(
                     posixpath.samefile(
-                        test_support.TESTFN + "1",
-                        test_support.TESTFN + "2"
+                        support.TESTFN + "1",
+                        support.TESTFN + "2"
                     ),
                     False
                 )
@@ -283,14 +283,14 @@
         self.assertRaises(TypeError, posixpath.samefile)
 
     def test_samestat(self):
-        f = open(test_support.TESTFN + "1", "wb")
+        f = open(support.TESTFN + "1", "wb")
         try:
             f.write(b"foo")
             f.close()
             self.assertIs(
                 posixpath.samestat(
-                    os.stat(test_support.TESTFN + "1"),
-                    os.stat(test_support.TESTFN + "1")
+                    os.stat(support.TESTFN + "1"),
+                    os.stat(support.TESTFN + "1")
                 ),
                 True
             )
@@ -298,22 +298,22 @@
             # inode information and thus, that samefile() doesn't work
             if hasattr(os, "symlink"):
                 if hasattr(os, "symlink"):
-                    os.symlink(test_support.TESTFN + "1", test_support.TESTFN + "2")
+                    os.symlink(support.TESTFN + "1", support.TESTFN + "2")
                     self.assertIs(
                         posixpath.samestat(
-                            os.stat(test_support.TESTFN + "1"),
-                            os.stat(test_support.TESTFN + "2")
+                            os.stat(support.TESTFN + "1"),
+                            os.stat(support.TESTFN + "2")
                         ),
                         True
                     )
-                    os.remove(test_support.TESTFN + "2")
-                f = open(test_support.TESTFN + "2", "wb")
+                    os.remove(support.TESTFN + "2")
+                f = open(support.TESTFN + "2", "wb")
                 f.write(b"bar")
                 f.close()
                 self.assertIs(
                     posixpath.samestat(
-                        os.stat(test_support.TESTFN + "1"),
-                        os.stat(test_support.TESTFN + "2")
+                        os.stat(support.TESTFN + "1"),
+                        os.stat(support.TESTFN + "2")
                     ),
                     False
                 )
@@ -399,7 +399,7 @@
                 os.symlink(ABSTFN+"1", ABSTFN)
                 self.assertEqual(realpath(ABSTFN), ABSTFN+"1")
             finally:
-                test_support.unlink(ABSTFN)
+                support.unlink(ABSTFN)
 
         def test_realpath_symlink_loops(self):
             # Bug #930024, return the path unchanged if we get into an infinite
@@ -419,9 +419,9 @@
                 self.assertEqual(realpath(basename(ABSTFN)), ABSTFN)
             finally:
                 os.chdir(old_path)
-                test_support.unlink(ABSTFN)
-                test_support.unlink(ABSTFN+"1")
-                test_support.unlink(ABSTFN+"2")
+                support.unlink(ABSTFN)
+                support.unlink(ABSTFN+"1")
+                support.unlink(ABSTFN+"2")
 
         def test_realpath_resolve_parents(self):
             # We also need to resolve any symlinks in the parents of a relative
@@ -438,7 +438,7 @@
                 self.assertEqual(realpath("a"), ABSTFN + "/y/a")
             finally:
                 os.chdir(old_path)
-                test_support.unlink(ABSTFN + "/k")
+                support.unlink(ABSTFN + "/k")
                 safe_rmdir(ABSTFN + "/y")
                 safe_rmdir(ABSTFN)
 
@@ -464,7 +464,7 @@
                 self.assertEqual(realpath(basename(ABSTFN) + "/link-y/.."), ABSTFN + "/k")
             finally:
                 os.chdir(old_path)
-                test_support.unlink(ABSTFN + "/link-y")
+                support.unlink(ABSTFN + "/link-y")
                 safe_rmdir(ABSTFN + "/k/y")
                 safe_rmdir(ABSTFN + "/k")
                 safe_rmdir(ABSTFN)
@@ -485,7 +485,7 @@
                 self.assertEqual(realpath(base + "link/k"), ABSTFN + "/k")
             finally:
                 os.chdir(old_path)
-                test_support.unlink(ABSTFN + "link")
+                support.unlink(ABSTFN + "link")
                 safe_rmdir(ABSTFN + "/k")
                 safe_rmdir(ABSTFN)
 
@@ -506,7 +506,7 @@
             os.getcwd = real_getcwd
 
 def test_main():
-    test_support.run_unittest(PosixPathTest)
+    support.run_unittest(PosixPathTest)
 
 if __name__=="__main__":
     test_main()
diff --git a/Lib/test/test_pow.py b/Lib/test/test_pow.py
index 9b358f1..859c373 100644
--- a/Lib/test/test_pow.py
+++ b/Lib/test/test_pow.py
@@ -1,4 +1,4 @@
-import test.test_support, unittest
+import test.support, unittest
 
 class PowTest(unittest.TestCase):
 
@@ -123,7 +123,7 @@
         eq(expected, 1.0)   # else we didn't push fiveto to evenness
 
 def test_main():
-    test.test_support.run_unittest(PowTest)
+    test.support.run_unittest(PowTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_pprint.py b/Lib/test/test_pprint.py
index ed35287..54c0c57 100644
--- a/Lib/test/test_pprint.py
+++ b/Lib/test/test_pprint.py
@@ -1,5 +1,5 @@
 import pprint
-import test.test_support
+import test.support
 import unittest
 import test.test_set
 
@@ -411,7 +411,7 @@
 
 
 def test_main():
-    test.test_support.run_unittest(QueryTestCase)
+    test.support.run_unittest(QueryTestCase)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_print.py b/Lib/test/test_print.py
index 58ca069..f157bc7 100644
--- a/Lib/test/test_print.py
+++ b/Lib/test/test_print.py
@@ -6,7 +6,7 @@
 from __future__ import print_function
 
 import unittest
-from test import test_support
+from test import support
 
 import sys
 try:
@@ -62,7 +62,7 @@
                        end is not NotDefined,
                        file is not NotDefined)]
 
-        with test_support.captured_stdout() as t:
+        with support.captured_stdout() as t:
             fn(args, sep, end, file)
 
         self.assertEqual(t.getvalue(), expected)
@@ -113,7 +113,7 @@
         self.assertRaises(AttributeError, print, '', file='')
 
 def test_main():
-    test_support.run_unittest(TestPrint)
+    support.run_unittest(TestPrint)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_profile.py b/Lib/test/test_profile.py
index 9fea434..84167dd 100755
--- a/Lib/test/test_profile.py
+++ b/Lib/test/test_profile.py
@@ -6,7 +6,7 @@
 import unittest
 from difflib import unified_diff
 from io import StringIO
-from test.test_support import run_unittest
+from test.support import run_unittest
 
 import profile
 from test.profilee import testfunc, timer
diff --git a/Lib/test/test_profilehooks.py b/Lib/test/test_profilehooks.py
index 6d6aa8e..296c997 100644
--- a/Lib/test/test_profilehooks.py
+++ b/Lib/test/test_profilehooks.py
@@ -2,7 +2,7 @@
 import sys
 import unittest
 
-from test import test_support
+from test import support
 
 class TestGetProfile(unittest.TestCase):
     def setUp(self):
@@ -357,7 +357,7 @@
     except TypeError:
         pass
     else:
-        raise test_support.TestFailed(
+        raise support.TestFailed(
             'sys.setprofile() did not raise TypeError')
 
     if p is None:
@@ -374,7 +374,7 @@
 
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         TestGetProfile,
         ProfileHookTestCase,
         ProfileSimulatorTestCase
diff --git a/Lib/test/test_property.py b/Lib/test/test_property.py
index 4b6e20c..c957ec2 100644
--- a/Lib/test/test_property.py
+++ b/Lib/test/test_property.py
@@ -2,7 +2,7 @@
 # more tests are in test_descr
 
 import unittest
-from test.test_support import run_unittest
+from test.support import run_unittest
 
 class PropertyBase(Exception):
     pass
diff --git a/Lib/test/test_pstats.py b/Lib/test/test_pstats.py
index 660316b..095123d 100644
--- a/Lib/test/test_pstats.py
+++ b/Lib/test/test_pstats.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 import pstats
 
 
@@ -17,7 +17,7 @@
 
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         AddCallersTestCase
     )
 
diff --git a/Lib/test/test_pty.py b/Lib/test/test_pty.py
index 58a3041..f62fc99 100644
--- a/Lib/test/test_pty.py
+++ b/Lib/test/test_pty.py
@@ -4,7 +4,7 @@
 import os
 import sys
 import signal
-from test.test_support import verbose, TestSkipped, run_unittest
+from test.support import verbose, TestSkipped, run_unittest
 import unittest
 
 TEST_STRING_1 = "I wish to buy a fish license.\n"
diff --git a/Lib/test/test_pwd.py b/Lib/test/test_pwd.py
index 19187a3..b5a5de7 100644
--- a/Lib/test/test_pwd.py
+++ b/Lib/test/test_pwd.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 
 import pwd
 
@@ -91,7 +91,7 @@
         self.assertRaises(KeyError, pwd.getpwuid, fakeuid)
 
 def test_main():
-    test_support.run_unittest(PwdTest)
+    support.run_unittest(PwdTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_pyclbr.py b/Lib/test/test_pyclbr.py
index 57ede89..bcc16df 100644
--- a/Lib/test/test_pyclbr.py
+++ b/Lib/test/test_pyclbr.py
@@ -2,7 +2,7 @@
    Test cases for pyclbr.py
    Nick Mathewson
 '''
-from test.test_support import run_unittest
+from test.support import run_unittest
 import sys
 from types import FunctionType, MethodType, BuiltinFunctionType
 import pyclbr
diff --git a/Lib/test/test_pydoc.py b/Lib/test/test_pydoc.py
index ba37ec1..cc4a096 100644
--- a/Lib/test/test_pydoc.py
+++ b/Lib/test/test_pydoc.py
@@ -1,4 +1,4 @@
-from test import test_support

+from test import support

 import unittest

 import pydoc

 

@@ -19,7 +19,7 @@
                         in pydoc.render_doc(c))

 

 def test_main():

-    test_support.run_unittest(TestDescriptions)

+    support.run_unittest(TestDescriptions)

 

 if __name__ == "__main__":

     unittest.main()

diff --git a/Lib/test/test_pyexpat.py b/Lib/test/test_pyexpat.py
index 9fda72d..c252134 100644
--- a/Lib/test/test_pyexpat.py
+++ b/Lib/test/test_pyexpat.py
@@ -8,7 +8,7 @@
 import pyexpat
 from xml.parsers import expat
 
-from test.test_support import sortdict, run_unittest
+from test.support import sortdict, run_unittest
 
 
 class SetAttributeTest(unittest.TestCase):
diff --git a/Lib/test/test_queue.py b/Lib/test/test_queue.py
index df7b7e3..6303117 100644
--- a/Lib/test/test_queue.py
+++ b/Lib/test/test_queue.py
@@ -5,7 +5,7 @@
 import threading
 import time
 import unittest
-from test import test_support
+from test import support
 
 QUEUE_SIZE = 5
 
@@ -318,7 +318,7 @@
 
 
 def test_main():
-    test_support.run_unittest(QueueTest, LifoQueueTest, PriorityQueueTest,
+    support.run_unittest(QueueTest, LifoQueueTest, PriorityQueueTest,
                               FailingQueueTest)
 
 
diff --git a/Lib/test/test_quopri.py b/Lib/test/test_quopri.py
index b9ad65b..2c52a3c 100644
--- a/Lib/test/test_quopri.py
+++ b/Lib/test/test_quopri.py
@@ -1,4 +1,4 @@
-from test import test_support
+from test import support
 import unittest
 
 import sys, os, io, subprocess
@@ -199,7 +199,7 @@
         self.assertEqual(cout.splitlines(), p.splitlines())
 
 def test_main():
-    test_support.run_unittest(QuopriTestCase)
+    support.run_unittest(QuopriTestCase)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_raise.py b/Lib/test/test_raise.py
index 27a5cbc..89e2190 100644
--- a/Lib/test/test_raise.py
+++ b/Lib/test/test_raise.py
@@ -3,7 +3,7 @@
 
 """Tests for the raise statement."""
 
-from test import test_support
+from test import support
 import sys
 import types
 import unittest
@@ -156,7 +156,7 @@
 
 
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_random.py b/Lib/test/test_random.py
index c02eb09..04c49fa 100644
--- a/Lib/test/test_random.py
+++ b/Lib/test/test_random.py
@@ -6,7 +6,7 @@
 import pickle
 import warnings
 from math import log, exp, sqrt, pi
-from test import test_support
+from test import support
 
 class TestBasicOps(unittest.TestCase):
     # Superclass with tests common to all generators.
@@ -118,7 +118,7 @@
                  ("randv2_64.pck", 866),
                  ("randv3.pck", 343)]
         for file, value in files:
-            f = open(test_support.findfile(file),"rb")
+            f = open(support.findfile(file),"rb")
             r = pickle.load(f)
             f.close()
             self.assertEqual(r.randrange(1000), value)
@@ -474,14 +474,14 @@
     else:
         testclasses.append(SystemRandom_TestBasicOps)
 
-    test_support.run_unittest(*testclasses)
+    support.run_unittest(*testclasses)
 
     # verify reference counting
     import sys
     if verbose and hasattr(sys, "gettotalrefcount"):
         counts = [None] * 5
         for i in range(len(counts)):
-            test_support.run_unittest(*testclasses)
+            support.run_unittest(*testclasses)
             counts[i] = sys.gettotalrefcount()
         print(counts)
 
diff --git a/Lib/test/test_range.py b/Lib/test/test_range.py
index dedf007..1fd8f1d 100644
--- a/Lib/test/test_range.py
+++ b/Lib/test/test_range.py
@@ -1,6 +1,6 @@
 # Python test set -- built-in functions
 
-import test.test_support, unittest
+import test.support, unittest
 import sys
 
 import warnings
@@ -62,7 +62,7 @@
         self.assertEqual(repr(range(1, 2, 3)), 'range(1, 2, 3)')
 
 def test_main():
-    test.test_support.run_unittest(RangeTest)
+    test.support.run_unittest(RangeTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_re.py b/Lib/test/test_re.py
index 11677f3..0b023c2 100644
--- a/Lib/test/test_re.py
+++ b/Lib/test/test_re.py
@@ -1,7 +1,7 @@
 import sys
 sys.path = ['.'] + sys.path
 
-from test.test_support import verbose, run_unittest, catch_warning
+from test.support import verbose, run_unittest, catch_warning
 import re
 from re import Scanner
 import sys, os, traceback
diff --git a/Lib/test/test_reprlib.py b/Lib/test/test_reprlib.py
index 442c048..8bd0ccf 100644
--- a/Lib/test/test_reprlib.py
+++ b/Lib/test/test_reprlib.py
@@ -8,7 +8,7 @@
 import shutil
 import unittest
 
-from test.test_support import run_unittest
+from test.support import run_unittest
 from reprlib import repr as r # Don't shadow builtin repr
 from reprlib import Repr
 
diff --git a/Lib/test/test_resource.py b/Lib/test/test_resource.py
index b66caf8..7063ff9 100644
--- a/Lib/test/test_resource.py
+++ b/Lib/test/test_resource.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 
 import resource
 import time
@@ -47,7 +47,7 @@
                     limit_set = True
                 except ValueError:
                     limit_set = False
-                f = open(test_support.TESTFN, "wb")
+                f = open(support.TESTFN, "wb")
                 try:
                     f.write(b"X" * 1024)
                     try:
@@ -73,7 +73,7 @@
             finally:
                 if limit_set:
                     resource.setrlimit(resource.RLIMIT_FSIZE, (cur, max))
-                test_support.unlink(test_support.TESTFN)
+                support.unlink(support.TESTFN)
 
     def test_fsize_toobig(self):
         # Be sure that setrlimit is checking for really large values
@@ -104,7 +104,7 @@
             pass
 
 def test_main(verbose=None):
-    test_support.run_unittest(ResourceTest)
+    support.run_unittest(ResourceTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_rfc822.py b/Lib/test/test_rfc822.py
index 1f5dd64..d2883e9 100644
--- a/Lib/test/test_rfc822.py
+++ b/Lib/test/test_rfc822.py
@@ -1,6 +1,6 @@
 import rfc822
 import unittest
-from test import test_support
+from test import support
 
 try:
     from io import StringIO
@@ -249,7 +249,7 @@
 
 
 def test_main():
-    test_support.run_unittest(MessageTestCase)
+    support.run_unittest(MessageTestCase)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_richcmp.py b/Lib/test/test_richcmp.py
index 7b6f9be..30dac8f 100644
--- a/Lib/test/test_richcmp.py
+++ b/Lib/test/test_richcmp.py
@@ -1,7 +1,7 @@
 # Tests for rich comparisons
 
 import unittest
-from test import test_support
+from test import support
 
 import operator
 
@@ -29,7 +29,7 @@
         return self.x >= other
 
     def __cmp__(self, other):
-        raise test_support.TestFailed("Number.__cmp__() should not be called")
+        raise support.TestFailed("Number.__cmp__() should not be called")
 
     def __repr__(self):
         return "Number(%r)" % (self.x, )
@@ -55,7 +55,7 @@
         raise TypeError("Vectors cannot be used in Boolean contexts")
 
     def __cmp__(self, other):
-        raise test_support.TestFailed("Vector.__cmp__() should not be called")
+        raise support.TestFailed("Vector.__cmp__() should not be called")
 
     def __repr__(self):
         return "Vector(%r)" % (self.data, )
@@ -387,11 +387,11 @@
             self.assertEquals(str(e),
                               "unhashable type: 'DumbEqualityWithoutHash'")
         else:
-            raise test_support.TestFailed("Should not be here")
+            raise support.TestFailed("Should not be here")
 
 
 def test_main():
-    test_support.run_unittest(VectorTest, NumberTest, MiscTest, DictTest, ListTest, HashableTest)
+    support.run_unittest(VectorTest, NumberTest, MiscTest, DictTest, ListTest, HashableTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_robotparser.py b/Lib/test/test_robotparser.py
index ad66b69..4e530f0 100644
--- a/Lib/test/test_robotparser.py
+++ b/Lib/test/test_robotparser.py
@@ -1,6 +1,6 @@
 import unittest, robotparser
 import io
-from test import test_support
+from test import support
 
 class RobotTestCase(unittest.TestCase):
     def __init__(self, index, parser, url, good, agent):
@@ -137,7 +137,7 @@
 
 class TestCase(unittest.TestCase):
     def runTest(self):
-        test_support.requires('network')
+        support.requires('network')
         # whole site is password-protected.
         url = 'http://mueblesmoraleda.com'
         parser = robotparser.RobotFileParser()
@@ -146,9 +146,9 @@
         self.assertEqual(parser.can_fetch("*", url+"/robots.txt"), False)
 
 def test_main():
-    test_support.run_unittest(tests)
+    support.run_unittest(tests)
     TestCase().run()
 
 if __name__=='__main__':
-    test_support.Verbose = 1
+    support.Verbose = 1
     test_main()
diff --git a/Lib/test/test_runpy.py b/Lib/test/test_runpy.py
index ffa36dc..43691cb 100644
--- a/Lib/test/test_runpy.py
+++ b/Lib/test/test_runpy.py
@@ -4,7 +4,7 @@
 import os.path
 import sys
 import tempfile
-from test.test_support import verbose, run_unittest, forget
+from test.support import verbose, run_unittest, forget
 from runpy import _run_code, _run_module_code, run_module
 
 # Note: This module can't safely test _run_module_as_main as it
diff --git a/Lib/test/test_sax.py b/Lib/test/test_sax.py
index eb79581..5f1a48e 100644
--- a/Lib/test/test_sax.py
+++ b/Lib/test/test_sax.py
@@ -13,7 +13,7 @@
 from xml.sax.expatreader import create_parser
 from xml.sax.xmlreader import InputSource, AttributesImpl, AttributesNSImpl
 from io import StringIO
-from test.test_support import findfile, run_unittest
+from test.support import findfile, run_unittest
 import unittest
 import os
 
diff --git a/Lib/test/test_scope.py b/Lib/test/test_scope.py
index c18445d..a3f1d4a 100644
--- a/Lib/test/test_scope.py
+++ b/Lib/test/test_scope.py
@@ -1,5 +1,5 @@
 import unittest
-from test.test_support import check_syntax_error, run_unittest
+from test.support import check_syntax_error, run_unittest
 
 import warnings
 warnings.filterwarnings("ignore", r"import \*", SyntaxWarning, "<test string>")
diff --git a/Lib/test/test_select.py b/Lib/test/test_select.py
index f4032d1..a463868 100644
--- a/Lib/test/test_select.py
+++ b/Lib/test/test_select.py
@@ -1,4 +1,4 @@
-from test import test_support
+from test import support
 import unittest
 import select
 import os
@@ -21,23 +21,23 @@
 
     def test_select(self):
         if sys.platform[:3] in ('win', 'mac', 'os2', 'riscos'):
-            if test_support.verbose:
+            if support.verbose:
                 print("Can't test select easily on", sys.platform)
             return
         cmd = 'for i in 0 1 2 3 4 5 6 7 8 9; do echo testing...; sleep 1; done'
         p = os.popen(cmd, 'r')
         for tout in (0, 1, 2, 4, 8, 16) + (None,)*10:
-            if test_support.verbose:
+            if support.verbose:
                 print('timeout =', tout)
             rfd, wfd, xfd = select.select([p], [], [], tout)
             if (rfd, wfd, xfd) == ([], [], []):
                 continue
             if (rfd, wfd, xfd) == ([p], [], []):
                 line = p.readline()
-                if test_support.verbose:
+                if support.verbose:
                     print(repr(line))
                 if not line:
-                    if test_support.verbose:
+                    if support.verbose:
                         print('EOF')
                     break
                 continue
@@ -45,8 +45,8 @@
         p.close()
 
 def test_main():
-    test_support.run_unittest(SelectTestCase)
-    test_support.reap_children()
+    support.run_unittest(SelectTestCase)
+    support.reap_children()
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_set.py b/Lib/test/test_set.py
index 44a45af..d05df3f 100644
--- a/Lib/test/test_set.py
+++ b/Lib/test/test_set.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 from weakref import proxy
 import operator
 import copy
@@ -288,14 +288,14 @@
         s = self.thetype([w])
         w.value = s
         try:
-            fo = open(test_support.TESTFN, "w")
+            fo = open(support.TESTFN, "w")
             fo.write(str(s))
             fo.close()
-            fo = open(test_support.TESTFN, "r")
+            fo = open(support.TESTFN, "r")
             self.assertEqual(fo.read(), repr(s))
         finally:
             fo.close()
-            test_support.unlink(test_support.TESTFN)
+            support.unlink(support.TESTFN)
 
     def test_do_not_rehash_dict_keys(self):
         n = 10
@@ -672,14 +672,14 @@
 
     def test_print(self):
         try:
-            fo = open(test_support.TESTFN, "w")
+            fo = open(support.TESTFN, "w")
             fo.write(str(self.set))
             fo.close()
-            fo = open(test_support.TESTFN, "r")
+            fo = open(support.TESTFN, "r")
             self.assertEqual(fo.read(), repr(self.set))
         finally:
             fo.close()
-            test_support.unlink(test_support.TESTFN)
+            support.unlink(support.TESTFN)
 
     def test_length(self):
         self.assertEqual(len(self.set), self.length)
@@ -1752,14 +1752,14 @@
         TestGraphs,
         )
 
-    test_support.run_unittest(*test_classes)
+    support.run_unittest(*test_classes)
 
     # verify reference counting
     if verbose and hasattr(sys, "gettotalrefcount"):
         import gc
         counts = [None] * 5
         for i in range(len(counts)):
-            test_support.run_unittest(*test_classes)
+            support.run_unittest(*test_classes)
             gc.collect()
             counts[i] = sys.gettotalrefcount()
         print(counts)
diff --git a/Lib/test/test_setcomps.py b/Lib/test/test_setcomps.py
index f382293..fb7cde0 100644
--- a/Lib/test/test_setcomps.py
+++ b/Lib/test/test_setcomps.py
@@ -133,16 +133,16 @@
 
 def test_main(verbose=None):
     import sys
-    from test import test_support
+    from test import support
     from test import test_setcomps
-    test_support.run_doctest(test_setcomps, verbose)
+    support.run_doctest(test_setcomps, verbose)
 
     # verify reference counting
     if verbose and hasattr(sys, "gettotalrefcount"):
         import gc
         counts = [None] * 5
         for i in range(len(counts)):
-            test_support.run_doctest(test_setcomps, verbose)
+            support.run_doctest(test_setcomps, verbose)
             gc.collect()
             counts[i] = sys.gettotalrefcount()
         print(counts)
diff --git a/Lib/test/test_sgmllib.py b/Lib/test/test_sgmllib.py
index 374b921..6015878 100644
--- a/Lib/test/test_sgmllib.py
+++ b/Lib/test/test_sgmllib.py
@@ -2,7 +2,7 @@
 import re
 import sgmllib
 import unittest
-from test import test_support
+from test import support
 
 
 class EventCollector(sgmllib.SGMLParser):
@@ -365,7 +365,7 @@
         # Just verify this code doesn't cause a hang.
         CHUNK = 1024  # increasing this to 8212 makes the problem go away
 
-        f = open(test_support.findfile('sgml_input.html'), encoding="latin-1")
+        f = open(support.findfile('sgml_input.html'), encoding="latin-1")
         fp = sgmllib.SGMLParser()
         while 1:
             data = f.read(CHUNK)
@@ -431,7 +431,7 @@
 
 
 def test_main():
-    test_support.run_unittest(SGMLParserTestCase)
+    support.run_unittest(SGMLParserTestCase)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_shelve.py b/Lib/test/test_shelve.py
index 6d917ff..5fb4641 100644
--- a/Lib/test/test_shelve.py
+++ b/Lib/test/test_shelve.py
@@ -1,7 +1,7 @@
 import unittest
 import shelve
 import glob
-from test import test_support
+from test import support
 from collections import MutableMapping
 from test.test_anydbm import dbm_iterator
 
@@ -45,7 +45,7 @@
 
     def tearDown(self):
         for f in glob.glob(self.fn+"*"):
-            test_support.unlink(f)
+            support.unlink(f)
 
     def test_ascii_file_shelf(self):
         s = shelve.open(self.fn, protocol=0)
@@ -133,7 +133,7 @@
         self._db = []
         if not self._in_mem:
             for f in glob.glob(self.fn+"*"):
-                test_support.unlink(f)
+                support.unlink(f)
 
 class TestAsciiFileShelve(TestShelveBase):
     _args={'protocol':0}
@@ -156,7 +156,7 @@
 
 def test_main():
     for module in dbm_iterator():
-        test_support.run_unittest(
+        support.run_unittest(
             TestAsciiFileShelve,
             TestBinaryFileShelve,
             TestProto2FileShelve,
diff --git a/Lib/test/test_shlex.py b/Lib/test/test_shlex.py
index b18155e..1685938 100644
--- a/Lib/test/test_shlex.py
+++ b/Lib/test/test_shlex.py
@@ -3,7 +3,7 @@
 import os, sys, io
 import shlex
 
-from test import test_support
+from test import support
 
 
 # The original test data set was from shellwords, by Hartmut Goebel.
@@ -181,7 +181,7 @@
             delattr(ShlexTest, methname)
 
 def test_main():
-    test_support.run_unittest(ShlexTest)
+    support.run_unittest(ShlexTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py
index 2a316b2..2e680a9 100644
--- a/Lib/test/test_shutil.py
+++ b/Lib/test/test_shutil.py
@@ -7,8 +7,8 @@
 import stat
 import os
 import os.path
-from test import test_support
-from test.test_support import TESTFN
+from test import support
+from test.support import TESTFN
 
 class TestShutil(unittest.TestCase):
     def test_rmtree_errors(self):
@@ -267,7 +267,7 @@
 
 
 def test_main():
-    test_support.run_unittest(TestShutil, TestMove)
+    support.run_unittest(TestShutil, TestMove)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_signal.py b/Lib/test/test_signal.py
index 339cec2..b8ac2cc 100644
--- a/Lib/test/test_signal.py
+++ b/Lib/test/test_signal.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 from contextlib import closing, nested
 import gc
 import pickle
@@ -10,7 +10,7 @@
 import sys, os, time, errno
 
 if sys.platform[:3] in ('win', 'os2') or sys.platform == 'riscos':
-    raise test_support.TestSkipped("Can't test signal on %s" % \
+    raise support.TestSkipped("Can't test signal on %s" % \
                                    sys.platform)
 
 
@@ -53,13 +53,13 @@
 
     def handlerA(self, signum, frame):
         self.a_called = True
-        if test_support.verbose:
+        if support.verbose:
             print("handlerA invoked from signal %s at:\n%s" % (
                 signum, self.format_frame(frame, limit=1)))
 
     def handlerB(self, signum, frame):
         self.b_called = True
-        if test_support.verbose:
+        if support.verbose:
             print ("handlerB invoked from signal %s at:\n%s" % (
                 signum, self.format_frame(frame, limit=1)))
         raise HandlerBCalled(signum, self.format_frame(frame))
@@ -88,7 +88,7 @@
 
         # Let the sub-processes know who to send signals to.
         pid = os.getpid()
-        if test_support.verbose:
+        if support.verbose:
             print("test runner's pid is", pid)
 
         child = ignoring_eintr(subprocess.Popen, ['kill', '-HUP', str(pid)])
@@ -113,7 +113,7 @@
         except HandlerBCalled:
             self.assertTrue(self.b_called)
             self.assertFalse(self.a_called)
-            if test_support.verbose:
+            if support.verbose:
                 print("HandlerBCalled exception caught")
 
         child = ignoring_eintr(subprocess.Popen, ['kill', '-USR2', str(pid)])
@@ -130,7 +130,7 @@
             # may return early.
             time.sleep(1)
         except KeyboardInterrupt:
-            if test_support.verbose:
+            if support.verbose:
                 print("KeyboardInterrupt (the alarm() went off)")
         except:
             self.fail("Some other exception woke us from pause: %s" %
@@ -309,7 +309,7 @@
 
     def sig_alrm(self, *args):
         self.hndl_called = True
-        if test_support.verbose:
+        if support.verbose:
             print("SIGALRM handler invoked", args)
 
     def sig_vtalrm(self, *args):
@@ -322,19 +322,19 @@
         elif self.hndl_count == 3:
             # disable ITIMER_VIRTUAL, this function shouldn't be called anymore
             signal.setitimer(signal.ITIMER_VIRTUAL, 0)
-            if test_support.verbose:
+            if support.verbose:
                 print("last SIGVTALRM handler call")
 
         self.hndl_count += 1
 
-        if test_support.verbose:
+        if support.verbose:
             print("SIGVTALRM handler invoked", args)
 
     def sig_prof(self, *args):
         self.hndl_called = True
         signal.setitimer(signal.ITIMER_PROF, 0)
 
-        if test_support.verbose:
+        if support.verbose:
             print("SIGPROF handler invoked", args)
 
     def test_itimer_exc(self):
@@ -349,7 +349,7 @@
     def test_itimer_real(self):
         self.itimer = signal.ITIMER_REAL
         signal.setitimer(self.itimer, 1.0)
-        if test_support.verbose:
+        if support.verbose:
             print("\ncall pause()...")
         signal.pause()
 
@@ -384,7 +384,7 @@
         self.assertEqual(self.hndl_called, True)
 
 def test_main():
-    test_support.run_unittest(BasicSignalTests, InterProcessSignalTests,
+    support.run_unittest(BasicSignalTests, InterProcessSignalTests,
         WakeupSignalTests, SiginterruptTest, ItimerTest)
 
 
diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py
index a13751c..3f93a38 100644
--- a/Lib/test/test_site.py
+++ b/Lib/test/test_site.py
@@ -5,7 +5,7 @@
 
 """
 import unittest
-from test.test_support import TestSkipped, run_unittest, TESTFN
+from test.support import TestSkipped, run_unittest, TESTFN
 import builtins
 import os
 import sys
diff --git a/Lib/test/test_slice.py b/Lib/test/test_slice.py
index 20d2027..e619746 100644
--- a/Lib/test/test_slice.py
+++ b/Lib/test/test_slice.py
@@ -1,7 +1,7 @@
 # tests for slice objects; in particular the indices method.
 
 import unittest
-from test import test_support
+from test import support
 from pickle import loads, dumps
 
 import sys
@@ -115,7 +115,7 @@
             self.assertNotEqual(id(s), id(t))
 
 def test_main():
-    test_support.run_unittest(SliceTest)
+    support.run_unittest(SliceTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_smtplib.py b/Lib/test/test_smtplib.py
index 9dc672d..3d38d89 100644
--- a/Lib/test/test_smtplib.py
+++ b/Lib/test/test_smtplib.py
@@ -10,9 +10,9 @@
 import select
 
 from unittest import TestCase
-from test import test_support
+from test import support
 
-HOST = test_support.HOST
+HOST = support.HOST
 
 def server(evt, buf, serv):
     serv.listen(5)
@@ -42,7 +42,7 @@
         self.evt = threading.Event()
         self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         self.sock.settimeout(15)
-        self.port = test_support.bind_port(self.sock)
+        self.port = support.bind_port(self.sock)
         servargs = (self.evt, b"220 Hola mundo\n", self.sock)
         threading.Thread(target=server, args=servargs).start()
         self.evt.wait()
@@ -142,7 +142,7 @@
 
         self.serv_evt = threading.Event()
         self.client_evt = threading.Event()
-        self.port = test_support.find_unused_port()
+        self.port = support.find_unused_port()
         self.serv = smtpd.DebuggingServer((HOST, self.port), ('nowhere', -1))
         serv_args = (self.serv, self.serv_evt, self.client_evt)
         threading.Thread(target=debugging_server, args=serv_args).start()
@@ -250,7 +250,7 @@
         self.evt = threading.Event()
         self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         self.sock.settimeout(15)
-        self.port = test_support.bind_port(self.sock)
+        self.port = support.bind_port(self.sock)
         servargs = (self.evt, b"199 no hello for you!\n", self.sock)
         threading.Thread(target=server, args=servargs).start()
         self.evt.wait()
@@ -327,7 +327,7 @@
     def setUp(self):
         self.serv_evt = threading.Event()
         self.client_evt = threading.Event()
-        self.port = test_support.find_unused_port()
+        self.port = support.find_unused_port()
         self.serv = SimSMTPServer((HOST, self.port), ('nowhere', -1))
         serv_args = (self.serv, self.serv_evt, self.client_evt)
         threading.Thread(target=debugging_server, args=serv_args).start()
@@ -401,7 +401,7 @@
 
 
 def test_main(verbose=None):
-    test_support.run_unittest(GeneralTests, DebuggingServerTests,
+    support.run_unittest(GeneralTests, DebuggingServerTests,
                               NonConnectingTests,
                               BadHELOServerTests, SMTPSimTests)
 
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index ab860dd..349548f 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 
 import unittest
-from test import test_support
+from test import support
 
 import errno
 import socket
@@ -16,14 +16,14 @@
 from weakref import proxy
 import signal
 
-HOST = test_support.HOST
+HOST = support.HOST
 MSG = b'Michael Gilfix was here\n'
 
 class SocketTCPTest(unittest.TestCase):
 
     def setUp(self):
         self.serv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
-        self.port = test_support.bind_port(self.serv)
+        self.port = support.bind_port(self.serv)
         self.serv.listen(1)
 
     def tearDown(self):
@@ -34,7 +34,7 @@
 
     def setUp(self):
         self.serv = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
-        self.port = test_support.bind_port(self.serv)
+        self.port = support.bind_port(self.serv)
 
     def tearDown(self):
         self.serv.close()
@@ -898,7 +898,7 @@
 class NetworkConnectionNoServer(unittest.TestCase):
 
     def testWithoutServer(self):
-        port = test_support.find_unused_port()
+        port = support.find_unused_port()
         self.failUnlessRaises(
             socket.error,
             lambda: socket.create_connection((HOST, port))
@@ -1145,7 +1145,7 @@
         for line in f:
             if line.startswith("tipc "):
                 return True
-    if test_support.verbose:
+    if support.verbose:
         print("TIPC module is not loaded, please 'sudo modprobe tipc'")
     return False
 
@@ -1229,9 +1229,9 @@
         tests.append(TIPCTest)
         tests.append(TIPCThreadableTest)
 
-    thread_info = test_support.threading_setup()
-    test_support.run_unittest(*tests)
-    test_support.threading_cleanup(*thread_info)
+    thread_info = support.threading_setup()
+    support.run_unittest(*tests)
+    support.threading_cleanup(*thread_info)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_socketserver.py b/Lib/test/test_socketserver.py
index b6bb0f7..5b733ae 100644
--- a/Lib/test/test_socketserver.py
+++ b/Lib/test/test_socketserver.py
@@ -15,14 +15,14 @@
 import unittest
 import socketserver
 
-import test.test_support
-from test.test_support import reap_children, verbose, TestSkipped
-from test.test_support import TESTFN as TEST_FILE
+import test.support
+from test.support import reap_children, verbose, TestSkipped
+from test.support import TESTFN as TEST_FILE
 
-test.test_support.requires("network")
+test.support.requires("network")
 
 TEST_STR = b"hello world\n"
-HOST = test.test_support.HOST
+HOST = test.support.HOST
 
 HAVE_UNIX_SOCKETS = hasattr(socket, "AF_UNIX")
 HAVE_FORKING = hasattr(os, "fork") and os.name != "os2"
@@ -249,7 +249,7 @@
         # If the import lock is held, the threads will hang
         raise TestSkipped("can't run when import lock is held")
 
-    test.test_support.run_unittest(SocketServerTest)
+    test.support.run_unittest(SocketServerTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_sort.py b/Lib/test/test_sort.py
index 8301c31..8b108d5 100644
--- a/Lib/test/test_sort.py
+++ b/Lib/test/test_sort.py
@@ -1,9 +1,9 @@
-from test import test_support
+from test import support
 import random
 import sys
 import unittest
 
-verbose = test_support.verbose
+verbose = support.verbose
 nerrors = 0
 
 def CmpToKey(mycmp):
@@ -261,14 +261,14 @@
         TestBugs,
     )
 
-    test_support.run_unittest(*test_classes)
+    support.run_unittest(*test_classes)
 
     # verify reference counting
     if verbose and hasattr(sys, "gettotalrefcount"):
         import gc
         counts = [None] * 5
         for i in range(len(counts)):
-            test_support.run_unittest(*test_classes)
+            support.run_unittest(*test_classes)
             gc.collect()
             counts[i] = sys.gettotalrefcount()
         print(counts)
diff --git a/Lib/test/test_sqlite.py b/Lib/test/test_sqlite.py
index 945dd51..b8a9acf 100644
--- a/Lib/test/test_sqlite.py
+++ b/Lib/test/test_sqlite.py
@@ -1,4 +1,4 @@
-from test.test_support import run_unittest, TestSkipped
+from test.support import run_unittest, TestSkipped
 
 try:
     import _sqlite3
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
index 59bf57d..4f884f0 100644
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -2,7 +2,7 @@
 
 import sys
 import unittest
-from test import test_support
+from test import support
 import socket
 import select
 import errno
@@ -25,27 +25,27 @@
 except ImportError:
     skip_expected = True
 
-HOST = test_support.HOST
+HOST = support.HOST
 CERTFILE = None
 SVN_PYTHON_ORG_ROOT_CERT = None
 
 def handle_error(prefix):
     exc_format = ' '.join(traceback.format_exception(*sys.exc_info()))
-    if test_support.verbose:
+    if support.verbose:
         sys.stdout.write(prefix + exc_format)
 
 
 class BasicTests(unittest.TestCase):
 
     def testSSLconnect(self):
-        if not test_support.is_resource_enabled('network'):
+        if not support.is_resource_enabled('network'):
             return
         s = ssl.wrap_socket(socket.socket(socket.AF_INET),
                             cert_reqs=ssl.CERT_NONE)
         s.connect(("svn.python.org", 443))
         c = s.getpeercert()
         if c:
-            raise test_support.TestFailed("Peer cert %s shouldn't be here!")
+            raise support.TestFailed("Peer cert %s shouldn't be here!")
         s.close()
 
         # this should fail because we have no verification certs
@@ -69,7 +69,7 @@
 
     def testRAND(self):
         v = ssl.RAND_status()
-        if test_support.verbose:
+        if support.verbose:
             sys.stdout.write("\n RAND_status is %d (%s)\n"
                              % (v, (v and "sufficient randomness") or
                                 "insufficient randomness"))
@@ -86,7 +86,7 @@
         # provided solely for this test, to exercise the certificate
         # parsing code
         p = ssl._ssl._test_decode_cert(CERTFILE, False)
-        if test_support.verbose:
+        if support.verbose:
             sys.stdout.write("\n" + pprint.pformat(p) + "\n")
 
     def testDERtoPEM(self):
@@ -96,7 +96,7 @@
         p2 = ssl.DER_cert_to_PEM_cert(d1)
         d2 = ssl.PEM_cert_to_DER_cert(p2)
         if (d1 != d2):
-            raise test_support.TestFailed("PEM-to-DER or DER-to-PEM translation failed")
+            raise support.TestFailed("PEM-to-DER or DER-to-PEM translation failed")
 
 class NetworkedTests(unittest.TestCase):
 
@@ -106,7 +106,7 @@
         s.connect(("svn.python.org", 443))
         c = s.getpeercert()
         if c:
-            raise test_support.TestFailed("Peer cert %s shouldn't be here!")
+            raise support.TestFailed("Peer cert %s shouldn't be here!")
         s.close()
 
         # this should fail because we have no verification certs
@@ -126,7 +126,7 @@
         try:
             s.connect(("svn.python.org", 443))
         except ssl.SSLError as x:
-            raise test_support.TestFailed("Unexpected exception %s" % x)
+            raise support.TestFailed("Unexpected exception %s" % x)
         finally:
             s.close()
 
@@ -151,14 +151,14 @@
                 else:
                     raise
         s.close()
-        if test_support.verbose:
+        if support.verbose:
             sys.stdout.write("\nNeeded %d calls to do_handshake() to establish session.\n" % count)
 
     def testFetchServerCert(self):
 
         pem = ssl.get_server_certificate(("svn.python.org", 443))
         if not pem:
-            raise test_support.TestFailed("No server certificate on svn.python.org:443!")
+            raise support.TestFailed("No server certificate on svn.python.org:443!")
 
         return
 
@@ -166,15 +166,15 @@
             pem = ssl.get_server_certificate(("svn.python.org", 443), ca_certs=CERTFILE)
         except ssl.SSLError as x:
             #should fail
-            if test_support.verbose:
+            if support.verbose:
                 sys.stdout.write("%s\n" % x)
         else:
-            raise test_support.TestFailed("Got server certificate %s for svn.python.org!" % pem)
+            raise support.TestFailed("Got server certificate %s for svn.python.org!" % pem)
 
         pem = ssl.get_server_certificate(("svn.python.org", 443), ca_certs=SVN_PYTHON_ORG_ROOT_CERT)
         if not pem:
-            raise test_support.TestFailed("No server certificate on svn.python.org:443!")
-        if test_support.verbose:
+            raise support.TestFailed("No server certificate on svn.python.org:443!")
+        if support.verbose:
             sys.stdout.write("\nVerified certificate for svn.python.org:443 is\n%s\n" % pem)
 
 
@@ -227,13 +227,13 @@
                 else:
                     if self.server.certreqs == ssl.CERT_REQUIRED:
                         cert = self.sslconn.getpeercert()
-                        if test_support.verbose and self.server.chatty:
+                        if support.verbose and self.server.chatty:
                             sys.stdout.write(" client cert is " + pprint.pformat(cert) + "\n")
                         cert_binary = self.sslconn.getpeercert(True)
-                        if test_support.verbose and self.server.chatty:
+                        if support.verbose and self.server.chatty:
                             sys.stdout.write(" cert binary is " + str(len(cert_binary)) + " bytes\n")
                     cipher = self.sslconn.cipher()
-                    if test_support.verbose and self.server.chatty:
+                    if support.verbose and self.server.chatty:
                         sys.stdout.write(" server: connection cipher is now " + str(cipher) + "\n")
                     return True
 
@@ -269,19 +269,19 @@
                             self.running = False
                             self.close()
                         elif amsg.strip() == 'over':
-                            if test_support.verbose and self.server.connectionchatty:
+                            if support.verbose and self.server.connectionchatty:
                                 sys.stdout.write(" server: client closed connection\n")
                             self.close()
                             return
                         elif (self.server.starttls_server and
                               amsg.strip() == 'STARTTLS'):
-                            if test_support.verbose and self.server.connectionchatty:
+                            if support.verbose and self.server.connectionchatty:
                                 sys.stdout.write(" server: read STARTTLS from client, sending OK...\n")
                             self.write("OK\n".encode("ASCII", "strict"))
                             if not self.wrap_conn():
                                 return
                         else:
-                            if (test_support.verbose and
+                            if (support.verbose and
                                 self.server.connectionchatty):
                                 ctype = (self.sslconn and "encrypted") or "unencrypted"
                                 sys.stdout.write(" server: read %s (%s), sending back %s (%s)...\n"
@@ -314,7 +314,7 @@
             self.connectionchatty = connectionchatty
             self.starttls_server = starttls_server
             self.sock = socket.socket()
-            self.port = test_support.bind_port(self.sock)
+            self.port = support.bind_port(self.sock)
             self.flag = None
             self.active = False
             threading.Thread.__init__(self)
@@ -334,7 +334,7 @@
             while self.active:
                 try:
                     newconn, connaddr = self.sock.accept()
-                    if test_support.verbose and self.chatty:
+                    if support.verbose and self.chatty:
                         sys.stdout.write(' server:  new connection from '
                                          + repr(connaddr) + '\n')
                     handler = self.ConnectionHandler(self, newconn, connaddr)
@@ -457,7 +457,7 @@
 
                 # we override this to suppress logging unless "verbose"
 
-                if test_support.verbose:
+                if support.verbose:
                     sys.stdout.write(" server (%s:%d %s):\n   [%s] %s\n" %
                                      (self.server.server_address,
                                       self.server.server_port,
@@ -470,7 +470,7 @@
             self.flag = None
             self.active = False
             self.RootedHTTPRequestHandler.root = os.path.split(CERTFILE)[0]
-            self.port = test_support.find_unused_port()
+            self.port = support.find_unused_port()
             self.server = self.HTTPSServer(
                 (HOST, self.port), self.RootedHTTPRequestHandler, certfile)
             threading.Thread.__init__(self)
@@ -522,7 +522,7 @@
 
                 def handle_read(self):
                     data = self.recv(1024)
-                    if test_support.verbose:
+                    if support.verbose:
                         sys.stdout.write(" server:  read %s from client\n" % repr(data))
                     if not data:
                         self.close()
@@ -530,7 +530,7 @@
                         self.send(str(data, 'ASCII', 'strict').lower().encode('ASCII', 'strict'))
 
                 def handle_close(self):
-                    if test_support.verbose:
+                    if support.verbose:
                         sys.stdout.write(" server:  closed connection %s\n" % self.socket)
 
                 def handle_error(self):
@@ -546,7 +546,7 @@
 
             def handle_accept(self):
                 sock_obj, addr = self.accept()
-                if test_support.verbose:
+                if support.verbose:
                     sys.stdout.write(" server:  new connection from %s:%s\n" %addr)
                 self.ConnectionHandler(sock_obj, self.certfile)
 
@@ -556,7 +556,7 @@
         def __init__(self, certfile):
             self.flag = None
             self.active = False
-            self.port = test_support.find_unused_port()
+            self.port = support.find_unused_port()
             self.server = self.EchoServer(self.port, certfile)
             threading.Thread.__init__(self)
             self.setDaemon(True)
@@ -599,10 +599,10 @@
                                     ssl_version=ssl.PROTOCOL_TLSv1)
                 s.connect((HOST, server.port))
             except ssl.SSLError as x:
-                if test_support.verbose:
+                if support.verbose:
                     sys.stdout.write("\nSSLError is %s\n" % x)
             else:
-                raise test_support.TestFailed(
+                raise support.TestFailed(
                     "Use of invalid cert should have failed!")
         finally:
             server.stop()
@@ -635,28 +635,28 @@
                                 ssl_version=client_protocol)
             s.connect((HOST, server.port))
         except ssl.SSLError as x:
-            raise test_support.TestFailed("Unexpected SSL error:  " + str(x))
+            raise support.TestFailed("Unexpected SSL error:  " + str(x))
         except Exception as x:
-            raise test_support.TestFailed("Unexpected exception:  " + str(x))
+            raise support.TestFailed("Unexpected exception:  " + str(x))
         else:
             if connectionchatty:
-                if test_support.verbose:
+                if support.verbose:
                     sys.stdout.write(
                         " client:  sending %s...\n" % (repr(indata)))
             s.write(indata.encode('ASCII', 'strict'))
             outdata = s.read()
             if connectionchatty:
-                if test_support.verbose:
+                if support.verbose:
                     sys.stdout.write(" client:  read %s\n" % repr(outdata))
             outdata = str(outdata, 'ASCII', 'strict')
             if outdata != indata.lower():
-                raise test_support.TestFailed(
+                raise support.TestFailed(
                     "bad data <<%s>> (%d) received; expected <<%s>> (%d)\n"
                     % (repr(outdata[:min(len(outdata),20)]), len(outdata),
                        repr(indata[:min(len(indata),20)].lower()), len(indata)))
             s.write("over\n".encode("ASCII", "strict"))
             if connectionchatty:
-                if test_support.verbose:
+                if support.verbose:
                     sys.stdout.write(" client:  closing connection.\n")
             s.close()
         finally:
@@ -677,7 +677,7 @@
             certtype = "CERT_OPTIONAL"
         elif certsreqs == ssl.CERT_REQUIRED:
             certtype = "CERT_REQUIRED"
-        if test_support.verbose:
+        if support.verbose:
             formatstr = (expectedToWork and " %s->%s %s\n") or " {%s->%s} %s\n"
             sys.stdout.write(formatstr %
                              (ssl.get_protocol_name(client_protocol),
@@ -687,12 +687,12 @@
             serverParamsTest(CERTFILE, server_protocol, certsreqs,
                              CERTFILE, CERTFILE, client_protocol,
                              chatty=False, connectionchatty=False)
-        except test_support.TestFailed:
+        except support.TestFailed:
             if expectedToWork:
                 raise
         else:
             if not expectedToWork:
-                raise test_support.TestFailed(
+                raise support.TestFailed(
                     "Client protocol %s succeeded with server protocol %s!"
                     % (ssl.get_protocol_name(client_protocol),
                        ssl.get_protocol_name(server_protocol)))
@@ -702,7 +702,7 @@
 
         def testEcho (self):
 
-            if test_support.verbose:
+            if support.verbose:
                 sys.stdout.write("\n")
             serverParamsTest(CERTFILE, ssl.PROTOCOL_TLSv1, ssl.CERT_NONE,
                              CERTFILE, CERTFILE, ssl.PROTOCOL_TLSv1,
@@ -710,7 +710,7 @@
 
         def testReadCert(self):
 
-            if test_support.verbose:
+            if support.verbose:
                 sys.stdout.write("\n")
             s2 = socket.socket()
             server = ThreadedEchoServer(CERTFILE,
@@ -732,30 +732,30 @@
                                         ssl_version=ssl.PROTOCOL_SSLv23)
                     s.connect((HOST, server.port))
                 except ssl.SSLError as x:
-                    raise test_support.TestFailed(
+                    raise support.TestFailed(
                         "Unexpected SSL error:  " + str(x))
                 except Exception as x:
-                    raise test_support.TestFailed(
+                    raise support.TestFailed(
                         "Unexpected exception:  " + str(x))
                 else:
                     if not s:
-                        raise test_support.TestFailed(
+                        raise support.TestFailed(
                             "Can't SSL-handshake with test server")
                     cert = s.getpeercert()
                     if not cert:
-                        raise test_support.TestFailed(
+                        raise support.TestFailed(
                             "Can't get peer certificate.")
                     cipher = s.cipher()
-                    if test_support.verbose:
+                    if support.verbose:
                         sys.stdout.write(pprint.pformat(cert) + '\n')
                         sys.stdout.write("Connection cipher is " + str(cipher) + '.\n')
                     if 'subject' not in cert:
-                        raise test_support.TestFailed(
+                        raise support.TestFailed(
                             "No subject field in certificate: %s." %
                             pprint.pformat(cert))
                     if ((('organizationName', 'Python Software Foundation'),)
                         not in cert['subject']):
-                        raise test_support.TestFailed(
+                        raise support.TestFailed(
                             "Missing or invalid 'organizationName' field in certificate subject; "
                             "should be 'Python Software Foundation'.")
                     s.close()
@@ -777,7 +777,7 @@
 
             listener_ready = threading.Event()
             listener_gone = threading.Event()
-            port = test_support.find_unused_port()
+            port = support.find_unused_port()
 
             # `listener` runs in a thread.  It opens a socket listening on
             # PORT, and sits in an accept() until the main thread connects.
@@ -802,7 +802,7 @@
                 except IOError:
                     pass
                 else:
-                    raise test_support.TestFailed(
+                    raise support.TestFailed(
                           'connecting to closed SSL socket should have failed')
 
             t = threading.Thread(target=listener)
@@ -811,7 +811,7 @@
             t.join()
 
         def testProtocolSSL2(self):
-            if test_support.verbose:
+            if support.verbose:
                 sys.stdout.write("\n")
             tryProtocolCombo(ssl.PROTOCOL_SSLv2, ssl.PROTOCOL_SSLv2, True)
             tryProtocolCombo(ssl.PROTOCOL_SSLv2, ssl.PROTOCOL_SSLv2, True, ssl.CERT_OPTIONAL)
@@ -821,13 +821,13 @@
             tryProtocolCombo(ssl.PROTOCOL_SSLv2, ssl.PROTOCOL_TLSv1, False)
 
         def testProtocolSSL23(self):
-            if test_support.verbose:
+            if support.verbose:
                 sys.stdout.write("\n")
             try:
                 tryProtocolCombo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_SSLv2, True)
-            except test_support.TestFailed as x:
+            except support.TestFailed as x:
                 # this fails on some older versions of OpenSSL (0.9.7l, for instance)
-                if test_support.verbose:
+                if support.verbose:
                     sys.stdout.write(
                         " SSL2 client to SSL23 server test unexpectedly failed:\n %s\n"
                         % str(x))
@@ -844,7 +844,7 @@
             tryProtocolCombo(ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_TLSv1, True, ssl.CERT_REQUIRED)
 
         def testProtocolSSL3(self):
-            if test_support.verbose:
+            if support.verbose:
                 sys.stdout.write("\n")
             tryProtocolCombo(ssl.PROTOCOL_SSLv3, ssl.PROTOCOL_SSLv3, True)
             tryProtocolCombo(ssl.PROTOCOL_SSLv3, ssl.PROTOCOL_SSLv3, True, ssl.CERT_OPTIONAL)
@@ -854,7 +854,7 @@
             tryProtocolCombo(ssl.PROTOCOL_SSLv3, ssl.PROTOCOL_TLSv1, False)
 
         def testProtocolTLS1(self):
-            if test_support.verbose:
+            if support.verbose:
                 sys.stdout.write("\n")
             tryProtocolCombo(ssl.PROTOCOL_TLSv1, ssl.PROTOCOL_TLSv1, True)
             tryProtocolCombo(ssl.PROTOCOL_TLSv1, ssl.PROTOCOL_TLSv1, True, ssl.CERT_OPTIONAL)
@@ -884,13 +884,13 @@
                     s.setblocking(1)
                     s.connect((HOST, server.port))
                 except Exception as x:
-                    raise test_support.TestFailed("Unexpected exception:  " + str(x))
+                    raise support.TestFailed("Unexpected exception:  " + str(x))
                 else:
-                    if test_support.verbose:
+                    if support.verbose:
                         sys.stdout.write("\n")
                     for indata in msgs:
                         msg = indata.encode('ASCII', 'replace')
-                        if test_support.verbose:
+                        if support.verbose:
                             sys.stdout.write(
                                 " client:  sending %s...\n" % repr(msg))
                         if wrapped:
@@ -901,7 +901,7 @@
                             outdata = s.recv(1024)
                         if (indata == "STARTTLS" and
                             str(outdata, 'ASCII', 'replace').strip().lower().startswith("ok")):
-                            if test_support.verbose:
+                            if support.verbose:
                                 msg = str(outdata, 'ASCII', 'replace')
                                 sys.stdout.write(
                                     " client:  read %s from server, starting TLS...\n"
@@ -910,11 +910,11 @@
 
                             wrapped = True
                         else:
-                            if test_support.verbose:
+                            if support.verbose:
                                 msg = str(outdata, 'ASCII', 'replace')
                                 sys.stdout.write(
                                     " client:  read %s from server\n" % repr(msg))
-                    if test_support.verbose:
+                    if support.verbose:
                         sys.stdout.write(" client:  closing connection.\n")
                     if wrapped:
                         conn.write("over\n".encode("ASCII", "strict"))
@@ -937,7 +937,7 @@
             flag.wait()
             # try to connect
             try:
-                if test_support.verbose:
+                if support.verbose:
                     sys.stdout.write('\n')
                 d1 = open(CERTFILE, 'rb').read()
                 d2 = ''
@@ -948,33 +948,33 @@
                 dlen = f.info().getheader("content-length")
                 if dlen and (int(dlen) > 0):
                     d2 = f.read(int(dlen))
-                    if test_support.verbose:
+                    if support.verbose:
                         sys.stdout.write(
                             " client: read %d bytes from remote server '%s'\n"
                             % (len(d2), server))
                 f.close()
             except:
                 msg = ''.join(traceback.format_exception(*sys.exc_info()))
-                if test_support.verbose:
+                if support.verbose:
                     sys.stdout.write('\n' + msg)
-                raise test_support.TestFailed(msg)
+                raise support.TestFailed(msg)
             else:
                 if not (d1 == d2):
                     print("d1 is", len(d1), repr(d1))
                     print("d2 is", len(d2), repr(d2))
-                    raise test_support.TestFailed(
+                    raise support.TestFailed(
                         "Couldn't fetch data from HTTPS server")
             finally:
-                if test_support.verbose:
+                if support.verbose:
                     sys.stdout.write('stopping server\n')
                 server.stop()
-                if test_support.verbose:
+                if support.verbose:
                     sys.stdout.write('joining thread\n')
                 server.join()
 
         def testAsyncoreServer(self):
 
-            if test_support.verbose:
+            if support.verbose:
                 sys.stdout.write("\n")
 
             indata="FOO\n"
@@ -988,25 +988,25 @@
                 s = ssl.wrap_socket(socket.socket())
                 s.connect((HOST, server.port))
             except ssl.SSLError as x:
-                raise test_support.TestFailed("Unexpected SSL error:  " + str(x))
+                raise support.TestFailed("Unexpected SSL error:  " + str(x))
             except Exception as x:
-                raise test_support.TestFailed("Unexpected exception:  " + str(x))
+                raise support.TestFailed("Unexpected exception:  " + str(x))
             else:
-                if test_support.verbose:
+                if support.verbose:
                     sys.stdout.write(
                         " client:  sending %s...\n" % (repr(indata)))
                 s.sendall(indata.encode('ASCII', 'strict'))
                 outdata = s.recv()
-                if test_support.verbose:
+                if support.verbose:
                     sys.stdout.write(" client:  read %s\n" % repr(outdata))
                 outdata = str(outdata, 'ASCII', 'strict')
                 if outdata != indata.lower():
-                    raise test_support.TestFailed(
+                    raise support.TestFailed(
                         "bad data <<%s>> (%d) received; expected <<%s>> (%d)\n"
                         % (repr(outdata[:min(len(outdata),20)]), len(outdata),
                            repr(indata[:min(len(indata),20)].lower()), len(indata)))
                 s.write("over\n".encode("ASCII", "strict"))
-                if test_support.verbose:
+                if support.verbose:
                     sys.stdout.write(" client:  closing connection.\n")
                 s.close()
             finally:
@@ -1015,7 +1015,7 @@
 
 def test_main(verbose=False):
     if skip_expected:
-        raise test_support.TestSkipped("No SSL support")
+        raise support.TestSkipped("No SSL support")
 
     global CERTFILE, SVN_PYTHON_ORG_ROOT_CERT
     CERTFILE = os.path.join(os.path.dirname(__file__) or os.curdir,
@@ -1026,22 +1026,22 @@
 
     if (not os.path.exists(CERTFILE) or
         not os.path.exists(SVN_PYTHON_ORG_ROOT_CERT)):
-        raise test_support.TestFailed("Can't read certificate files!")
+        raise support.TestFailed("Can't read certificate files!")
 
     tests = [BasicTests]
 
-    if test_support.is_resource_enabled('network'):
+    if support.is_resource_enabled('network'):
         tests.append(NetworkedTests)
 
     if _have_threads:
-        thread_info = test_support.threading_setup()
-        if thread_info and test_support.is_resource_enabled('network'):
+        thread_info = support.threading_setup()
+        if thread_info and support.is_resource_enabled('network'):
             tests.append(ThreadedTests)
 
-    test_support.run_unittest(*tests)
+    support.run_unittest(*tests)
 
     if _have_threads:
-        test_support.threading_cleanup(*thread_info)
+        support.threading_cleanup(*thread_info)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_startfile.py b/Lib/test/test_startfile.py
index db09946..8d23dbb 100644
--- a/Lib/test/test_startfile.py
+++ b/Lib/test/test_startfile.py
@@ -8,7 +8,7 @@
 # call succeeded, but also the the script actually has run.
 
 import unittest
-from test import test_support
+from test import support
 
 # use this form so that the test is skipped when startfile is not available:
 from os import startfile, path
@@ -23,7 +23,7 @@
         startfile(empty, "open")
 
 def test_main():
-    test_support.run_unittest(TestCase)
+    support.run_unittest(TestCase)
 
 if __name__=="__main__":
     test_main()
diff --git a/Lib/test/test_strftime.py b/Lib/test/test_strftime.py
index 5af5a0c..7128fd7 100755
--- a/Lib/test/test_strftime.py
+++ b/Lib/test/test_strftime.py
@@ -6,7 +6,7 @@
 import sys
 import os
 import re
-from test import test_support
+from test import support
 import time
 import unittest
 
@@ -68,7 +68,7 @@
         self.strftest1(now)
         self.strftest2(now)
 
-        if test_support.verbose:
+        if support.verbose:
             print("Strftime test, platform: %s, Python version: %s" % \
                   (sys.platform, sys.version.split()[0]))
 
@@ -80,7 +80,7 @@
                 self.strftest2(arg)
 
     def strftest1(self, now):
-        if test_support.verbose:
+        if support.verbose:
             print("strftime test for", time.ctime(now))
         now = self.now
         # Make sure any characters that could be taken as regex syntax is
@@ -162,24 +162,24 @@
             except ValueError as result:
                 msg = "Error for nonstandard '%s' format (%s): %s" % \
                       (e[0], e[2], str(result))
-                if test_support.verbose:
+                if support.verbose:
                     print(msg)
                 continue
             if re.match(escapestr(e[1], self.ampm), result):
-                if test_support.verbose:
+                if support.verbose:
                     print("Supports nonstandard '%s' format (%s)" % (e[0], e[2]))
             elif not result or result[0] == '%':
-                if test_support.verbose:
+                if support.verbose:
                     print("Does not appear to support '%s' format (%s)" % \
                            (e[0], e[2]))
             else:
-                if test_support.verbose:
+                if support.verbose:
                     print("Conflict for nonstandard '%s' format (%s):" % \
                            (e[0], e[2]))
                     print("  Expected %s, but got %s" % (e[1], result))
 
 def test_main():
-    test_support.run_unittest(StrftimeTest)
+    support.run_unittest(StrftimeTest)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_string.py b/Lib/test/test_string.py
index 4c3c964..66f2204 100644
--- a/Lib/test/test_string.py
+++ b/Lib/test/test_string.py
@@ -1,5 +1,5 @@
 import unittest, string
-from test import test_support
+from test import support
 
 
 class ModuleTest(unittest.TestCase):
@@ -110,7 +110,7 @@
         self.assertRaises(TypeError, string.maketrans, 'abc', 'def')
 
 def test_main():
-    test_support.run_unittest(ModuleTest)
+    support.run_unittest(ModuleTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_stringprep.py b/Lib/test/test_stringprep.py
index 0452790..f3d3327 100644
--- a/Lib/test/test_stringprep.py
+++ b/Lib/test/test_stringprep.py
@@ -2,7 +2,7 @@
 # Since we don't have them, this test checks only a few codepoints.
 
 import unittest
-from test import test_support
+from test import support
 
 from stringprep import *
 
@@ -90,7 +90,7 @@
         #     print p, h.hexdigest()
 
 def test_main():
-    test_support.run_unittest(StringprepTests)
+    support.run_unittest(StringprepTests)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_strptime.py b/Lib/test/test_strptime.py
index ac8905a..436a487 100644
--- a/Lib/test/test_strptime.py
+++ b/Lib/test/test_strptime.py
@@ -5,7 +5,7 @@
 import locale
 import re
 import sys
-from test import test_support
+from test import support
 from datetime import date as datetime_date
 
 import _strptime
@@ -551,7 +551,7 @@
 
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         getlang_Tests,
         LocaleTime_Tests,
         TimeRETests,
diff --git a/Lib/test/test_struct.py b/Lib/test/test_struct.py
index 61b5f6c..05ac760 100644
--- a/Lib/test/test_struct.py
+++ b/Lib/test/test_struct.py
@@ -1,5 +1,5 @@
-from test.test_support import TestFailed, verbose, verify, vereq
-import test.test_support
+from test.support import TestFailed, verbose, verify, vereq
+import test.support
 import struct
 import array
 import warnings
@@ -50,7 +50,7 @@
 
 def with_warning_restore(func):
     def _with_warning_restore(*args, **kw):
-        with test.test_support.catch_warning():
+        with test.support.catch_warning():
             # Grrr, we need this function to warn every time.  Without removing
             # the warningregistry, running test_tarfile then test_struct would fail
             # on 64-bit platforms.
diff --git a/Lib/test/test_structmembers.py b/Lib/test/test_structmembers.py
index 97d7b23..d6c9fea 100644
--- a/Lib/test/test_structmembers.py
+++ b/Lib/test/test_structmembers.py
@@ -6,7 +6,7 @@
     LLONG_MAX, LLONG_MIN, ULLONG_MAX
 
 import warnings, unittest, sys
-from test import test_support
+from test import support
 
 ts=test_structmembersType(False, 1, 2, 3, 4, 5, 6, 7, 8,
                           9.99999, 10.1010101010)
@@ -69,39 +69,39 @@
         self.assertEqual(w.category, RuntimeWarning)
 
     def test_byte_max(self):
-        with test_support.catch_warning() as w:
+        with support.catch_warning() as w:
             ts.T_BYTE = CHAR_MAX+1
             self.has_warned(w)
 
     def test_byte_min(self):
-        with test_support.catch_warning() as w:
+        with support.catch_warning() as w:
             ts.T_BYTE = CHAR_MIN-1
             self.has_warned(w)
 
     def test_ubyte_max(self):
-        with test_support.catch_warning() as w:
+        with support.catch_warning() as w:
             ts.T_UBYTE = UCHAR_MAX+1
             self.has_warned(w)
 
     def test_short_max(self):
-        with test_support.catch_warning() as w:
+        with support.catch_warning() as w:
             ts.T_SHORT = SHRT_MAX+1
             self.has_warned(w)
 
     def test_short_min(self):
-        with test_support.catch_warning() as w:
+        with support.catch_warning() as w:
             ts.T_SHORT = SHRT_MIN-1
             self.has_warned(w)
 
     def test_ushort_max(self):
-        with test_support.catch_warning() as w:
+        with support.catch_warning() as w:
             ts.T_USHORT = USHRT_MAX+1
             self.has_warned(w)
 
 
 
 def test_main(verbose=None):
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == "__main__":
     test_main(verbose=True)
diff --git a/Lib/test/test_structseq.py b/Lib/test/test_structseq.py
index 7ba142b..124acff 100644
--- a/Lib/test/test_structseq.py
+++ b/Lib/test/test_structseq.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 
 import time
 
@@ -114,7 +114,7 @@
                                      L[start:stop:step])
 
 def test_main():
-    test_support.run_unittest(StructSeqTest)
+    support.run_unittest(StructSeqTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
index 3d6777f..5a325ce 100644
--- a/Lib/test/test_subprocess.py
+++ b/Lib/test/test_subprocess.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 import subprocess
 import sys
 import signal
@@ -31,14 +31,14 @@
     def setUp(self):
         # Try to minimize the number of children we have so this test
         # doesn't crash on some buildbots (Alphas in particular).
-        if hasattr(test_support, "reap_children"):
-            test_support.reap_children()
+        if hasattr(support, "reap_children"):
+            support.reap_children()
 
     def tearDown(self):
         # Try to minimize the number of children we have so this test
         # doesn't crash on some buildbots (Alphas in particular).
-        if hasattr(test_support, "reap_children"):
-            test_support.reap_children()
+        if hasattr(support, "reap_children"):
+            support.reap_children()
 
     def mkstemp(self):
         """wrapper for mkstemp, calling mktemp if mkstemp is not available"""
@@ -392,8 +392,8 @@
 
     def test_no_leaking(self):
         # Make sure we leak no resources
-        if (not hasattr(test_support, "is_resource_enabled") or
-            test_support.is_resource_enabled("subprocess") and not mswindows):
+        if (not hasattr(support, "is_resource_enabled") or
+            support.is_resource_enabled("subprocess") and not mswindows):
             max_handles = 1026 # too much for most UNIX systems
         else:
             max_handles = 65
@@ -703,9 +703,9 @@
             self.assertNotEqual(p.wait(), 0)
 
 def test_main():
-    test_support.run_unittest(ProcessTestCase)
-    if hasattr(test_support, "reap_children"):
-        test_support.reap_children()
+    support.run_unittest(ProcessTestCase)
+    if hasattr(support, "reap_children"):
+        support.reap_children()
 
 if __name__ == "__main__":
     unittest.main()  # XXX test_main()
diff --git a/Lib/test/test_sundry.py b/Lib/test/test_sundry.py
index 1b6069d..292722d 100644
--- a/Lib/test/test_sundry.py
+++ b/Lib/test/test_sundry.py
@@ -1,13 +1,13 @@
 """Do a minimal test of all the modules that aren't otherwise tested."""
 
-from test import test_support
+from test import support
 import sys
 import unittest
 import warnings
 
 class TestUntestedModules(unittest.TestCase):
     def test_at_least_import_untested_modules(self):
-        with test_support.catch_warning():
+        with support.catch_warning():
             import CGIHTTPServer
             import aifc
             import bdb
@@ -73,14 +73,14 @@
             try:
                 import tty     # not available on Windows
             except ImportError:
-                if test_support.verbose:
+                if support.verbose:
                     print("skipping tty")
             import webbrowser
             import xml
 
 
 def test_main():
-    test_support.run_unittest(TestUntestedModules)
+    support.run_unittest(TestUntestedModules)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_super.py b/Lib/test/test_super.py
index fc303ea..5594b11 100644
--- a/Lib/test/test_super.py
+++ b/Lib/test/test_super.py
@@ -2,7 +2,7 @@
 
 import sys
 import unittest
-from test import test_support
+from test import support
 
 
 class A:
@@ -72,7 +72,7 @@
 
 
 def test_main():
-    test_support.run_unittest(TestSuper)
+    support.run_unittest(TestSuper)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_symtable.py b/Lib/test/test_symtable.py
index 74a7c85..77115e0 100644
--- a/Lib/test/test_symtable.py
+++ b/Lib/test/test_symtable.py
@@ -1,4 +1,4 @@
-from test import test_support
+from test import support
 
 import symtable
 import unittest
@@ -38,7 +38,7 @@
 
 
 def test_main():
-    test_support.run_unittest(SymtableTest)
+    support.run_unittest(SymtableTest)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_syntax.py b/Lib/test/test_syntax.py
index 546f7a8..11ca4ea 100644
--- a/Lib/test/test_syntax.py
+++ b/Lib/test/test_syntax.py
@@ -476,7 +476,7 @@
 import unittest
 import warnings
 
-from test import test_support
+from test import support
 
 class SyntaxTestCase(unittest.TestCase):
 
@@ -548,9 +548,9 @@
         self._check_error("int(base=10, '2')", "non-keyword arg")
 
 def test_main():
-    test_support.run_unittest(SyntaxTestCase)
+    support.run_unittest(SyntaxTestCase)
     from test import test_syntax
-    test_support.run_doctest(test_syntax, verbosity=True)
+    support.run_doctest(test_syntax, verbosity=True)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py
index 3a0abe1..7c66e0d 100644
--- a/Lib/test/test_sys.py
+++ b/Lib/test/test_sys.py
@@ -1,5 +1,5 @@
 # -*- coding: iso-8859-1 -*-
-import unittest, test.test_support
+import unittest, test.support
 import sys, io
 
 class SysModuleTest(unittest.TestCase):
@@ -350,7 +350,7 @@
         #self.assert_(r[0][2] > 100, r[0][2])
 
 def test_main():
-    test.test_support.run_unittest(SysModuleTest)
+    test.support.run_unittest(SysModuleTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_syslog.py b/Lib/test/test_syslog.py
index 3f22c0d..3a3d635 100644
--- a/Lib/test/test_syslog.py
+++ b/Lib/test/test_syslog.py
@@ -1,7 +1,7 @@
 
 import syslog
 import unittest
-from test import test_support
+from test import support
 
 # XXX(nnorwitz): This test sucks.  I don't know of a platform independent way
 # to verify that the messages were really logged.
@@ -31,7 +31,7 @@
         syslog.LOG_UPTO(syslog.LOG_INFO)
 
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_tarfile.py b/Lib/test/test_tarfile.py
index 2fbb51e..9fde707 100644
--- a/Lib/test/test_tarfile.py
+++ b/Lib/test/test_tarfile.py
@@ -10,7 +10,7 @@
 import unittest
 import tarfile
 
-from test import test_support
+from test import support
 
 # Check for our compression modules.
 try:
@@ -27,7 +27,7 @@
     return md5(data).hexdigest()
 
 def path(path):
-    return test_support.findfile(path)
+    return support.findfile(path)
 
 TEMPDIR = os.path.join(tempfile.gettempdir(), "test_tarfile_tmp")
 tarname = path("testtar.tar")
@@ -1171,7 +1171,7 @@
         ]
 
     try:
-        test_support.run_unittest(*tests)
+        support.run_unittest(*tests)
     finally:
         if os.path.exists(TEMPDIR):
             shutil.rmtree(TEMPDIR)
diff --git a/Lib/test/test_tcl.py b/Lib/test/test_tcl.py
index 4255d8a..9a327dc 100644
--- a/Lib/test/test_tcl.py
+++ b/Lib/test/test_tcl.py
@@ -2,7 +2,7 @@
 
 import unittest
 import os
-from test import test_support
+from test import support
 from Tkinter import Tcl
 from _tkinter import TclError
 
@@ -151,7 +151,7 @@
                 os.environ['DISPLAY'] = old_display
 
 def test_main():
-    test_support.run_unittest(TclTest)
+    support.run_unittest(TclTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_telnetlib.py b/Lib/test/test_telnetlib.py
index e4ee1b5..c24d41d 100644
--- a/Lib/test/test_telnetlib.py
+++ b/Lib/test/test_telnetlib.py
@@ -4,9 +4,9 @@
 import time
 
 from unittest import TestCase
-from test import test_support
+from test import support
 
-HOST = test_support.HOST
+HOST = support.HOST
 
 def server(evt, serv):
     serv.listen(5)
@@ -25,7 +25,7 @@
         self.evt = threading.Event()
         self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
         self.sock.settimeout(3)
-        self.port = test_support.bind_port(self.sock)
+        self.port = support.bind_port(self.sock)
         threading.Thread(target=server, args=(self.evt,self.sock)).start()
         self.evt.wait()
         self.evt.clear()
@@ -71,7 +71,7 @@
 
 
 def test_main(verbose=None):
-    test_support.run_unittest(GeneralTests)
+    support.run_unittest(GeneralTests)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_tempfile.py b/Lib/test/test_tempfile.py
index e88efeb..5a81455 100644
--- a/Lib/test/test_tempfile.py
+++ b/Lib/test/test_tempfile.py
@@ -7,7 +7,7 @@
 import warnings
 
 import unittest
-from test import test_support
+from test import support
 
 warnings.filterwarnings("ignore",
                         category=RuntimeWarning,
@@ -116,7 +116,7 @@
             self.failIf(s in dict)
             dict[s] = 1
 
-    def test_supports_iter(self):
+    def supports_iter(self):
         # _RandomNameSequence supports the iterator protocol
 
         i = 0
@@ -276,7 +276,7 @@
         if not has_spawnl:
             return            # ugh, can't use TestSkipped.
 
-        if test_support.verbose:
+        if support.verbose:
             v="v"
         else:
             v="q"
@@ -881,7 +881,7 @@
     test_classes.append(test_TemporaryFile)
 
 def test_main():
-    test_support.run_unittest(*test_classes)
+    support.run_unittest(*test_classes)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_textwrap.py b/Lib/test/test_textwrap.py
index 1a9761a..1cbd9ce 100644
--- a/Lib/test/test_textwrap.py
+++ b/Lib/test/test_textwrap.py
@@ -9,7 +9,7 @@
 #
 
 import unittest
-from test import test_support
+from test import support
 
 from textwrap import TextWrapper, wrap, fill, dedent
 
@@ -579,7 +579,7 @@
 
 
 def test_main():
-    test_support.run_unittest(WrapTestCase,
+    support.run_unittest(WrapTestCase,
                               LongWordTestCase,
                               IndentTestCases,
                               DedentTestCase)
diff --git a/Lib/test/test_thread.py b/Lib/test/test_thread.py
index 01d6655..cff9f81 100644
--- a/Lib/test/test_thread.py
+++ b/Lib/test/test_thread.py
@@ -1,7 +1,7 @@
 import os
 import unittest
 import random
-from test import test_support
+from test import support
 import thread
 import time
 
@@ -13,7 +13,7 @@
 
 def verbose_print(arg):
     """Helper function for printing out debugging output."""
-    if test_support.verbose:
+    if support.verbose:
         with _print_mutex:
             print(arg)
 
@@ -159,7 +159,7 @@
             self.done_mutex.release()
 
 def test_main():
-    test_support.run_unittest(ThreadRunningTests, BarrierTest)
+    support.run_unittest(ThreadRunningTests, BarrierTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_threaded_import.py b/Lib/test/test_threaded_import.py
index 41a2b90..fbe479c 100644
--- a/Lib/test/test_threaded_import.py
+++ b/Lib/test/test_threaded_import.py
@@ -6,7 +6,7 @@
 # randrange, and then Python hangs.
 
 import thread
-from test.test_support import verbose, TestSkipped, TestFailed
+from test.support import verbose, TestSkipped, TestFailed
 
 critical_section = thread.allocate_lock()
 done = thread.allocate_lock()
diff --git a/Lib/test/test_threadedtempfile.py b/Lib/test/test_threadedtempfile.py
index cde15b4..fb122d0 100644
--- a/Lib/test/test_threadedtempfile.py
+++ b/Lib/test/test_threadedtempfile.py
@@ -20,7 +20,7 @@
 import threading
 import tempfile
 
-from test.test_support import threading_setup, threading_cleanup, run_unittest
+from test.support import threading_setup, threading_cleanup, run_unittest
 import unittest
 import io
 from traceback import print_exc
diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py
index 1017f56..9582dde 100644
--- a/Lib/test/test_threading.py
+++ b/Lib/test/test_threading.py
@@ -1,7 +1,7 @@
 # Very rudimentary test of threading module
 
-import test.test_support
-from test.test_support import verbose
+import test.support
+from test.support import verbose
 import random
 import sys
 import threading
@@ -356,7 +356,7 @@
 
 
 def test_main():
-    test.test_support.run_unittest(ThreadTests,
+    test.support.run_unittest(ThreadTests,
                                    ThreadingExceptionTests)
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_threading_local.py b/Lib/test/test_threading_local.py
index b7dd538..e48dc59 100644
--- a/Lib/test/test_threading_local.py
+++ b/Lib/test/test_threading_local.py
@@ -1,6 +1,6 @@
 import unittest
 from doctest import DocTestSuite
-from test import test_support
+from test import support
 import threading
 import weakref
 import gc
@@ -62,7 +62,7 @@
                                    setUp=setUp, tearDown=tearDown)
                       )
 
-    test_support.run_unittest(suite)
+    support.run_unittest(suite)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_threadsignals.py b/Lib/test/test_threadsignals.py
index 2f014e1..cbed42c 100644
--- a/Lib/test/test_threadsignals.py
+++ b/Lib/test/test_threadsignals.py
@@ -5,7 +5,7 @@
 import signal
 import os
 import sys
-from test.test_support import run_unittest, TestSkipped
+from test.support import run_unittest, TestSkipped
 
 if sys.platform[:3] in ('win', 'os2'):
     raise TestSkipped("Can't test signal on %s" % sys.platform)
diff --git a/Lib/test/test_time.py b/Lib/test/test_time.py
index 3a7fa0f..4c89f03 100644
--- a/Lib/test/test_time.py
+++ b/Lib/test/test_time.py
@@ -1,4 +1,4 @@
-from test import test_support
+from test import support
 import time
 import unittest
 
@@ -219,7 +219,7 @@
         self.assert_(0 <= (t1-t0) < 0.2)
 
 def test_main():
-    test_support.run_unittest(TimeTestCase)
+    support.run_unittest(TimeTestCase)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_timeout.py b/Lib/test/test_timeout.py
index 6324fc1..264704e 100644
--- a/Lib/test/test_timeout.py
+++ b/Lib/test/test_timeout.py
@@ -1,10 +1,10 @@
 """Unit tests for socket timeout feature."""
 
 import unittest
-from test import test_support
+from test import support
 
 # This requires the 'network' resource as given on the regrtest command line.
-skip_expected = not test_support.is_resource_enabled('network')
+skip_expected = not support.is_resource_enabled('network')
 
 import time
 import socket
@@ -191,8 +191,8 @@
 
 
 def test_main():
-    test_support.requires('network')
-    test_support.run_unittest(CreationTestCase, TimeoutTestCase)
+    support.requires('network')
+    support.run_unittest(CreationTestCase, TimeoutTestCase)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_tokenize.py b/Lib/test/test_tokenize.py
index ea9030b..8fbd216 100644
--- a/Lib/test/test_tokenize.py
+++ b/Lib/test/test_tokenize.py
@@ -60,7 +60,7 @@
     ...           "  print(x)\\n")
     True
 
-    >>> f = test_support.findfile("tokenize_tests.txt")
+    >>> f = support.findfile("tokenize_tests.txt")
     >>> roundtrip(open(f, 'rb'))
     True
 
@@ -522,7 +522,7 @@
     >>> tempdir = os.path.dirname(f) or os.curdir
     >>> testfiles = glob.glob(os.path.join(tempdir, "test*.py"))
 
-    >>> if not test_support.is_resource_enabled("compiler"):
+    >>> if not support.is_resource_enabled("compiler"):
     ...     testfiles = random.sample(testfiles, 10)
     ...
     >>> for testfile in testfiles:
@@ -533,7 +533,7 @@
     True
 """
 
-from test import test_support
+from test import support
 from tokenize import (tokenize, _tokenize, untokenize, NUMBER, NAME, OP,
                      STRING, ENDMARKER, tok_name, detect_encoding)
 from io import BytesIO
@@ -842,11 +842,11 @@
 
 def test_main():
     from test import test_tokenize
-    test_support.run_doctest(test_tokenize, True)
-    test_support.run_unittest(TestTokenizerAdheresToPep0263)
-    test_support.run_unittest(Test_Tokenize)
-    test_support.run_unittest(TestDetectEncoding)
-    test_support.run_unittest(TestTokenize)
+    support.run_doctest(test_tokenize, True)
+    support.run_unittest(TestTokenizerAdheresToPep0263)
+    support.run_unittest(Test_Tokenize)
+    support.run_unittest(TestDetectEncoding)
+    support.run_unittest(TestTokenize)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_trace.py b/Lib/test/test_trace.py
index 9ecd995..48a717b 100644
--- a/Lib/test/test_trace.py
+++ b/Lib/test/test_trace.py
@@ -1,6 +1,6 @@
 # Testing the line trace facility.
 
-from test import test_support
+from test import support
 import unittest
 import sys
 import difflib
@@ -742,7 +742,7 @@
         no_jump_without_trace_function()
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         TraceTestCase,
         RaisingTraceFuncTestCase,
         JumpTestCase
diff --git a/Lib/test/test_traceback.py b/Lib/test/test_traceback.py
index 600c7b5..3f89e6a 100644
--- a/Lib/test/test_traceback.py
+++ b/Lib/test/test_traceback.py
@@ -4,7 +4,7 @@
 from io import StringIO
 import sys
 import unittest
-from test.test_support import run_unittest, is_jython, Error
+from test.support import run_unittest, is_jython, Error
 
 import traceback
 
diff --git a/Lib/test/test_tuple.py b/Lib/test/test_tuple.py
index 77672e7..de08131 100644
--- a/Lib/test/test_tuple.py
+++ b/Lib/test/test_tuple.py
@@ -1,4 +1,4 @@
-from test import test_support, seq_tests
+from test import support, seq_tests
 
 class TupleTest(seq_tests.CommonTest):
     type2test = tuple
@@ -83,7 +83,7 @@
         self.assertEqual(repr(a2), "(0, 1, 2)")
 
 def test_main():
-    test_support.run_unittest(TupleTest)
+    support.run_unittest(TupleTest)
 
 if __name__=="__main__":
     test_main()
diff --git a/Lib/test/test_typechecks.py b/Lib/test/test_typechecks.py
index 1dcc82c..901c326 100644
--- a/Lib/test/test_typechecks.py
+++ b/Lib/test/test_typechecks.py
@@ -1,7 +1,7 @@
 """Unit tests for __instancecheck__ and __subclasscheck__."""
 
 import unittest
-from test import test_support
+from test import support
 
 
 class ABC(type):
@@ -56,7 +56,7 @@
 
 
 def test_main():
-    test_support.run_unittest(TypeChecksTest)
+    support.run_unittest(TypeChecksTest)
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_types.py b/Lib/test/test_types.py
index 2fc0004..948e8d4 100644
--- a/Lib/test/test_types.py
+++ b/Lib/test/test_types.py
@@ -1,6 +1,6 @@
 # Python test set -- part 6, built-in types
 
-from test.test_support import run_unittest, run_with_locale
+from test.support import run_unittest, run_with_locale
 import unittest
 import sys
 import locale
diff --git a/Lib/test/test_ucn.py b/Lib/test/test_ucn.py
index 78cb780..2d48179 100644
--- a/Lib/test/test_ucn.py
+++ b/Lib/test/test_ucn.py
@@ -9,7 +9,7 @@
 
 import unittest
 
-from test import test_support
+from test import support
 
 class UnicodeNamesTest(unittest.TestCase):
 
@@ -138,7 +138,7 @@
         )
 
 def test_main():
-    test_support.run_unittest(UnicodeNamesTest)
+    support.run_unittest(UnicodeNamesTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_unary.py b/Lib/test/test_unary.py
index dbefe62..7dd651e 100644
--- a/Lib/test/test_unary.py
+++ b/Lib/test/test_unary.py
@@ -1,7 +1,7 @@
 """Test compiler changes for unary ops (+, -, ~) introduced in Python 2.2"""
 
 import unittest
-from test.test_support import run_unittest
+from test.support import run_unittest
 
 class UnaryOpTestCase(unittest.TestCase):
 
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py
index c64dee5..2f9add5 100644
--- a/Lib/test/test_unicode.py
+++ b/Lib/test/test_unicode.py
@@ -11,7 +11,7 @@
 import sys
 import unittest
 import warnings
-from test import test_support, string_tests
+from test import support, string_tests
 
 # Error handling (bad decoder return)
 def search_function(encoding):
@@ -671,7 +671,7 @@
                 return '\u1234'
         self.assertEqual('%s' % Wrapper(), '\u1234')
 
-    @test_support.run_with_locale('LC_ALL', 'de_DE', 'fr_FR')
+    @support.run_with_locale('LC_ALL', 'de_DE', 'fr_FR')
     def test_format_float(self):
         # should not format with a comma, but always with C locale
         self.assertEqual('1.0', '%.1f' % 1.0)
@@ -1077,7 +1077,7 @@
 
 
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_unicode_file.py b/Lib/test/test_unicode_file.py
index 5f0681e..cc670db 100644
--- a/Lib/test/test_unicode_file.py
+++ b/Lib/test/test_unicode_file.py
@@ -5,8 +5,8 @@
 import unicodedata
 
 import unittest
-from test.test_support import run_unittest, TestSkipped, TESTFN_UNICODE
-from test.test_support import TESTFN_ENCODING, TESTFN_UNICODE_UNENCODEABLE
+from test.support import run_unittest, TestSkipped, TESTFN_UNICODE
+from test.support import TESTFN_ENCODING, TESTFN_UNICODE_UNENCODEABLE
 try:
     TESTFN_UNICODE.encode(TESTFN_ENCODING)
 except (UnicodeError, TypeError):
diff --git a/Lib/test/test_unicodedata.py b/Lib/test/test_unicodedata.py
index c4ea816..08208f9 100644
--- a/Lib/test/test_unicodedata.py
+++ b/Lib/test/test_unicodedata.py
@@ -5,7 +5,7 @@
     (c) Copyright CNRI, All Rights Reserved. NO WARRANTY.
 
 """#"
-import unittest, test.test_support
+import unittest, test.support
 import hashlib
 
 encoding = 'utf-8'
@@ -219,7 +219,7 @@
         self.assertEquals(self.db.lookup("GOTHIC LETTER FAIHU"), '\U00010346')
 
 def test_main():
-    test.test_support.run_unittest(
+    test.support.run_unittest(
         UnicodeMiscTest,
         UnicodeMethodsTest,
         UnicodeFunctionsTest
diff --git a/Lib/test/test_unittest.py b/Lib/test/test_unittest.py
index ed27618..c9c17d3 100644
--- a/Lib/test/test_unittest.py
+++ b/Lib/test/test_unittest.py
@@ -6,7 +6,7 @@
     TestCase.{assert,fail}* methods (some are tested implicitly)
 """
 
-from test import test_support
+from test import support
 import unittest
 from unittest import TestCase
 import types
@@ -2289,7 +2289,7 @@
 ######################################################################
 
 def test_main():
-    test_support.run_unittest(Test_TestCase, Test_TestLoader,
+    support.run_unittest(Test_TestCase, Test_TestLoader,
         Test_TestSuite, Test_TestResult, Test_FunctionTestCase,
         Test_Assertions)
 
diff --git a/Lib/test/test_univnewlines.py b/Lib/test/test_univnewlines.py
index c3b7bc4..c4e4a3f 100644
--- a/Lib/test/test_univnewlines.py
+++ b/Lib/test/test_univnewlines.py
@@ -2,10 +2,10 @@
 import unittest
 import os
 import sys
-from test import test_support
+from test import support
 
 if not hasattr(sys.stdin, 'newlines'):
-    raise test_support.TestSkipped(
+    raise support.TestSkipped(
                        "This Python does not have universal newline support")
 
 FATX = 'x' * (2**14)
@@ -35,7 +35,7 @@
     WRITEMODE = 'wb'
 
     def setUp(self):
-        fp = open(test_support.TESTFN, self.WRITEMODE)
+        fp = open(support.TESTFN, self.WRITEMODE)
         data = self.DATA
         if "b" in self.WRITEMODE:
             data = data.encode("ascii")
@@ -44,24 +44,24 @@
 
     def tearDown(self):
         try:
-            os.unlink(test_support.TESTFN)
+            os.unlink(support.TESTFN)
         except:
             pass
 
     def test_read(self):
-        fp = open(test_support.TESTFN, self.READMODE)
+        fp = open(support.TESTFN, self.READMODE)
         data = fp.read()
         self.assertEqual(data, DATA_LF)
         self.assertEqual(repr(fp.newlines), repr(self.NEWLINE))
 
     def test_readlines(self):
-        fp = open(test_support.TESTFN, self.READMODE)
+        fp = open(support.TESTFN, self.READMODE)
         data = fp.readlines()
         self.assertEqual(data, DATA_SPLIT)
         self.assertEqual(repr(fp.newlines), repr(self.NEWLINE))
 
     def test_readline(self):
-        fp = open(test_support.TESTFN, self.READMODE)
+        fp = open(support.TESTFN, self.READMODE)
         data = []
         d = fp.readline()
         while d:
@@ -71,7 +71,7 @@
         self.assertEqual(repr(fp.newlines), repr(self.NEWLINE))
 
     def test_seek(self):
-        fp = open(test_support.TESTFN, self.READMODE)
+        fp = open(support.TESTFN, self.READMODE)
         fp.readline()
         pos = fp.tell()
         data = fp.readlines()
@@ -94,7 +94,7 @@
     DATA = DATA_CRLF
 
     def test_tell(self):
-        fp = open(test_support.TESTFN, self.READMODE)
+        fp = open(support.TESTFN, self.READMODE)
         self.assertEqual(repr(fp.newlines), repr(None))
         data = fp.readline()
         pos = fp.tell()
@@ -106,7 +106,7 @@
 
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         TestCRNewlines,
         TestLFNewlines,
         TestCRLFNewlines,
diff --git a/Lib/test/test_unpack.py b/Lib/test/test_unpack.py
index a90b5e5..b1531f3 100644
--- a/Lib/test/test_unpack.py
+++ b/Lib/test/test_unpack.py
@@ -122,9 +122,9 @@
 __test__ = {'doctests' : doctests}
 
 def test_main(verbose=False):
-    from test import test_support
+    from test import support
     from test import test_unpack
-    test_support.run_doctest(test_unpack, verbose)
+    support.run_doctest(test_unpack, verbose)
 
 if __name__ == "__main__":
     test_main(verbose=True)
diff --git a/Lib/test/test_unpack_ex.py b/Lib/test/test_unpack_ex.py
index 89486b8..ae2dcbd 100644
--- a/Lib/test/test_unpack_ex.py
+++ b/Lib/test/test_unpack_ex.py
@@ -166,9 +166,9 @@
 
 def test_main(verbose=False):
     import sys
-    from test import test_support
+    from test import support
     from test import test_unpack_ex
-    test_support.run_doctest(test_unpack_ex, verbose)
+    support.run_doctest(test_unpack_ex, verbose)
 
 if __name__ == "__main__":
     test_main(verbose=True)
diff --git a/Lib/test/test_urllib.py b/Lib/test/test_urllib.py
index d58414c..7db281c 100644
--- a/Lib/test/test_urllib.py
+++ b/Lib/test/test_urllib.py
@@ -4,7 +4,7 @@
 import httplib
 import io
 import unittest
-from test import test_support
+from test import support
 import os
 import mimetools
 import tempfile
@@ -27,18 +27,18 @@
     def setUp(self):
         """Setup of a temp file to use for testing"""
         self.text = bytes("test_urllib: %s\n" % self.__class__.__name__, "ascii")
-        FILE = open(test_support.TESTFN, 'wb')
+        FILE = open(support.TESTFN, 'wb')
         try:
             FILE.write(self.text)
         finally:
             FILE.close()
-        self.pathname = test_support.TESTFN
+        self.pathname = support.TESTFN
         self.returned_obj = urllib.urlopen("file:%s" % self.pathname)
 
     def tearDown(self):
         """Shut down the open object"""
         self.returned_obj.close()
-        os.remove(test_support.TESTFN)
+        os.remove(support.TESTFN)
 
     def test_interface(self):
         # Make sure object returned by urlopen() has the specified methods
@@ -163,10 +163,10 @@
         self.tempFiles = []
 
         # Create a temporary file.
-        self.registerFileForCleanUp(test_support.TESTFN)
+        self.registerFileForCleanUp(support.TESTFN)
         self.text = b'testing urllib.urlretrieve'
         try:
-            FILE = open(test_support.TESTFN, 'wb')
+            FILE = open(support.TESTFN, 'wb')
             FILE.write(self.text)
             FILE.close()
         finally:
@@ -204,18 +204,18 @@
     def test_basic(self):
         # Make sure that a local file just gets its own location returned and
         # a headers value is returned.
-        result = urllib.urlretrieve("file:%s" % test_support.TESTFN)
-        self.assertEqual(result[0], test_support.TESTFN)
+        result = urllib.urlretrieve("file:%s" % support.TESTFN)
+        self.assertEqual(result[0], support.TESTFN)
         self.assert_(isinstance(result[1], mimetools.Message),
                      "did not get a mimetools.Message instance as second "
                      "returned value")
 
     def test_copy(self):
         # Test that setting the filename argument works.
-        second_temp = "%s.2" % test_support.TESTFN
+        second_temp = "%s.2" % support.TESTFN
         self.registerFileForCleanUp(second_temp)
         result = urllib.urlretrieve(self.constructLocalFileUrl(
-            test_support.TESTFN), second_temp)
+            support.TESTFN), second_temp)
         self.assertEqual(second_temp, result[0])
         self.assert_(os.path.exists(second_temp), "copy of the file was not "
                                                   "made")
@@ -236,9 +236,9 @@
             self.assert_(isinstance(total_size, int))
             self.assertEqual(count, count_holder[0])
             count_holder[0] = count_holder[0] + 1
-        second_temp = "%s.2" % test_support.TESTFN
+        second_temp = "%s.2" % support.TESTFN
         self.registerFileForCleanUp(second_temp)
-        urllib.urlretrieve(self.constructLocalFileUrl(test_support.TESTFN),
+        urllib.urlretrieve(self.constructLocalFileUrl(support.TESTFN),
             second_temp, hooktester)
 
     def test_reporthook_0_bytes(self):
@@ -248,7 +248,7 @@
             _report.append((count, block_size, total_size))
         srcFileName = self.createNewTempFile()
         urllib.urlretrieve(self.constructLocalFileUrl(srcFileName),
-            test_support.TESTFN, hooktester)
+            support.TESTFN, hooktester)
         self.assertEqual(len(report), 1)
         self.assertEqual(report[0][2], 0)
 
@@ -262,7 +262,7 @@
             _report.append((count, block_size, total_size))
         srcFileName = self.createNewTempFile(b"x" * 5)
         urllib.urlretrieve(self.constructLocalFileUrl(srcFileName),
-            test_support.TESTFN, hooktester)
+            support.TESTFN, hooktester)
         self.assertEqual(len(report), 2)
         self.assertEqual(report[0][1], 8192)
         self.assertEqual(report[0][2], 5)
@@ -276,7 +276,7 @@
             _report.append((count, block_size, total_size))
         srcFileName = self.createNewTempFile(b"x" * 8193)
         urllib.urlretrieve(self.constructLocalFileUrl(srcFileName),
-            test_support.TESTFN, hooktester)
+            support.TESTFN, hooktester)
         self.assertEqual(len(report), 3)
         self.assertEqual(report[0][1], 8192)
         self.assertEqual(report[0][2], 8193)
@@ -632,7 +632,7 @@
 
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         urlopen_FileTests,
         urlopen_HttpTests,
         urlretrieve_FileTests,
diff --git a/Lib/test/test_urllib2.py b/Lib/test/test_urllib2.py
index d34a177..cb730e2 100644
--- a/Lib/test/test_urllib2.py
+++ b/Lib/test/test_urllib2.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 
 import os
 import io
@@ -588,7 +588,7 @@
         h = urllib2.FileHandler()
         o = h.parent = MockOpener()
 
-        TESTFN = test_support.TESTFN
+        TESTFN = support.TESTFN
         urlpath = sanepathname2url(os.path.abspath(TESTFN))
         towrite = b"hello, world\n"
         urls = [
@@ -1075,13 +1075,13 @@
 
 def test_main(verbose=None):
     from test import test_urllib2
-    test_support.run_doctest(test_urllib2, verbose)
-    test_support.run_doctest(urllib2, verbose)
+    support.run_doctest(test_urllib2, verbose)
+    support.run_doctest(urllib2, verbose)
     tests = (TrivialTests,
              OpenerDirectorTests,
              HandlerTests,
              MiscTests)
-    test_support.run_unittest(*tests)
+    support.run_unittest(*tests)
 
 if __name__ == "__main__":
     test_main(verbose=True)
diff --git a/Lib/test/test_urllib2_localnet.py b/Lib/test/test_urllib2_localnet.py
index 0815658..6bf1820 100644
--- a/Lib/test/test_urllib2_localnet.py
+++ b/Lib/test/test_urllib2_localnet.py
@@ -7,7 +7,7 @@
 import BaseHTTPServer
 import unittest
 import hashlib
-from test import test_support
+from test import support
 
 # Loopback http server infrastructure
 
@@ -481,10 +481,10 @@
     # (Lib/test/regrtest.py -u network) since all tests here are only
     # localhost.  However, if this is a bad rationale, then uncomment
     # the next line.
-    #test_support.requires("network")
+    #support.requires("network")
 
-    test_support.run_unittest(ProxyAuthTests)
-    test_support.run_unittest(TestUrlopen)
+    support.run_unittest(ProxyAuthTests)
+    support.run_unittest(TestUrlopen)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_urllib2net.py b/Lib/test/test_urllib2net.py
index 75df9fd..89e48cb 100644
--- a/Lib/test/test_urllib2net.py
+++ b/Lib/test/test_urllib2net.py
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 
 import unittest
-from test import test_support
+from test import support
 from test.test_urllib2 import sanepathname2url
 
 import socket
@@ -105,7 +105,7 @@
         self._test_urls(urls, self._extra_handlers())
 
     def test_file(self):
-        TESTFN = test_support.TESTFN
+        TESTFN = support.TESTFN
         f = open(TESTFN, 'w')
         try:
             f.write('hi there\n')
@@ -169,7 +169,7 @@
                            (expected_err, url, req, type(err), err))
                     self.assert_(isinstance(err, expected_err), msg)
             else:
-                with test_support.transient_internet():
+                with support.transient_internet():
                     buf = f.read()
                 f.close()
                 debug("read %d bytes" % len(buf))
@@ -233,8 +233,8 @@
 
 
 def test_main():
-    test_support.requires("network")
-    test_support.run_unittest(AuthTests,
+    support.requires("network")
+    support.run_unittest(AuthTests,
                               OtherNetworkTests,
                               CloseSocketTest,
                               TimeoutTest,
diff --git a/Lib/test/test_urllibnet.py b/Lib/test/test_urllibnet.py
index 6fd4684..6c2632c 100644
--- a/Lib/test/test_urllibnet.py
+++ b/Lib/test/test_urllibnet.py
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 
 import unittest
-from test import test_support
+from test import support
 
 import socket
 import urllib
@@ -166,8 +166,8 @@
     def test_specified_path(self):
         # Make sure that specifying the location of the file to write to works.
         file_location,info = self.urlretrieve("http://www.python.org/",
-                                              test_support.TESTFN)
-        self.assertEqual(file_location, test_support.TESTFN)
+                                              support.TESTFN)
+        self.assertEqual(file_location, support.TESTFN)
         self.assert_(os.path.exists(file_location))
         FILE = open(file_location, errors='ignore')
         try:
@@ -186,8 +186,8 @@
 
 
 def test_main():
-    test_support.requires('network')
-    test_support.run_unittest(URLTimeoutTest,
+    support.requires('network')
+    support.run_unittest(URLTimeoutTest,
                               urlopenNetworkTests,
                               urlretrieveNetworkTests)
 
diff --git a/Lib/test/test_urlparse.py b/Lib/test/test_urlparse.py
index 8ab8f35..02b2f6f 100644
--- a/Lib/test/test_urlparse.py
+++ b/Lib/test/test_urlparse.py
@@ -1,6 +1,6 @@
 #! /usr/bin/env python
 
-from test import test_support
+from test import support
 import unittest
 import urlparse
 
@@ -311,7 +311,7 @@
                          ('http', 'example.com', '', '', 'blahblah=/foo', ''))
 
 def test_main():
-    test_support.run_unittest(UrlParseTestCase)
+    support.run_unittest(UrlParseTestCase)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_userdict.py b/Lib/test/test_userdict.py
index 3a8a8b4..30eec71 100644
--- a/Lib/test/test_userdict.py
+++ b/Lib/test/test_userdict.py
@@ -1,6 +1,6 @@
 # Check every path through every method of UserDict
 
-from test import test_support, mapping_tests
+from test import support, mapping_tests
 import collections
 
 d0 = {}
@@ -190,7 +190,7 @@
 
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         UserDictTest,
     )
 
diff --git a/Lib/test/test_userlist.py b/Lib/test/test_userlist.py
index a0daa4e..868ed24 100644
--- a/Lib/test/test_userlist.py
+++ b/Lib/test/test_userlist.py
@@ -1,7 +1,7 @@
 # Check every path through every method of UserList
 
 from collections import UserList
-from test import test_support, list_tests
+from test import support, list_tests
 
 class UserListTest(list_tests.CommonTest):
     type2test = UserList
@@ -53,7 +53,7 @@
         self.assertEqual(next(iter(T((1,2)))), "0!!!")
 
 def test_main():
-    test_support.run_unittest(UserListTest)
+    support.run_unittest(UserListTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_userstring.py b/Lib/test/test_userstring.py
index e8fb135..0538138 100755
--- a/Lib/test/test_userstring.py
+++ b/Lib/test/test_userstring.py
@@ -3,7 +3,7 @@
 # UserString instances should behave similar to builtin string objects.
 
 import string
-from test import test_support, string_tests
+from test import support, string_tests
 
 from collections import UserString
 
@@ -43,7 +43,7 @@
 
 
 def test_main():
-    test_support.run_unittest(UserStringTest)
+    support.run_unittest(UserStringTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_uu.py b/Lib/test/test_uu.py
index b4bb32b..02d0171 100644
--- a/Lib/test/test_uu.py
+++ b/Lib/test/test_uu.py
@@ -4,7 +4,7 @@
 """
 
 import unittest
-from test import test_support
+from test import support
 
 import sys, os
 import uu
@@ -111,8 +111,8 @@
             pass
 
     def setUp(self):
-        self.tmpin  = test_support.TESTFN + "i"
-        self.tmpout = test_support.TESTFN + "o"
+        self.tmpin  = support.TESTFN + "i"
+        self.tmpout = support.TESTFN + "o"
 
     def tearDown(self):
         del self.tmpin
@@ -121,7 +121,7 @@
     def test_encode(self):
         fin = fout = None
         try:
-            test_support.unlink(self.tmpin)
+            support.unlink(self.tmpin)
             fin = open(self.tmpin, 'wb')
             fin.write(plaintext)
             fin.close()
@@ -151,7 +151,7 @@
     def test_decode(self):
         f = None
         try:
-            test_support.unlink(self.tmpin)
+            support.unlink(self.tmpin)
             f = open(self.tmpin, 'wb')
             f.write(encodedtextwrapped(0o644, self.tmpout))
             f.close()
@@ -185,7 +185,7 @@
             self._kill(f)
 
 def test_main():
-    test_support.run_unittest(UUTest,
+    support.run_unittest(UUTest,
                               UUStdIOTest,
                               UUFileTest,
                               )
diff --git a/Lib/test/test_uuid.py b/Lib/test/test_uuid.py
index 92d6294..5a37c2f 100644
--- a/Lib/test/test_uuid.py
+++ b/Lib/test/test_uuid.py
@@ -1,5 +1,5 @@
 from unittest import TestCase
-from test import test_support
+from test import support
 import uuid
 
 def importable(name):
@@ -462,7 +462,7 @@
 
 
 def test_main():
-    test_support.run_unittest(TestUUID)
+    support.run_unittest(TestUUID)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_wait3.py b/Lib/test/test_wait3.py
index 3adbec4..4cca441 100644
--- a/Lib/test/test_wait3.py
+++ b/Lib/test/test_wait3.py
@@ -4,7 +4,7 @@
 import os
 import time
 from test.fork_wait import ForkWait
-from test.test_support import TestSkipped, run_unittest, reap_children
+from test.support import TestSkipped, run_unittest, reap_children
 
 try:
     os.fork
diff --git a/Lib/test/test_wait4.py b/Lib/test/test_wait4.py
index c85944d..192fd94 100644
--- a/Lib/test/test_wait4.py
+++ b/Lib/test/test_wait4.py
@@ -4,7 +4,7 @@
 import os
 import time
 from test.fork_wait import ForkWait
-from test.test_support import TestSkipped, run_unittest, reap_children
+from test.support import TestSkipped, run_unittest, reap_children
 
 try:
     os.fork
diff --git a/Lib/test/test_warnings.py b/Lib/test/test_warnings.py
index 7b512ef..6fb3c0e 100644
--- a/Lib/test/test_warnings.py
+++ b/Lib/test/test_warnings.py
@@ -4,7 +4,7 @@
 from io import StringIO
 import sys
 import unittest
-from test import test_support
+from test import support
 
 from test import warning_tests
 
@@ -72,21 +72,21 @@
     """Testing the filtering functionality."""
 
     def test_error(self):
-        with test_support.catch_warning(self.module) as w:
+        with support.catch_warning(self.module) as w:
             self.module.resetwarnings()
             self.module.filterwarnings("error", category=UserWarning)
             self.assertRaises(UserWarning, self.module.warn,
                                 "FilterTests.test_error")
 
     def test_ignore(self):
-        with test_support.catch_warning(self.module) as w:
+        with support.catch_warning(self.module) as w:
             self.module.resetwarnings()
             self.module.filterwarnings("ignore", category=UserWarning)
             self.module.warn("FilterTests.test_ignore", UserWarning)
             self.assert_(not w.message)
 
     def test_always(self):
-        with test_support.catch_warning(self.module) as w:
+        with support.catch_warning(self.module) as w:
             self.module.resetwarnings()
             self.module.filterwarnings("always", category=UserWarning)
             message = "FilterTests.test_always"
@@ -97,7 +97,7 @@
             self.assert_(w.message, message)
 
     def test_default(self):
-        with test_support.catch_warning(self.module) as w:
+        with support.catch_warning(self.module) as w:
             self.module.resetwarnings()
             self.module.filterwarnings("default", category=UserWarning)
             message = UserWarning("FilterTests.test_default")
@@ -112,7 +112,7 @@
                     raise ValueError("loop variant unhandled")
 
     def test_module(self):
-        with test_support.catch_warning(self.module) as w:
+        with support.catch_warning(self.module) as w:
             self.module.resetwarnings()
             self.module.filterwarnings("module", category=UserWarning)
             message = UserWarning("FilterTests.test_module")
@@ -123,7 +123,7 @@
             self.assert_(not w.message, "unexpected message: " + str(w))
 
     def test_once(self):
-        with test_support.catch_warning(self.module) as w:
+        with support.catch_warning(self.module) as w:
             self.module.resetwarnings()
             self.module.filterwarnings("once", category=UserWarning)
             message = UserWarning("FilterTests.test_once")
@@ -139,14 +139,14 @@
             self.assert_(not w.message)
 
     def test_inheritance(self):
-        with test_support.catch_warning(self.module) as w:
+        with support.catch_warning(self.module) as w:
             self.module.resetwarnings()
             self.module.filterwarnings("error", category=Warning)
             self.assertRaises(UserWarning, self.module.warn,
                                 "FilterTests.test_inheritance", UserWarning)
 
     def test_ordering(self):
-        with test_support.catch_warning(self.module) as w:
+        with support.catch_warning(self.module) as w:
             self.module.resetwarnings()
             self.module.filterwarnings("ignore", category=UserWarning)
             self.module.filterwarnings("error", category=UserWarning,
@@ -161,7 +161,7 @@
     def test_filterwarnings(self):
         # Test filterwarnings().
         # Implicitly also tests resetwarnings().
-        with test_support.catch_warning(self.module) as w:
+        with support.catch_warning(self.module) as w:
             self.module.filterwarnings("error", "", Warning, "", 0)
             self.assertRaises(UserWarning, self.module.warn, 'convert to error')
 
@@ -196,7 +196,7 @@
     """Test warnings.warn() and warnings.warn_explicit()."""
 
     def test_message(self):
-        with test_support.catch_warning(self.module) as w:
+        with support.catch_warning(self.module) as w:
             for i in range(4):
                 text = 'multi %d' %i  # Different text on each call.
                 self.module.warn(text)
@@ -205,7 +205,7 @@
 
     def test_filename(self):
         with warnings_state(self.module):
-            with test_support.catch_warning(self.module) as w:
+            with support.catch_warning(self.module) as w:
                 warning_tests.inner("spam1")
                 self.assertEqual(os.path.basename(w.filename), "warning_tests.py")
                 warning_tests.outer("spam2")
@@ -215,7 +215,7 @@
         # Test stacklevel argument
         # make sure all messages are different, so the warning won't be skipped
         with warnings_state(self.module):
-            with test_support.catch_warning(self.module) as w:
+            with support.catch_warning(self.module) as w:
                 warning_tests.inner("spam3", stacklevel=1)
                 self.assertEqual(os.path.basename(w.filename), "warning_tests.py")
                 warning_tests.outer("spam4", stacklevel=1)
@@ -238,7 +238,7 @@
         try:
             del warning_tests.__file__
             with warnings_state(self.module):
-                with test_support.catch_warning(self.module) as w:
+                with support.catch_warning(self.module) as w:
                     warning_tests.inner("spam8", stacklevel=1)
                     self.assertEqual(w.filename, warning_tests.__name__)
         finally:
@@ -255,7 +255,7 @@
             del warning_tests.__file__
             warning_tests.__name__ = '__main__'
             with warnings_state(self.module):
-                with test_support.catch_warning(self.module) as w:
+                with support.catch_warning(self.module) as w:
                     warning_tests.inner('spam9', stacklevel=1)
                     self.assertEqual(w.filename, sys.argv[0])
         finally:
@@ -273,7 +273,7 @@
             warning_tests.__name__ = '__main__'
             del sys.argv
             with warnings_state(self.module):
-                with test_support.catch_warning(self.module) as w:
+                with support.catch_warning(self.module) as w:
                     warning_tests.inner('spam10', stacklevel=1)
                     self.assertEqual(w.filename, '__main__')
         finally:
@@ -293,7 +293,7 @@
             warning_tests.__name__ = '__main__'
             sys.argv = ['']
             with warnings_state(self.module):
-                with test_support.catch_warning(self.module) as w:
+                with support.catch_warning(self.module) as w:
                     warning_tests.inner('spam11', stacklevel=1)
                     self.assertEqual(w.filename, '__main__')
         finally:
@@ -315,7 +315,7 @@
     def test_improper_input(self):
         # Uses the private _setoption() function to test the parsing
         # of command-line warning arguments
-        with test_support.catch_warning(self.module):
+        with support.catch_warning(self.module):
             self.assertRaises(self.module._OptionError,
                               self.module._setoption, '1:2:3:4:5:6')
             self.assertRaises(self.module._OptionError,
@@ -340,7 +340,7 @@
 
     def test_filter(self):
         # Everything should function even if 'filters' is not in warnings.
-        with test_support.catch_warning(self.module) as w:
+        with support.catch_warning(self.module) as w:
             self.module.filterwarnings("error", "", Warning, "", 0)
             self.assertRaises(UserWarning, self.module.warn,
                                 'convert to error')
@@ -355,7 +355,7 @@
         try:
             original_registry = self.module.onceregistry
             __warningregistry__ = {}
-            with test_support.catch_warning(self.module) as w:
+            with support.catch_warning(self.module) as w:
                 self.module.resetwarnings()
                 self.module.filterwarnings("once", category=UserWarning)
                 self.module.warn_explicit(message, UserWarning, "file", 42)
@@ -380,10 +380,10 @@
     def test_showwarning_missing(self):
         # Test that showwarning() missing is okay.
         text = 'del showwarning test'
-        with test_support.catch_warning(self.module):
+        with support.catch_warning(self.module):
             self.module.filterwarnings("always", category=UserWarning)
             del self.module.showwarning
-            with test_support.captured_output('stderr') as stream:
+            with support.captured_output('stderr') as stream:
                 self.module.warn(text)
                 result = stream.getvalue()
         self.failUnless(text in result)
@@ -401,10 +401,10 @@
     def test_show_warning_output(self):
         # With showarning() missing, make sure that output is okay.
         text = 'test show_warning'
-        with test_support.catch_warning(self.module):
+        with support.catch_warning(self.module):
             self.module.filterwarnings("always", category=UserWarning)
             del self.module.showwarning
-            with test_support.captured_output('stderr') as stream:
+            with support.captured_output('stderr') as stream:
                 warning_tests.inner(text)
                 result = stream.getvalue()
         self.failUnlessEqual(result.count('\n'), 2,
@@ -476,7 +476,7 @@
 def test_main():
     py_warnings.onceregistry.clear()
     c_warnings.onceregistry.clear()
-    test_support.run_unittest(CFilterTests,
+    support.run_unittest(CFilterTests,
                                 PyFilterTests,
                                 CWarnTests,
                                 PyWarnTests,
diff --git a/Lib/test/test_wave.py b/Lib/test/test_wave.py
index c37323a..a7746fd 100644
--- a/Lib/test/test_wave.py
+++ b/Lib/test/test_wave.py
@@ -1,4 +1,4 @@
-from test.test_support import TESTFN, run_unittest
+from test.support import TESTFN, run_unittest
 import os
 import wave
 import unittest
diff --git a/Lib/test/test_weakref.py b/Lib/test/test_weakref.py
index 7de7b77..303345b 100644
--- a/Lib/test/test_weakref.py
+++ b/Lib/test/test_weakref.py
@@ -4,7 +4,7 @@
 import collections
 import weakref
 
-from test import test_support
+from test import support
 
 # Used in ReferencesTestCase.test_ref_created_during_del() .
 ref_from_del = None
@@ -1145,13 +1145,13 @@
 __test__ = {'libreftest' : libreftest}
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         ReferencesTestCase,
         MappingTestCase,
         WeakValueDictionaryTestCase,
         WeakKeyDictionaryTestCase,
         )
-    test_support.run_doctest(sys.modules[__name__])
+    support.run_doctest(sys.modules[__name__])
 
 
 if __name__ == "__main__":
diff --git a/Lib/test/test_weakset.py b/Lib/test/test_weakset.py
index 7f5b8eb..cff2045 100644
--- a/Lib/test/test_weakset.py
+++ b/Lib/test/test_weakset.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 from weakref import proxy, ref, WeakSet
 import operator
 import copy
@@ -306,7 +306,7 @@
 
 
 def test_main(verbose=None):
-    test_support.run_unittest(TestWeakSet)
+    support.run_unittest(TestWeakSet)
 
 if __name__ == "__main__":
     test_main(verbose=True)
diff --git a/Lib/test/test_whichdb.py b/Lib/test/test_whichdb.py
index e63eb0f..d908ac5 100644
--- a/Lib/test/test_whichdb.py
+++ b/Lib/test/test_whichdb.py
@@ -4,14 +4,14 @@
 """
 
 import os
-import test.test_support
+import test.support
 import unittest
 import whichdb
 import anydbm
 import glob
 from test.test_anydbm import delete_files, dbm_iterator
 
-_fname = test.test_support.TESTFN
+_fname = test.support.TESTFN
 
 class WhichDBTestCase(unittest.TestCase):
     # Actual test methods are added to namespace
@@ -27,7 +27,7 @@
             name = module.__name__
             if name == 'dumbdbm':
                 continue   # whichdb can't support dumbdbm
-            test.test_support.unlink(_fname)
+            test.support.unlink(_fname)
             f = module.open(_fname, 'c')
             f.close()
             self.assertEqual(name, whichdb.whichdb(_fname))
@@ -50,7 +50,7 @@
 
 def test_main():
     try:
-        test.test_support.run_unittest(WhichDBTestCase)
+        test.support.run_unittest(WhichDBTestCase)
     finally:
         delete_files()
 
diff --git a/Lib/test/test_winreg.py b/Lib/test/test_winreg.py
index 174d7bc..e852c69 100644
--- a/Lib/test/test_winreg.py
+++ b/Lib/test/test_winreg.py
@@ -6,7 +6,7 @@
 import os, sys
 import unittest
 
-from test import test_support
+from test import support
 
 test_key_name = "SOFTWARE\\Python Registry Test Key - Delete Me"
 
@@ -161,7 +161,7 @@
         self.assertEqual(r, os.environ["windir"] + "\\test")
 
 def test_main():
-    test_support.run_unittest(WinregTests)
+    support.run_unittest(WinregTests)
 
 if __name__ == "__main__":
     try:
diff --git a/Lib/test/test_winsound.py b/Lib/test/test_winsound.py
index bc21d7e..c39a233 100644
--- a/Lib/test/test_winsound.py
+++ b/Lib/test/test_winsound.py
@@ -1,8 +1,8 @@
 # Ridiculously simple test of the winsound module for Windows.
 
 import unittest
-from test import test_support
-test_support.requires('audio')
+from test import support
+support.requires('audio')
 import winsound, time
 import os
 import subprocess
@@ -226,7 +226,7 @@
 
 
 def test_main():
-    test_support.run_unittest(BeepTest, MessageBeepTest, PlaySoundTest)
+    support.run_unittest(BeepTest, MessageBeepTest, PlaySoundTest)
 
 if __name__=="__main__":
     test_main()
diff --git a/Lib/test/test_with.py b/Lib/test/test_with.py
index 6e439ac..43f3271 100644
--- a/Lib/test/test_with.py
+++ b/Lib/test/test_with.py
@@ -10,7 +10,7 @@
 import unittest
 from collections import deque
 from contextlib import GeneratorContextManager, contextmanager
-from test.test_support import run_unittest
+from test.support import run_unittest
 
 
 class MockContextManager(GeneratorContextManager):
diff --git a/Lib/test/test_wsgiref.py b/Lib/test/test_wsgiref.py
index a5e0b27..ac5ada3 100755
--- a/Lib/test/test_wsgiref.py
+++ b/Lib/test/test_wsgiref.py
@@ -11,7 +11,7 @@
 from socketserver import BaseServer
 import re, sys
 
-from test import test_support
+from test import support
 
 class MockServer(WSGIServer):
     """Non-socket HTTP server"""
@@ -578,7 +578,7 @@
 # This epilogue is needed for compatibility with the Python 2.5 regrtest module
 
 def test_main():
-    test_support.run_unittest(__name__)
+    support.run_unittest(__name__)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_xdrlib.py b/Lib/test/test_xdrlib.py
index 44d5a82..11a44ff 100644
--- a/Lib/test/test_xdrlib.py
+++ b/Lib/test/test_xdrlib.py
@@ -1,4 +1,4 @@
-from test import test_support
+from test import support
 import unittest
 
 import xdrlib
@@ -50,7 +50,7 @@
         self.assertRaises(EOFError, up.unpack_uint)
 
 def test_main():
-    test_support.run_unittest(XDRTest)
+    support.run_unittest(XDRTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_xml_etree.py b/Lib/test/test_xml_etree.py
index 8470584..895902f 100644
--- a/Lib/test/test_xml_etree.py
+++ b/Lib/test/test_xml_etree.py
@@ -5,7 +5,7 @@
 import doctest
 import sys
 
-from test import test_support
+from test import support
 
 SAMPLE_XML = """
 <body>
@@ -345,7 +345,7 @@
 
 def test_main():
     from test import test_xml_etree
-    test_support.run_doctest(test_xml_etree, verbosity=True)
+    support.run_doctest(test_xml_etree, verbosity=True)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_xml_etree_c.py b/Lib/test/test_xml_etree_c.py
index 80e91d1..4d28d01 100644
--- a/Lib/test/test_xml_etree_c.py
+++ b/Lib/test/test_xml_etree_c.py
@@ -3,7 +3,7 @@
 import doctest
 import sys
 
-from test import test_support
+from test import support
 
 from xml.etree import cElementTree as ET
 
@@ -214,7 +214,7 @@
 
 def test_main():
     from test import test_xml_etree_c
-    test_support.run_doctest(test_xml_etree_c, verbosity=True)
+    support.run_doctest(test_xml_etree_c, verbosity=True)
 
 if __name__ == '__main__':
     test_main()
diff --git a/Lib/test/test_xmlrpc.py b/Lib/test/test_xmlrpc.py
index 7ff078d..cad2b9d 100644
--- a/Lib/test/test_xmlrpc.py
+++ b/Lib/test/test_xmlrpc.py
@@ -10,7 +10,7 @@
 import httplib
 import socket
 import os
-from test import test_support
+from test import support
 
 alist = [{'astring': 'foo@bar.baz.spam',
           'afloat': 7283.43,
@@ -546,20 +546,20 @@
         # if the method is GET and no request_text is given, it runs handle_get
         # get sysout output
         tmp = sys.stdout
-        sys.stdout = open(test_support.TESTFN, "w")
+        sys.stdout = open(support.TESTFN, "w")
         self.cgi.handle_request()
         sys.stdout.close()
         sys.stdout = tmp
 
         # parse Status header
-        handle = open(test_support.TESTFN, "r").read()
+        handle = open(support.TESTFN, "r").read()
         status = handle.split()[1]
         message = ' '.join(handle.split()[2:4])
 
         self.assertEqual(status, '400')
         self.assertEqual(message, 'Bad Request')
 
-        os.remove(test_support.TESTFN)
+        os.remove(support.TESTFN)
         os.environ['REQUEST_METHOD'] = ''
 
     def test_cgi_xmlrpc_response(self):
@@ -581,7 +581,7 @@
         tmp2 = sys.stdout
 
         sys.stdin = open("xmldata.txt", "r")
-        sys.stdout = open(test_support.TESTFN, "w")
+        sys.stdout = open(support.TESTFN, "w")
 
         self.cgi.handle_request()
 
@@ -591,13 +591,13 @@
         sys.stdout = tmp2
 
         # will respond exception, if so, our goal is achieved ;)
-        handle = open(test_support.TESTFN, "r").read()
+        handle = open(support.TESTFN, "r").read()
 
         # start with 44th char so as not to get http header, we just need only xml
         self.assertRaises(xmlrpclib.Fault, xmlrpclib.loads, handle[44:])
 
         os.remove("xmldata.txt")
-        os.remove(test_support.TESTFN)
+        os.remove(support.TESTFN)
 
 def test_main():
     xmlrpc_tests = [XMLRPCTestCase, HelperTestCase, DateTimeTestCase,
@@ -612,7 +612,7 @@
         xmlrpc_tests.append(FailingServerTestCase)
         xmlrpc_tests.append(CGIHandlerTestCase)
 
-    test_support.run_unittest(*xmlrpc_tests)
+    support.run_unittest(*xmlrpc_tests)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_xmlrpc_net.py b/Lib/test/test_xmlrpc_net.py
index e62fcb6..1f8dd5d 100644
--- a/Lib/test/test_xmlrpc_net.py
+++ b/Lib/test/test_xmlrpc_net.py
@@ -4,7 +4,7 @@
 import socket
 import sys
 import unittest
-from test import test_support
+from test import support
 
 import xmlrpclib
 
@@ -37,8 +37,8 @@
 
 
 def test_main():
-    test_support.requires("network")
-    test_support.run_unittest(CurrentTimeTest)
+    support.requires("network")
+    support.run_unittest(CurrentTimeTest)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_zipfile.py b/Lib/test/test_zipfile.py
index 6878262..30efeb9 100644
--- a/Lib/test/test_zipfile.py
+++ b/Lib/test/test_zipfile.py
@@ -8,8 +8,8 @@
 from tempfile import TemporaryFile
 from random import randint, random
 
-import test.test_support as support
-from test.test_support import TESTFN, run_unittest
+import test.support as support
+from test.support import TESTFN, run_unittest
 
 TESTFN2 = TESTFN + "2"
 FIXEDTEST_SIZE = 1000
diff --git a/Lib/test/test_zipfile64.py b/Lib/test/test_zipfile64.py
index a008fd0..343fd4f 100644
--- a/Lib/test/test_zipfile64.py
+++ b/Lib/test/test_zipfile64.py
@@ -1,11 +1,11 @@
 # Tests of the full ZIP64 functionality of zipfile
-# The test_support.requires call is the only reason for keeping this separate
+# The support.requires call is the only reason for keeping this separate
 # from test_zipfile
-from test import test_support
+from test import support
 # XXX(nnorwitz): disable this test by looking for extra largfile resource
 # which doesn't exist.  This test takes over 30 minutes to run in general
 # and requires more disk space than most of the buildbots.
-test_support.requires(
+support.requires(
         'extralargefile',
         'test requires loads of disk-space bytes and a long time to run'
     )
@@ -23,7 +23,7 @@
 from io import StringIO
 from tempfile import TemporaryFile
 
-from test.test_support import TESTFN, run_unittest
+from test.support import TESTFN, run_unittest
 
 TESTFN2 = TESTFN + "2"
 
diff --git a/Lib/test/test_zipimport.py b/Lib/test/test_zipimport.py
index c7da859..754476a 100644
--- a/Lib/test/test_zipimport.py
+++ b/Lib/test/test_zipimport.py
@@ -8,7 +8,7 @@
 
 import zlib # implied prerequisite
 from zipfile import ZipFile, ZipInfo, ZIP_STORED, ZIP_DEFLATED
-from test import test_support
+from test import support
 from test.test_importhooks import ImportHooksBaseTestCase, test_src, test_co
 
 import zipimport
@@ -385,12 +385,12 @@
         self.assertZipFailure('A' * 33000)
 
     def testEmptyFile(self):
-        test_support.unlink(TESTMOD)
+        support.unlink(TESTMOD)
         open(TESTMOD, 'w+').close()
         self.assertZipFailure(TESTMOD)
 
     def testFileUnreadable(self):
-        test_support.unlink(TESTMOD)
+        support.unlink(TESTMOD)
         fd = os.open(TESTMOD, os.O_CREAT, 000)
         try:
             os.close(fd)
@@ -399,10 +399,10 @@
             # If we leave "the read-only bit" set on Windows, nothing can
             # delete TESTMOD, and later tests suffer bogus failures.
             os.chmod(TESTMOD, 0o666)
-            test_support.unlink(TESTMOD)
+            support.unlink(TESTMOD)
 
     def testNotZipFile(self):
-        test_support.unlink(TESTMOD)
+        support.unlink(TESTMOD)
         fp = open(TESTMOD, 'w+')
         fp.write('a' * 22)
         fp.close()
@@ -410,7 +410,7 @@
 
     # XXX: disabled until this works on Big-endian machines
     def _testBogusZipFile(self):
-        test_support.unlink(TESTMOD)
+        support.unlink(TESTMOD)
         fp = open(TESTMOD, 'w+')
         fp.write(struct.pack('=I', 0x06054B50))
         fp.write('a' * 18)
@@ -451,13 +451,13 @@
 def test_main():
     cleanup()
     try:
-        test_support.run_unittest(
+        support.run_unittest(
               UncompressedZipImportTestCase,
               CompressedZipImportTestCase,
               BadFileZipImportTestCase,
             )
     finally:
-        test_support.unlink(TESTMOD)
+        support.unlink(TESTMOD)
 
 if __name__ == "__main__":
     test_main()
diff --git a/Lib/test/test_zlib.py b/Lib/test/test_zlib.py
index 4fa263d..485ffdc 100644
--- a/Lib/test/test_zlib.py
+++ b/Lib/test/test_zlib.py
@@ -1,5 +1,5 @@
 import unittest
-from test import test_support
+from test import support
 import zlib
 import binascii
 import random
@@ -460,7 +460,7 @@
 
 
 def test_main():
-    test_support.run_unittest(
+    support.run_unittest(
         ChecksumTestCase,
         ExceptionTestCase,
         CompressTestCase,
diff --git a/Lib/test/xmltests.py b/Lib/test/xmltests.py
index 446fe30..0bfcba1 100644
--- a/Lib/test/xmltests.py
+++ b/Lib/test/xmltests.py
@@ -2,9 +2,9 @@
 # standard library.
 
 import sys
-import test.test_support
+import test.support
 
-test.test_support.verbose = 0
+test.support.verbose = 0
 
 def runtest(name):
     __import__(name)