[Python-checkins] distutils2: Isolate import of unittest or unittest2 in one place.

tarek.ziade python-checkins at python.org
Wed Jun 2 01:18:23 CEST 2010


tarek.ziade pushed 30409c856689 to distutils2:

http://hg.python.org/distutils2/rev/30409c856689
changeset:   194:30409c856689
user:        ?ric Araujo <merwok at netwok.org>
date:        Tue Jun 01 17:55:57 2010 +0200
summary:     Isolate import of unittest or unittest2 in one place.
files:       src/distutils2/_backport/tests/__init__.py, src/distutils2/_backport/tests/test_pkgutil.py, src/distutils2/_backport/tests/test_sysconfig.py, src/distutils2/tests/__init__.py, src/distutils2/tests/support.py, src/distutils2/tests/test_bdist.py, src/distutils2/tests/test_bdist_dumb.py, src/distutils2/tests/test_bdist_msi.py, src/distutils2/tests/test_bdist_wininst.py, src/distutils2/tests/test_build.py, src/distutils2/tests/test_build_clib.py, src/distutils2/tests/test_build_ext.py, src/distutils2/tests/test_build_py.py, src/distutils2/tests/test_build_scripts.py, src/distutils2/tests/test_ccompiler.py, src/distutils2/tests/test_check.py, src/distutils2/tests/test_clean.py, src/distutils2/tests/test_cmd.py, src/distutils2/tests/test_config.py, src/distutils2/tests/test_config_cmd.py, src/distutils2/tests/test_converter.py, src/distutils2/tests/test_core.py, src/distutils2/tests/test_cygwinccompiler.py, src/distutils2/tests/test_dist.py, src/distutils2/tests/test_emxccompiler.py, src/distutils2/tests/test_extension.py, src/distutils2/tests/test_install.py, src/distutils2/tests/test_install_data.py, src/distutils2/tests/test_install_headers.py, src/distutils2/tests/test_install_lib.py, src/distutils2/tests/test_install_scripts.py, src/distutils2/tests/test_manifest.py, src/distutils2/tests/test_metadata.py, src/distutils2/tests/test_msvc9compiler.py, src/distutils2/tests/test_pypi_versions.py, src/distutils2/tests/test_register.py, src/distutils2/tests/test_sdist.py, src/distutils2/tests/test_spawn.py, src/distutils2/tests/test_unixccompiler.py, src/distutils2/tests/test_upload.py, src/distutils2/tests/test_util.py, src/distutils2/tests/test_version.py, src/runtests.py

diff --git a/src/distutils2/_backport/tests/__init__.py b/src/distutils2/_backport/tests/__init__.py
--- a/src/distutils2/_backport/tests/__init__.py
+++ b/src/distutils2/_backport/tests/__init__.py
@@ -1,12 +1,13 @@
 import os
 import sys
-import unittest2
+
+from distutils2.tests.support import unittest
 
 
 here = os.path.dirname(__file__)
 
 def test_suite():
-    suite = unittest2.TestSuite()
+    suite = unittest.TestSuite()
     for fn in os.listdir(here):
         if fn.startswith("test") and fn.endswith(".py"):
             modname = "distutils2._backport.tests." + fn[:-3]
diff --git a/src/distutils2/_backport/tests/test_pkgutil.py b/src/distutils2/_backport/tests/test_pkgutil.py
--- a/src/distutils2/_backport/tests/test_pkgutil.py
+++ b/src/distutils2/_backport/tests/test_pkgutil.py
@@ -1,6 +1,5 @@
 # -*- coding: utf-8 -*-
 """Tests for PEP 376 pkgutil functionality"""
-import unittest2
 import sys
 import os
 import csv
@@ -12,13 +11,14 @@
 from test.test_support import run_unittest, TESTFN
 
 import distutils2._backport.pkgutil
+from distutils2.tests.support import unittest
 
 # TODO Add a test for getting a distribution that is provided by another
 #   distribution.
 
 # TODO Add a test for absolute pathed RECORD items (e.g. /etc/myapp/config.ini)
 
-class TestPkgUtilDistribution(unittest2.TestCase):
+class TestPkgUtilDistribution(unittest.TestCase):
     """Tests the pkgutil.Distribution class"""
 
     def setUp(self):
@@ -171,7 +171,7 @@
         self.assertEqual(sorted(found), sorted(distinfo_record_paths))
 
 
-class TestPkgUtilFunctions(unittest2.TestCase):
+class TestPkgUtilFunctions(unittest.TestCase):
     """Tests for the new functionality added in PEP 376."""
 
     def setUp(self):
@@ -371,8 +371,8 @@
 
 
 def test_suite():
-    suite = unittest2.TestSuite()
-    testcase_loader = unittest2.loader.defaultTestLoader.loadTestsFromTestCase
+    suite = unittest.TestSuite()
+    testcase_loader = unittest.loader.defaultTestLoader.loadTestsFromTestCase
     suite.addTest(testcase_loader(TestPkgUtilFunctions))
     suite.addTest(testcase_loader(TestPkgUtilDistribution))
     return suite
@@ -384,8 +384,8 @@
     test_main()
 
 def test_suite():
-    suite = unittest2.TestSuite()
-    testcase_loader = unittest2.loader.defaultTestLoader.loadTestsFromTestCase
+    suite = unittest.TestSuite()
+    testcase_loader = unittest.loader.defaultTestLoader.loadTestsFromTestCase
     suite.addTest(testcase_loader(TestPkgUtilFunctions))
     suite.addTest(testcase_loader(TestPkgUtilDistribution))
     return suite
diff --git a/src/distutils2/_backport/tests/test_sysconfig.py b/src/distutils2/_backport/tests/test_sysconfig.py
--- a/src/distutils2/_backport/tests/test_sysconfig.py
+++ b/src/distutils2/_backport/tests/test_sysconfig.py
@@ -4,7 +4,6 @@
 executing have not been removed.
 
 """
-import unittest2
 import sys
 import os
 import shutil
@@ -19,8 +18,9 @@
                        get_path, get_path_names,
                        _get_default_scheme, _subst_vars, _expand_vars,
                        get_scheme_names, _CONFIG_FILE)
+from distutils2.tests.support import unittest
 
-class TestSysConfig(unittest2.TestCase):
+class TestSysConfig(unittest.TestCase):
 
     def setUp(self):
         """Make a copy of sys.path"""
@@ -262,7 +262,7 @@
         _expand_globals(config)
 
 def test_suite():
-    return unittest2.makeSuite(TestSysConfig)
+    return unittest.makeSuite(TestSysConfig)
 
 def test_main():
     run_unittest(test_suite())
diff --git a/src/distutils2/tests/__init__.py b/src/distutils2/tests/__init__.py
--- a/src/distutils2/tests/__init__.py
+++ b/src/distutils2/tests/__init__.py
@@ -1,20 +1,25 @@
-"""Test suite for distutils.
+"""Test suite for distutils2.
 
 This test suite consists of a collection of test modules in the
-distutils.tests package.  Each test module has a name starting with
+distutils2.tests package.  Each test module has a name starting with
 'test' and contains a function test_suite().  The function is expected
-to return an initialized unittest2.TestSuite instance.
+to return an initialized unittest.TestSuite instance.
 
-Tests for the command classes in the distutils.command package are
-included in distutils.tests as well, instead of using a separate
-distutils.command.tests package, since command identification is done
+Tests for the command classes in the distutils2.command package are
+included in distutils2.tests as well, instead of using a separate
+distutils2.command.tests package, since command identification is done
 by import rather than matching pre-defined names.
 
+Utility code is included in distutils2.tests.support.  Always import
+unittest from that module, it will be the right version (standard
+library unittest for 2.7 and higher, third-party unittest2 release for
+older versions).
 """
+
 import os
 import sys
 import warnings
-import unittest2
+from distutils2.tests.support import unittest
 
 from test.test_support import TESTFN    # use TESTFN from stdlib/test_support.
 
@@ -23,7 +28,7 @@
 verbose = 1
 
 def test_suite():
-    suite = unittest2.TestSuite()
+    suite = unittest.TestSuite()
     for fn in os.listdir(here):
         if fn.startswith("test") and fn.endswith(".py"):
             modname = "distutils2.tests." + fn[:-3]
@@ -42,17 +47,17 @@
 
 class BasicTestRunner:
     def run(self, test):
-        result = unittest2.TestResult()
+        result = unittest.TestResult()
         test(result)
         return result
 
 
 def _run_suite(suite, verbose_=1):
-    """Run tests from a unittest2.TestSuite-derived class."""
+    """Run tests from a unittest.TestSuite-derived class."""
     global verbose
     verbose = verbose_
     if verbose_:
-        runner = unittest2.TextTestRunner(sys.stdout, verbosity=2)
+        runner = unittest.TextTestRunner(sys.stdout, verbosity=2)
     else:
         runner = BasicTestRunner()
 
@@ -68,22 +73,22 @@
 
 
 def run_unittest(classes, verbose_=1):
-    """Run tests from unittest2.TestCase-derived classes.
+    """Run tests from unittest.TestCase-derived classes.
 
-    Extracted from stdlib test.test_support and modified to support unittest2.
+    Extracted from stdlib test.test_support and modified to support unittest.
     """
-    valid_types = (unittest2.TestSuite, unittest2.TestCase)
-    suite = unittest2.TestSuite()
+    valid_types = (unittest.TestSuite, unittest.TestCase)
+    suite = unittest.TestSuite()
     for cls in classes:
         if isinstance(cls, str):
             if cls in sys.modules:
-                suite.addTest(unittest2.findTestCases(sys.modules[cls]))
+                suite.addTest(unittest.findTestCases(sys.modules[cls]))
             else:
                 raise ValueError("str arguments must be keys in sys.modules")
         elif isinstance(cls, valid_types):
             suite.addTest(cls)
         else:
-            suite.addTest(unittest2.makeSuite(cls))
+            suite.addTest(unittest.makeSuite(cls))
     _run_suite(suite, verbose_)
 
 
@@ -128,4 +133,4 @@
 
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/support.py b/src/distutils2/tests/support.py
--- a/src/distutils2/tests/support.py
+++ b/src/distutils2/tests/support.py
@@ -1,5 +1,12 @@
-"""Support code for distutils test cases."""
+"""Support code for distutils2 test cases.
+
+Always import unittest from this module, it will be the right version
+(standard library unittest for 2.7 and higher, third-party unittest2
+release for older versions).
+"""
+
 import os
+import sys
 import shutil
 import tempfile
 from copy import deepcopy
@@ -9,6 +16,13 @@
 from distutils2.log import DEBUG, INFO, WARN, ERROR, FATAL
 from distutils2.core import Distribution
 
+if sys.version_info >= (2, 7):
+    # improved unittest package from 2.7's standard library
+    import unittest
+else:
+    # external release of same package for older versions
+    import unittest2 as unittest
+
 class LoggingSilencer(object):
 
     def setUp(self):
diff --git a/src/distutils2/tests/test_bdist.py b/src/distutils2/tests/test_bdist.py
--- a/src/distutils2/tests/test_bdist.py
+++ b/src/distutils2/tests/test_bdist.py
@@ -1,5 +1,4 @@
 """Tests for distutils.command.bdist."""
-import unittest2
 import sys
 import os
 import tempfile
@@ -10,12 +9,13 @@
 from distutils2.core import Distribution
 from distutils2.command.bdist import bdist
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 from distutils2.spawn import find_executable
 from distutils2 import spawn
 from distutils2.errors import DistutilsExecError
 
 class BuildTestCase(support.TempdirManager,
-                    unittest2.TestCase):
+                    unittest.TestCase):
 
     def test_formats(self):
 
@@ -38,7 +38,7 @@
         self.assertEquals(founded, formats)
 
 def test_suite():
-    return unittest2.makeSuite(BuildTestCase)
+    return unittest.makeSuite(BuildTestCase)
 
 if __name__ == '__main__':
     run_unittest(test_suite())
diff --git a/src/distutils2/tests/test_bdist_dumb.py b/src/distutils2/tests/test_bdist_dumb.py
--- a/src/distutils2/tests/test_bdist_dumb.py
+++ b/src/distutils2/tests/test_bdist_dumb.py
@@ -1,6 +1,5 @@
 """Tests for distutils.command.bdist_dumb."""
 
-import unittest2
 import sys
 import os
 
@@ -12,6 +11,7 @@
     zlib = None
 
 from distutils2.tests import run_unittest
+from distutils2.tests.support import unittest
 
 from distutils2.core import Distribution
 from distutils2.command.bdist_dumb import bdist_dumb
@@ -29,7 +29,7 @@
 class BuildDumbTestCase(support.TempdirManager,
                         support.LoggingSilencer,
                         support.EnvironGuard,
-                        unittest2.TestCase):
+                        unittest.TestCase):
 
     def setUp(self):
         super(BuildDumbTestCase, self).setUp()
@@ -42,7 +42,7 @@
         sys.argv[:] = self.old_sys_argv[1]
         super(BuildDumbTestCase, self).tearDown()
 
-    @unittest2.skipUnless(zlib, "requires zlib")
+    @unittest.skipUnless(zlib, "requires zlib")
     def test_simple_built(self):
 
         # let's create a simple package
@@ -99,7 +99,7 @@
         self.assertEquals(cmd.format, default)
 
 def test_suite():
-    return unittest2.makeSuite(BuildDumbTestCase)
+    return unittest.makeSuite(BuildDumbTestCase)
 
 if __name__ == '__main__':
     run_unittest(test_suite())
diff --git a/src/distutils2/tests/test_bdist_msi.py b/src/distutils2/tests/test_bdist_msi.py
--- a/src/distutils2/tests/test_bdist_msi.py
+++ b/src/distutils2/tests/test_bdist_msi.py
@@ -1,16 +1,16 @@
 """Tests for distutils.command.bdist_msi."""
-import unittest2
 import sys
 
 from distutils2.tests import run_unittest
 
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 
 class BDistMSITestCase(support.TempdirManager,
                        support.LoggingSilencer,
-                       unittest2.TestCase):
+                       unittest.TestCase):
 
-    @unittest2.skipUnless(sys.platform=="win32", "These tests are only for win32")
+    @unittest.skipUnless(sys.platform=="win32", "These tests are only for win32")
     def test_minial(self):
         # minimal test XXX need more tests
         from distutils2.command.bdist_msi import bdist_msi
@@ -19,7 +19,7 @@
         cmd.ensure_finalized()
 
 def test_suite():
-    return unittest2.makeSuite(BDistMSITestCase)
+    return unittest.makeSuite(BDistMSITestCase)
 
 if __name__ == '__main__':
     run_unittest(test_suite())
diff --git a/src/distutils2/tests/test_bdist_wininst.py b/src/distutils2/tests/test_bdist_wininst.py
--- a/src/distutils2/tests/test_bdist_wininst.py
+++ b/src/distutils2/tests/test_bdist_wininst.py
@@ -1,14 +1,14 @@
 """Tests for distutils.command.bdist_wininst."""
-import unittest2
 
 from distutils2.tests import run_unittest
 
 from distutils2.command.bdist_wininst import bdist_wininst
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 
 class BuildWinInstTestCase(support.TempdirManager,
                            support.LoggingSilencer,
-                           unittest2.TestCase):
+                           unittest.TestCase):
 
     def test_get_exe_bytes(self):
 
@@ -26,7 +26,7 @@
         self.assertTrue(len(exe_file) > 10)
 
 def test_suite():
-    return unittest2.makeSuite(BuildWinInstTestCase)
+    return unittest.makeSuite(BuildWinInstTestCase)
 
 if __name__ == '__main__':
     run_unittest(test_suite())
diff --git a/src/distutils2/tests/test_build.py b/src/distutils2/tests/test_build.py
--- a/src/distutils2/tests/test_build.py
+++ b/src/distutils2/tests/test_build.py
@@ -1,10 +1,10 @@
 """Tests for distutils.command.build."""
-import unittest2
 import os
 import sys
 
 from distutils2.command.build import build
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 try:
     from sysconfig import get_platform
 except ImportError:
@@ -12,7 +12,7 @@
 
 class BuildTestCase(support.TempdirManager,
                     support.LoggingSilencer,
-                    unittest2.TestCase):
+                    unittest.TestCase):
 
     def test_finalize_options(self):
         pkg_dir, dist = self.create_dist()
@@ -51,7 +51,7 @@
         self.assertEquals(cmd.executable, os.path.normpath(sys.executable))
 
 def test_suite():
-    return unittest2.makeSuite(BuildTestCase)
+    return unittest.makeSuite(BuildTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_build_clib.py b/src/distutils2/tests/test_build_clib.py
--- a/src/distutils2/tests/test_build_clib.py
+++ b/src/distutils2/tests/test_build_clib.py
@@ -1,5 +1,4 @@
 """Tests for distutils.command.build_clib."""
-import unittest2
 import os
 import sys
 
@@ -7,10 +6,11 @@
 from distutils2.errors import DistutilsSetupError
 from distutils2.tests import support
 from distutils2.spawn import find_executable
+from distutils2.tests.support import unittest
 
 class BuildCLibTestCase(support.TempdirManager,
                         support.LoggingSilencer,
-                        unittest2.TestCase):
+                        unittest.TestCase):
 
     def test_check_library_dist(self):
         pkg_dir, dist = self.create_dist()
@@ -137,7 +137,7 @@
         self.assertTrue('libfoo.a' in os.listdir(build_temp))
 
 def test_suite():
-    return unittest2.makeSuite(BuildCLibTestCase)
+    return unittest.makeSuite(BuildCLibTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_build_ext.py b/src/distutils2/tests/test_build_ext.py
--- a/src/distutils2/tests/test_build_ext.py
+++ b/src/distutils2/tests/test_build_ext.py
@@ -6,6 +6,7 @@
 import warnings
 
 import distutils2.tests
+from distutils2.tests.support import unittest
 from distutils2.core import Extension, Distribution
 from distutils2.command.build_ext import build_ext
 from distutils2.tests import support
@@ -17,7 +18,6 @@
 except ImportError:
     from distutils2._backport import sysconfig
 
-import unittest2
 
 # http://bugs.python.org/issue4373
 # Don't load the xx module more than once.
@@ -29,7 +29,7 @@
 
 class BuildExtTestCase(support.TempdirManager,
                        support.LoggingSilencer,
-                       unittest2.TestCase):
+                       unittest.TestCase):
     def setUp(self):
         # Create a simple test environment
         # Note that we're making changes to sys.path
@@ -46,7 +46,7 @@
             build_ext.USER_BASE = site.USER_BASE
 
     # XXX only works with 2.6 > -- dunno why yet
-    @unittest2.skipUnless(sys.version_info >= (2, 6,), 'works for >= 2.6')
+    @unittest.skipUnless(sys.version_info >= (2, 6,), 'works for >= 2.6')
     def test_build_ext(self):
         global ALREADY_TESTED
         xx_c = os.path.join(self.tmp_dir, 'xxmodule.c')
@@ -412,8 +412,8 @@
         if distutils2.tests.verbose:
             print ('test_build_ext: Cannot find source code (test'
                    ' must run in python build dir)')
-        return unittest2.TestSuite()
-    else: return unittest2.makeSuite(BuildExtTestCase)
+        return unittest.TestSuite()
+    else: return unittest.makeSuite(BuildExtTestCase)
 
 if __name__ == '__main__':
     distsutils2.tests.run_unittest(test_suite())
diff --git a/src/distutils2/tests/test_build_py.py b/src/distutils2/tests/test_build_py.py
--- a/src/distutils2/tests/test_build_py.py
+++ b/src/distutils2/tests/test_build_py.py
@@ -3,18 +3,18 @@
 import os
 import sys
 import StringIO
-import unittest2
 
 from distutils2.command.build_py import build_py
 from distutils2.core import Distribution
 from distutils2.errors import DistutilsFileError
 
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 
 
 class BuildPyTestCase(support.TempdirManager,
                       support.LoggingSilencer,
-                      unittest2.TestCase):
+                      unittest.TestCase):
 
     def test_package_data(self):
         sources = self.mkdtemp()
@@ -90,7 +90,7 @@
             os.chdir(cwd)
             sys.stdout = old_stdout
 
-    @unittest2.skipUnless(hasattr(sys, 'dont_write_bytecode'),
+    @unittest.skipUnless(hasattr(sys, 'dont_write_bytecode'),
                          'dont_write_bytecode support')
     def test_dont_write_bytecode(self):
         # makes sure byte_compile is not used
@@ -109,7 +109,7 @@
         self.assertTrue('byte-compiling is disabled' in self.logs[0][1])
 
 def test_suite():
-    return unittest2.makeSuite(BuildPyTestCase)
+    return unittest.makeSuite(BuildPyTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_build_scripts.py b/src/distutils2/tests/test_build_scripts.py
--- a/src/distutils2/tests/test_build_scripts.py
+++ b/src/distutils2/tests/test_build_scripts.py
@@ -1,7 +1,6 @@
 """Tests for distutils.command.build_scripts."""
 
 import os
-import unittest2
 
 from distutils2.command.build_scripts import build_scripts
 from distutils2.core import Distribution
@@ -11,11 +10,12 @@
     from distutils2._backport import sysconfig
 
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 
 
 class BuildScriptsTestCase(support.TempdirManager,
                            support.LoggingSilencer,
-                           unittest2.TestCase):
+                           unittest.TestCase):
 
     def test_default_settings(self):
         cmd = self.get_build_scripts_cmd("/foo/bar", [])
@@ -106,7 +106,7 @@
             self.assertTrue(name in built)
 
 def test_suite():
-    return unittest2.makeSuite(BuildScriptsTestCase)
+    return unittest.makeSuite(BuildScriptsTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_ccompiler.py b/src/distutils2/tests/test_ccompiler.py
--- a/src/distutils2/tests/test_ccompiler.py
+++ b/src/distutils2/tests/test_ccompiler.py
@@ -1,11 +1,11 @@
 """Tests for distutils.ccompiler."""
 import os
-import unittest2
 from distutils2.tests import captured_stdout
 
 from distutils2.compiler.ccompiler import (gen_lib_options, CCompiler,
                                  get_default_compiler, customize_compiler)
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 
 class FakeCompiler(object):
     def library_dir_option(self, dir):
@@ -20,7 +20,7 @@
     def library_option(self, lib):
         return "-l" + lib
 
-class CCompilerTestCase(support.EnvironGuard, unittest2.TestCase):
+class CCompilerTestCase(support.EnvironGuard, unittest.TestCase):
 
     def test_gen_lib_options(self):
         compiler = FakeCompiler()
@@ -54,7 +54,7 @@
         self.assertEquals(comp.exes['archiver'], 'my_ar -arflags')
 
 def test_suite():
-    return unittest2.makeSuite(CCompilerTestCase)
+    return unittest.makeSuite(CCompilerTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_check.py b/src/distutils2/tests/test_check.py
--- a/src/distutils2/tests/test_check.py
+++ b/src/distutils2/tests/test_check.py
@@ -1,14 +1,14 @@
 """Tests for distutils.command.check."""
-import unittest2
 
 from distutils2.command.check import check
 from distutils2.metadata import _HAS_DOCUTILS
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 from distutils2.errors import DistutilsSetupError
 
 class CheckTestCase(support.LoggingSilencer,
                     support.TempdirManager,
-                    unittest2.TestCase):
+                    unittest.TestCase):
 
     def _run(self, metadata=None, **options):
         if metadata is None:
@@ -79,7 +79,7 @@
                                  'restructuredtext': 1})
 
 def test_suite():
-    return unittest2.makeSuite(CheckTestCase)
+    return unittest.makeSuite(CheckTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_clean.py b/src/distutils2/tests/test_clean.py
--- a/src/distutils2/tests/test_clean.py
+++ b/src/distutils2/tests/test_clean.py
@@ -1,15 +1,15 @@
 """Tests for distutils.command.clean."""
 import sys
 import os
-import unittest2
 import getpass
 
 from distutils2.command.clean import clean
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 
 class cleanTestCase(support.TempdirManager,
                     support.LoggingSilencer,
-                    unittest2.TestCase):
+                    unittest.TestCase):
 
     def test_simple_run(self):
         pkg_dir, dist = self.create_dist()
@@ -44,7 +44,7 @@
         cmd.run()
 
 def test_suite():
-    return unittest2.makeSuite(cleanTestCase)
+    return unittest.makeSuite(cleanTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_cmd.py b/src/distutils2/tests/test_cmd.py
--- a/src/distutils2/tests/test_cmd.py
+++ b/src/distutils2/tests/test_cmd.py
@@ -1,17 +1,17 @@
 """Tests for distutils.cmd."""
-import unittest2
 import os
 from distutils2.tests import captured_stdout, run_unittest
 
 from distutils2.cmd import Command
 from distutils2.dist import Distribution
 from distutils2.errors import DistutilsOptionError
+from distutils2.tests.support import unittest
 
 class MyCmd(Command):
     def initialize_options(self):
         pass
 
-class CommandTestCase(unittest2.TestCase):
+class CommandTestCase(unittest.TestCase):
 
     def setUp(self):
         dist = Distribution()
@@ -104,7 +104,7 @@
         self.assertRaises(DistutilsOptionError, cmd.ensure_dirname, 'option2')
 
 def test_suite():
-    return unittest2.makeSuite(CommandTestCase)
+    return unittest.makeSuite(CommandTestCase)
 
 if __name__ == '__main__':
     run_unittest(test_suite())
diff --git a/src/distutils2/tests/test_config.py b/src/distutils2/tests/test_config.py
--- a/src/distutils2/tests/test_config.py
+++ b/src/distutils2/tests/test_config.py
@@ -1,7 +1,6 @@
 """Tests for distutils.pypirc.pypirc."""
 import sys
 import os
-import unittest2
 import tempfile
 import shutil
 
@@ -11,6 +10,7 @@
 from distutils2.log import WARN
 
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 
 PYPIRC = """\
 [distutils]
@@ -50,7 +50,7 @@
 class PyPIRCCommandTestCase(support.TempdirManager,
                             support.LoggingSilencer,
                             support.EnvironGuard,
-                            unittest2.TestCase):
+                            unittest.TestCase):
 
     def setUp(self):
         """Patches the environment."""
@@ -112,7 +112,7 @@
         self.assertEquals(content, WANTED)
 
 def test_suite():
-    return unittest2.makeSuite(PyPIRCCommandTestCase)
+    return unittest.makeSuite(PyPIRCCommandTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_config_cmd.py b/src/distutils2/tests/test_config_cmd.py
--- a/src/distutils2/tests/test_config_cmd.py
+++ b/src/distutils2/tests/test_config_cmd.py
@@ -1,15 +1,15 @@
 """Tests for distutils.command.config."""
-import unittest2
 import os
 import sys
 
 from distutils2.command.config import dump_file, config
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 from distutils2 import log
 
 class ConfigTestCase(support.LoggingSilencer,
                      support.TempdirManager,
-                     unittest2.TestCase):
+                     unittest.TestCase):
 
     def _info(self, msg, *args):
         for line in msg.splitlines():
@@ -83,7 +83,7 @@
             self.assertTrue(not os.path.exists(f))
 
 def test_suite():
-    return unittest2.makeSuite(ConfigTestCase)
+    return unittest.makeSuite(ConfigTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_converter.py b/src/distutils2/tests/test_converter.py
--- a/src/distutils2/tests/test_converter.py
+++ b/src/distutils2/tests/test_converter.py
@@ -1,8 +1,8 @@
 """Tests for distutils.converter."""
 import os
 import sys
-import unittest2
 from distutils2.converter import DistutilsRefactoringTool
+from distutils2.tests.support import unittest
 
 _CURDIR = os.path.dirname(__file__)
 
@@ -15,9 +15,9 @@
         f.close()
 
 
-class ConverterTestCase(unittest2.TestCase):
+class ConverterTestCase(unittest.TestCase):
 
-    @unittest2.skipUnless(not sys.version < '2.6', 'Needs Python >=2.6')
+    @unittest.skipUnless(not sys.version < '2.6', 'Needs Python >=2.6')
     def test_conversions(self):
         # for all XX_before in the conversions/ dir
         # we run the refactoring tool
@@ -33,7 +33,7 @@
             self.assertEquals(str(res), wanted)
 
 def test_suite():
-    return unittest2.makeSuite(ConverterTestCase)
+    return unittest.makeSuite(ConverterTestCase)
 
 if __name__ == '__main__':
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_core.py b/src/distutils2/tests/test_core.py
--- a/src/distutils2/tests/test_core.py
+++ b/src/distutils2/tests/test_core.py
@@ -6,8 +6,8 @@
 import shutil
 import sys
 from distutils2.tests import captured_stdout
-import unittest2
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 
 # setup script that uses __file__
 setup_using___file__ = """\
@@ -28,7 +28,7 @@
 """
 
 
-class CoreTestCase(support.EnvironGuard, unittest2.TestCase):
+class CoreTestCase(support.EnvironGuard, unittest.TestCase):
 
     def setUp(self):
         super(CoreTestCase, self).setUp()
@@ -92,7 +92,7 @@
         self.assertEqual(cwd, output)
 
 def test_suite():
-    return unittest2.makeSuite(CoreTestCase)
+    return unittest.makeSuite(CoreTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_cygwinccompiler.py b/src/distutils2/tests/test_cygwinccompiler.py
--- a/src/distutils2/tests/test_cygwinccompiler.py
+++ b/src/distutils2/tests/test_cygwinccompiler.py
@@ -1,5 +1,4 @@
 """Tests for distutils.cygwinccompiler."""
-import unittest2
 import sys
 import os
 import warnings
@@ -18,9 +17,10 @@
                                        get_msvcr, RE_VERSION)
 from distutils2.util import get_compiler_versions
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 
 class CygwinCCompilerTestCase(support.TempdirManager,
-                              unittest2.TestCase):
+                              unittest.TestCase):
 
     def setUp(self):
         super(CygwinCCompilerTestCase, self).setUp()
@@ -94,7 +94,7 @@
 
 
 def test_suite():
-    return unittest2.makeSuite(CygwinCCompilerTestCase)
+    return unittest.makeSuite(CygwinCCompilerTestCase)
 
 if __name__ == '__main__':
     run_unittest(test_suite())
diff --git a/src/distutils2/tests/test_dist.py b/src/distutils2/tests/test_dist.py
--- a/src/distutils2/tests/test_dist.py
+++ b/src/distutils2/tests/test_dist.py
@@ -4,7 +4,6 @@
 import os
 import StringIO
 import sys
-import unittest2
 import warnings
 import textwrap
 
@@ -13,6 +12,7 @@
 import distutils2.dist
 from distutils2.tests import TESTFN, captured_stdout
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 
 class test_dist(Command):
     """Sample distutils2 extension command."""
@@ -40,7 +40,7 @@
 class DistributionTestCase(support.TempdirManager,
                            support.LoggingSilencer,
                            support.EnvironGuard,
-                           unittest2.TestCase):
+                           unittest.TestCase):
 
     def setUp(self):
         super(DistributionTestCase, self).setUp()
@@ -242,7 +242,7 @@
 
 
 class MetadataTestCase(support.TempdirManager, support.EnvironGuard,
-                       unittest2.TestCase):
+                       unittest.TestCase):
 
     def setUp(self):
         super(MetadataTestCase, self).setUp()
@@ -422,10 +422,10 @@
         self.assertEquals(metadata['requires-dist'], ['foo'])
 
 def test_suite():
-    suite = unittest2.TestSuite()
-    suite.addTest(unittest2.makeSuite(DistributionTestCase))
-    suite.addTest(unittest2.makeSuite(MetadataTestCase))
+    suite = unittest.TestSuite()
+    suite.addTest(unittest.makeSuite(DistributionTestCase))
+    suite.addTest(unittest.makeSuite(MetadataTestCase))
     return suite
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_emxccompiler.py b/src/distutils2/tests/test_emxccompiler.py
--- a/src/distutils2/tests/test_emxccompiler.py
+++ b/src/distutils2/tests/test_emxccompiler.py
@@ -1,5 +1,4 @@
 """Tests for distutils.emxccompiler."""
-import unittest2
 import sys
 import os
 import warnings
@@ -10,14 +9,15 @@
 from distutils2.compiler.emxccompiler import get_versions
 from distutils2.util import get_compiler_versions
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 
 class EmxCCompilerTestCase(support.TempdirManager,
-                           unittest2.TestCase):
+                           unittest.TestCase):
 
     pass
 
 def test_suite():
-    return unittest2.makeSuite(EmxCCompilerTestCase)
+    return unittest.makeSuite(EmxCCompilerTestCase)
 
 if __name__ == '__main__':
     run_unittest(test_suite())
diff --git a/src/distutils2/tests/test_extension.py b/src/distutils2/tests/test_extension.py
--- a/src/distutils2/tests/test_extension.py
+++ b/src/distutils2/tests/test_extension.py
@@ -1,16 +1,16 @@
 """Tests for distutils.extension."""
-import unittest2
 import os
 import warnings
 
 from distutils2.extension import Extension
+from distutils2.tests.support import unittest
 
-class ExtensionTestCase(unittest2.TestCase):
+class ExtensionTestCase(unittest.TestCase):
 
     pass
 
 def test_suite():
-    return unittest2.makeSuite(ExtensionTestCase)
+    return unittest.makeSuite(ExtensionTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_install.py b/src/distutils2/tests/test_install.py
--- a/src/distutils2/tests/test_install.py
+++ b/src/distutils2/tests/test_install.py
@@ -3,7 +3,6 @@
 import os
 import os.path
 import sys
-import unittest2
 import site
 
 from distutils2._backport import sysconfig
@@ -22,11 +21,12 @@
 from distutils2.errors import DistutilsOptionError
 
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 
 class InstallTestCase(support.TempdirManager,
                       support.EnvironGuard,
                       support.LoggingSilencer,
-                      unittest2.TestCase):
+                      unittest.TestCase):
 
     def test_home_installation_scheme(self):
         # This ensure two things:
@@ -214,7 +214,7 @@
         self.assertTrue(len(self.logs) > old_logs_len)
 
 def test_suite():
-    return unittest2.makeSuite(InstallTestCase)
+    return unittest.makeSuite(InstallTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_install_data.py b/src/distutils2/tests/test_install_data.py
--- a/src/distutils2/tests/test_install_data.py
+++ b/src/distutils2/tests/test_install_data.py
@@ -1,16 +1,16 @@
 """Tests for distutils.command.install_data."""
 import sys
 import os
-import unittest2
 import getpass
 
 from distutils2.command.install_data import install_data
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 
 class InstallDataTestCase(support.TempdirManager,
                           support.LoggingSilencer,
                           support.EnvironGuard,
-                          unittest2.TestCase):
+                          unittest.TestCase):
 
     def test_simple_run(self):
         pkg_dir, dist = self.create_dist()
@@ -70,7 +70,7 @@
         self.assertTrue(os.path.exists(os.path.join(inst, rone)))
 
 def test_suite():
-    return unittest2.makeSuite(InstallDataTestCase)
+    return unittest.makeSuite(InstallDataTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_install_headers.py b/src/distutils2/tests/test_install_headers.py
--- a/src/distutils2/tests/test_install_headers.py
+++ b/src/distutils2/tests/test_install_headers.py
@@ -1,16 +1,16 @@
 """Tests for distutils.command.install_headers."""
 import sys
 import os
-import unittest2
 import getpass
 
 from distutils2.command.install_headers import install_headers
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 
 class InstallHeadersTestCase(support.TempdirManager,
                              support.LoggingSilencer,
                              support.EnvironGuard,
-                             unittest2.TestCase):
+                             unittest.TestCase):
 
     def test_simple_run(self):
         # we have two headers
@@ -34,7 +34,7 @@
         self.assertEquals(len(cmd.get_outputs()), 2)
 
 def test_suite():
-    return unittest2.makeSuite(InstallHeadersTestCase)
+    return unittest.makeSuite(InstallHeadersTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_install_lib.py b/src/distutils2/tests/test_install_lib.py
--- a/src/distutils2/tests/test_install_lib.py
+++ b/src/distutils2/tests/test_install_lib.py
@@ -1,12 +1,12 @@
 """Tests for distutils.command.install_data."""
 import sys
 import os
-import unittest2
 
 from distutils2.command.install_lib import install_lib
 from distutils2.extension import Extension
 from distutils2.tests import support
 from distutils2.errors import DistutilsOptionError
+from distutils2.tests.support import unittest
 
 try:
     no_bytecode = sys.dont_write_bytecode
@@ -18,7 +18,7 @@
 class InstallLibTestCase(support.TempdirManager,
                          support.LoggingSilencer,
                          support.EnvironGuard,
-                         unittest2.TestCase):
+                         unittest.TestCase):
 
     def test_finalize_options(self):
         pkg_dir, dist = self.create_dist()
@@ -38,7 +38,7 @@
         cmd.finalize_options()
         self.assertEquals(cmd.optimize, 2)
 
-    @unittest2.skipIf(no_bytecode, 'byte-compile not supported')
+    @unittest.skipIf(no_bytecode, 'byte-compile not supported')
     def test_byte_compile(self):
         pkg_dir, dist = self.create_dist()
         cmd = install_lib(dist)
@@ -84,7 +84,7 @@
         # get_input should return 2 elements
         self.assertEquals(len(cmd.get_inputs()), 2)
 
-    @unittest2.skipUnless(bytecode_support, 'sys.dont_write_bytecode not supported')
+    @unittest.skipUnless(bytecode_support, 'sys.dont_write_bytecode not supported')
     def test_dont_write_bytecode(self):
         # makes sure byte_compile is not used
         pkg_dir, dist = self.create_dist()
@@ -102,7 +102,7 @@
         self.assertTrue('byte-compiling is disabled' in self.logs[0][1])
 
 def test_suite():
-    return unittest2.makeSuite(InstallLibTestCase)
+    return unittest.makeSuite(InstallLibTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_install_scripts.py b/src/distutils2/tests/test_install_scripts.py
--- a/src/distutils2/tests/test_install_scripts.py
+++ b/src/distutils2/tests/test_install_scripts.py
@@ -1,17 +1,17 @@
 """Tests for distutils.command.install_scripts."""
 
 import os
-import unittest2
 
 from distutils2.command.install_scripts import install_scripts
 from distutils2.core import Distribution
 
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 
 
 class InstallScriptsTestCase(support.TempdirManager,
                              support.LoggingSilencer,
-                             unittest2.TestCase):
+                             unittest.TestCase):
 
     def test_default_settings(self):
         dist = Distribution()
@@ -73,7 +73,7 @@
 
 
 def test_suite():
-    return unittest2.makeSuite(InstallScriptsTestCase)
+    return unittest.makeSuite(InstallScriptsTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_manifest.py b/src/distutils2/tests/test_manifest.py
--- a/src/distutils2/tests/test_manifest.py
+++ b/src/distutils2/tests/test_manifest.py
@@ -1,10 +1,10 @@
 """Tests for distutils.manifest."""
-import unittest2
 import os
 import sys
 import logging
 
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 from distutils2.manifest import Manifest
 
 _MANIFEST = """\
@@ -18,7 +18,7 @@
 """
 
 class ManifestTestCase(support.TempdirManager,
-                       unittest2.TestCase):
+                       unittest.TestCase):
 
     def test_manifest_reader(self):
 
@@ -51,7 +51,7 @@
 
 
 def test_suite():
-    return unittest2.makeSuite(ManifestTestCase)
+    return unittest.makeSuite(ManifestTestCase)
 
 if __name__ == '__main__':
     run_unittest(test_suite())
diff --git a/src/distutils2/tests/test_metadata.py b/src/distutils2/tests/test_metadata.py
--- a/src/distutils2/tests/test_metadata.py
+++ b/src/distutils2/tests/test_metadata.py
@@ -1,13 +1,13 @@
 """Tests for distutils.command.bdist."""
-import unittest2
 import os
 import sys
 from StringIO import StringIO
 
 from distutils2.metadata import (DistributionMetadata, _interpret,
                                  PKG_INFO_PREFERRED_VERSION)
+from distutils2.tests.support import unittest
 
-class DistributionMetadataTestCase(unittest2.TestCase):
+class DistributionMetadataTestCase(unittest.TestCase):
 
 
     def test_interpret(self):
@@ -228,7 +228,7 @@
 
 
 def test_suite():
-    return unittest2.makeSuite(DistributionMetadataTestCase)
+    return unittest.makeSuite(DistributionMetadataTestCase)
 
 if __name__ == '__main__':
     run_unittest(test_suite())
diff --git a/src/distutils2/tests/test_msvc9compiler.py b/src/distutils2/tests/test_msvc9compiler.py
--- a/src/distutils2/tests/test_msvc9compiler.py
+++ b/src/distutils2/tests/test_msvc9compiler.py
@@ -1,10 +1,10 @@
 """Tests for distutils.msvc9compiler."""
 import sys
-import unittest2
 import os
 
 from distutils2.errors import DistutilsPlatformError
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 
 _MANIFEST = """\
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
@@ -62,9 +62,9 @@
 
 
 class msvc9compilerTestCase(support.TempdirManager,
-                            unittest2.TestCase):
+                            unittest.TestCase):
 
-    @unittest2.skipUnless(sys.platform=="win32", "These tests are only for win32")
+    @unittest.skipUnless(sys.platform=="win32", "These tests are only for win32")
     def test_no_compiler(self):
         # makes sure query_vcvarsall throws
         # a DistutilsPlatformError if the compiler
@@ -86,7 +86,7 @@
         finally:
             msvc9compiler.find_vcvarsall = old_find_vcvarsall
 
-    @unittest2.skipUnless(sys.platform=="win32", "These tests are only for win32")
+    @unittest.skipUnless(sys.platform=="win32", "These tests are only for win32")
     def test_reg_class(self):
         from distutils2.msvccompiler import get_build_version
         if get_build_version() < 8.0:
@@ -110,7 +110,7 @@
         keys = Reg.read_keys(HKCU, r'Control Panel')
         self.assertTrue('Desktop' in keys)
 
-    @unittest2.skipUnless(sys.platform=="win32", "These tests are only for win32")
+    @unittest.skipUnless(sys.platform=="win32", "These tests are only for win32")
     def test_remove_visual_c_ref(self):
         from distutils2.msvc9compiler import MSVCCompiler
         tempdir = self.mkdtemp()
@@ -133,7 +133,7 @@
 
 
 def test_suite():
-    return unittest2.makeSuite(msvc9compilerTestCase)
+    return unittest.makeSuite(msvc9compilerTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_pypi_versions.py b/src/distutils2/tests/test_pypi_versions.py
--- a/src/distutils2/tests/test_pypi_versions.py
+++ b/src/distutils2/tests/test_pypi_versions.py
@@ -17,9 +17,9 @@
 
 import xmlrpclib
 import os.path
-import unittest2
 
 from distutils2.version import suggest_normalized_version
+from distutils2.tests.support import unittest
 
 def test_pypi():
     #
@@ -121,11 +121,11 @@
     print "Have Suggestion : ", have_sugg, pct % (have_sugg/total_versions*100,)
     print "No Suggestion   : ", no_sugg, pct % (no_sugg/total_versions*100,)
 
-class TestPyPI(unittest2.TestCase):
+class TestPyPI(unittest.TestCase):
     pass
 
 def test_suite():
-    return unittest2.makeSuite(TestPyPI)
+    return unittest.makeSuite(TestPyPI)
 
 if __name__ == '__main__':
     run_unittest(test_suite())
diff --git a/src/distutils2/tests/test_register.py b/src/distutils2/tests/test_register.py
--- a/src/distutils2/tests/test_register.py
+++ b/src/distutils2/tests/test_register.py
@@ -2,7 +2,6 @@
 # -*- encoding: utf8 -*-
 import sys
 import os
-import unittest2
 import getpass
 import urllib2
 import warnings
@@ -19,6 +18,7 @@
 from distutils2.errors import DistutilsSetupError
 
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 from distutils2.tests.test_config import PYPIRC, PyPIRCCommandTestCase
 
 PYPIRC_NOPASSWORD = """\
@@ -192,7 +192,7 @@
         self.assertEquals(headers['Content-length'], '290')
         self.assertTrue('tarek' in req.data)
 
-    @unittest2.skipUnless(DOCUTILS_SUPPORT, 'needs docutils')
+    @unittest.skipUnless(DOCUTILS_SUPPORT, 'needs docutils')
     def test_strict(self):
         # testing the script option
         # when on, the register command stops if
@@ -250,7 +250,7 @@
         self.assertEquals(data['requires_dist'], ['lxml'])
 
 def test_suite():
-    return unittest2.makeSuite(RegisterTestCase)
+    return unittest.makeSuite(RegisterTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_sdist.py b/src/distutils2/tests/test_sdist.py
--- a/src/distutils2/tests/test_sdist.py
+++ b/src/distutils2/tests/test_sdist.py
@@ -1,6 +1,5 @@
 """Tests for distutils.command.sdist."""
 import os
-import unittest2
 import shutil
 import zipfile
 import tarfile
@@ -29,6 +28,7 @@
 from distutils2.command.sdist import sdist
 from distutils2.command.sdist import show_formats
 from distutils2.core import Distribution
+from distutils2.tests.support import unittest
 from distutils2.tests.test_config import PyPIRCCommandTestCase
 from distutils2.errors import DistutilsExecError, DistutilsOptionError
 from distutils2.spawn import find_executable
@@ -97,7 +97,7 @@
         cmd.warn = _warn
         return dist, cmd
 
-    @unittest2.skipUnless(zlib, "requires zlib")
+    @unittest.skipUnless(zlib, "requires zlib")
     def test_prune_file_list(self):
         # this test creates a package with some vcs dirs in it
         # and launch sdist to make sure they get pruned
@@ -139,7 +139,7 @@
         # making sure everything has been pruned correctly
         self.assertEquals(len(content), 4)
 
-    @unittest2.skipUnless(zlib, "requires zlib")
+    @unittest.skipUnless(zlib, "requires zlib")
     def test_make_distribution(self):
 
         # check if tar and gzip are installed
@@ -176,7 +176,7 @@
         self.assertEquals(result,
                 ['fake-1.0.tar', 'fake-1.0.tar.gz'])
 
-    @unittest2.skipUnless(zlib, "requires zlib")
+    @unittest.skipUnless(zlib, "requires zlib")
     def test_add_defaults(self):
 
         # http://bugs.python.org/issue2279
@@ -238,7 +238,7 @@
         manifest = open(join(self.tmp_dir, 'MANIFEST')).read()
         self.assertEquals(manifest, MANIFEST % {'sep': os.sep})
 
-    @unittest2.skipUnless(zlib, "requires zlib")
+    @unittest.skipUnless(zlib, "requires zlib")
     def test_metadata_check_option(self):
         # testing the `medata-check` option
         dist, cmd = self.get_cmd(metadata={})
@@ -293,8 +293,8 @@
         cmd.formats = 'supazipa'
         self.assertRaises(DistutilsOptionError, cmd.finalize_options)
 
-    @unittest2.skipUnless(zlib, "requires zlib")
-    @unittest2.skipUnless(UID_GID_SUPPORT, "Requires grp and pwd support")
+    @unittest.skipUnless(zlib, "requires zlib")
+    @unittest.skipUnless(UID_GID_SUPPORT, "Requires grp and pwd support")
     def test_make_distribution_owner_group(self):
 
         # check if tar and gzip are installed
@@ -357,7 +357,7 @@
         self.assertIn('MANIFEST.in', cmd.filelist.files)
 
 def test_suite():
-    return unittest2.makeSuite(SDistTestCase)
+    return unittest.makeSuite(SDistTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_spawn.py b/src/distutils2/tests/test_spawn.py
--- a/src/distutils2/tests/test_spawn.py
+++ b/src/distutils2/tests/test_spawn.py
@@ -1,5 +1,4 @@
 """Tests for distutils.spawn."""
-import unittest2
 import os
 import time
 from distutils2.tests import captured_stdout
@@ -8,10 +7,11 @@
 from distutils2.spawn import spawn, find_executable
 from distutils2.errors import DistutilsExecError
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 
 class SpawnTestCase(support.TempdirManager,
                     support.LoggingSilencer,
-                    unittest2.TestCase):
+                    unittest.TestCase):
 
     def test_nt_quote_args(self):
 
@@ -23,7 +23,7 @@
             self.assertEquals(res, wanted)
 
 
-    @unittest2.skipUnless(os.name in ('nt', 'posix'),
+    @unittest.skipUnless(os.name in ('nt', 'posix'),
                          'Runs only under posix or nt')
     def test_spawn(self):
         tmpdir = self.mkdtemp()
@@ -54,7 +54,7 @@
         spawn([exe])  # should work without any error
 
 def test_suite():
-    return unittest2.makeSuite(SpawnTestCase)
+    return unittest.makeSuite(SpawnTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_unixccompiler.py b/src/distutils2/tests/test_unixccompiler.py
--- a/src/distutils2/tests/test_unixccompiler.py
+++ b/src/distutils2/tests/test_unixccompiler.py
@@ -1,6 +1,5 @@
 """Tests for distutils.unixccompiler."""
 import sys
-import unittest2
 
 try:
     import sysconfig
@@ -8,8 +7,9 @@
     from distutils2._backport import sysconfig
 
 from distutils2.compiler.unixccompiler import UnixCCompiler
+from distutils2.tests.support import unittest
 
-class UnixCCompilerTestCase(unittest2.TestCase):
+class UnixCCompilerTestCase(unittest.TestCase):
 
     def setUp(self):
         self._backup_platform = sys.platform
@@ -127,7 +127,7 @@
 
 
 def test_suite():
-    return unittest2.makeSuite(UnixCCompilerTestCase)
+    return unittest.makeSuite(UnixCCompilerTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_upload.py b/src/distutils2/tests/test_upload.py
--- a/src/distutils2/tests/test_upload.py
+++ b/src/distutils2/tests/test_upload.py
@@ -2,13 +2,13 @@
 # -*- encoding: utf8 -*-
 import sys
 import os
-import unittest2
 
 from distutils2.command import upload as upload_mod
 from distutils2.command.upload import upload
 from distutils2.core import Distribution
 
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 from distutils2.tests.test_config import PYPIRC, PyPIRCCommandTestCase
 
 PYPIRC_LONG_PASSWORD = """\
@@ -126,7 +126,7 @@
         self.assertFalse('\n' in auth)
 
 def test_suite():
-    return unittest2.makeSuite(uploadTestCase)
+    return unittest.makeSuite(uploadTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_util.py b/src/distutils2/tests/test_util.py
--- a/src/distutils2/tests/test_util.py
+++ b/src/distutils2/tests/test_util.py
@@ -1,7 +1,6 @@
 """Tests for distutils.util."""
 import os
 import sys
-import unittest2
 from copy import copy
 from StringIO import StringIO
 import subprocess
@@ -17,6 +16,7 @@
                             byte_compile, find_packages)
 from distutils2 import util
 from distutils2.tests import support
+from distutils2.tests.support import unittest
 
 class FakePopen(object):
     test_class = None
@@ -34,7 +34,7 @@
 
 class UtilTestCase(support.EnvironGuard,
                    support.TempdirManager,
-                   unittest2.TestCase):
+                   unittest.TestCase):
 
     def setUp(self):
         super(UtilTestCase, self).setUp()
@@ -243,7 +243,7 @@
         res = get_compiler_versions()
         self.assertEquals(res[2], None)
 
-    @unittest2.skipUnless(hasattr(sys, 'dont_write_bytecode'),
+    @unittest.skipUnless(hasattr(sys, 'dont_write_bytecode'),
                           'no dont_write_bytecode support')
     def test_dont_write_bytecode(self):
         # makes sure byte_compile raise a DistutilsError
@@ -298,7 +298,7 @@
 
 
 def test_suite():
-    return unittest2.makeSuite(UtilTestCase)
+    return unittest.makeSuite(UtilTestCase)
 
 if __name__ == "__main__":
-    unittest2.main(defaultTest="test_suite")
+    unittest.main(defaultTest="test_suite")
diff --git a/src/distutils2/tests/test_version.py b/src/distutils2/tests/test_version.py
--- a/src/distutils2/tests/test_version.py
+++ b/src/distutils2/tests/test_version.py
@@ -1,5 +1,4 @@
 """Tests for distutils.version."""
-import unittest
 import doctest
 import os
 
@@ -7,6 +6,7 @@
 from distutils2.version import IrrationalVersionError
 from distutils2.version import suggest_normalized_version as suggest
 from distutils2.version import VersionPredicate
+from distutils2.tests.support import unittest
 
 class VersionTestCase(unittest.TestCase):
 
diff --git a/src/runtests.py b/src/runtests.py
--- a/src/runtests.py
+++ b/src/runtests.py
@@ -26,9 +26,9 @@
 
 if __name__ == "__main__":
     try:
-        import unittest2
+        from distutils2.tests.support import unittest
     except ImportError:
-        print('!!! You need to install unittest2')
+        print >> sys.stderr, 'Error: You have to install unittest2'
         sys.exit(1)
 
     sys.exit(test_main())

--
Repository URL: http://hg.python.org/distutils2


More information about the Python-checkins mailing list