--- a/testtools/tests/test_run.py +++ b/testtools/tests/test_run.py @@ -10,7 +10,7 @@ from textwrap import dedent from extras import try_import fixtures = try_import('fixtures') testresources = try_import('testresources') -import unittest2 +import unittest import testtools from testtools import TestCase, run, skipUnless @@ -195,13 +195,13 @@ testtools.runexample.TestFoo.test_quux broken = self.useFixture(SampleTestFixture(broken=True)) out = StringIO() # XXX: http://bugs.python.org/issue22811 - unittest2.defaultTestLoader._top_level_dir = None + unittest.defaultTestLoader._top_level_dir = None exc = self.assertRaises( SystemExit, run.main, ['prog', 'discover', '-l', broken.package.base, '*.py'], out) self.assertEqual(2, exc.args[0]) self.assertThat(out.getvalue(), DocTestMatches("""\ -unittest2.loader._FailedTest.runexample +unittest.loader._FailedTest.runexample Failed to import test module: runexample Traceback (most recent call last): File ".../loader.py", line ..., in _find_test_path @@ -345,7 +345,7 @@ OK pkg = self.useFixture(SampleLoadTestsPackage()) out = StringIO() # XXX: http://bugs.python.org/issue22811 - unittest2.defaultTestLoader._top_level_dir = None + unittest.defaultTestLoader._top_level_dir = None self.assertEqual(None, run.main( ['prog', 'discover', '-l', pkg.package.base], out)) self.assertEqual(dedent("""\ --- a/testtools/tests/test_testsuite.py +++ b/testtools/tests/test_testsuite.py @@ -5,7 +5,6 @@ import doctest from pprint import pformat import unittest -import unittest2 from extras import try_import @@ -225,7 +224,7 @@ TypeError: run() takes ...1 ...argument. pass # Test discovery uses the default suite from unittest2 (unless users # deliberately change things, in which case they keep both pieces). - suite = unittest2.TestSuite([Skips("test_notrun")]) + suite = unittest.TestSuite([Skips("test_notrun")]) log = [] result = LoggingResult(log) suite.run(result) @@ -242,7 +241,7 @@ TypeError: run() takes ...1 ...argument. pass # Test discovery uses the default suite from unittest2 (unless users # deliberately change things, in which case they keep both pieces). - suite = unittest2.TestSuite([Simples("test_simple")]) + suite = unittest.TestSuite([Simples("test_simple")]) log = [] result = LoggingResult(log) suite.run(result) --- a/testtools/tests/twistedsupport/test_deferred.py +++ b/testtools/tests/twistedsupport/test_deferred.py @@ -52,5 +52,5 @@ class TestExtractResult(NeedsTwistedTest def test_suite(): - from unittest2 import TestLoader, TestSuite + from unittest import TestLoader, TestSuite return TestLoader().loadTestsFromName(__name__) --- a/testtools/tests/twistedsupport/test_matchers.py +++ b/testtools/tests/twistedsupport/test_matchers.py @@ -205,5 +205,5 @@ class FailureResultTests(NeedsTwistedTes def test_suite(): - from unittest2 import TestLoader, TestSuite + from unittest import TestLoader, TestSuite return TestLoader().loadTestsFromName(__name__) --- a/testtools/tests/twistedsupport/test_runtest.py +++ b/testtools/tests/twistedsupport/test_runtest.py @@ -1016,7 +1016,7 @@ class TestCaptureTwistedLogs(NeedsTwiste def test_suite(): - from unittest2 import TestLoader, TestSuite + from unittest import TestLoader, TestSuite return TestLoader().loadTestsFromName(__name__) --- a/testtools/run.py +++ b/testtools/run.py @@ -195,7 +195,10 @@ class TestProgram(unittest.TestProgram): else: for test in iterate_tests(self.test): self.stdout.write('%s\n' % test.id()) - del self.testLoader.errors[:] + if hasattr(self.testLoader, 'errors'): + del self.testLoader.errors[:] + else: + self.testLoader.errors = [] def _getParentArgParser(self): parser = super(TestProgram, self)._getParentArgParser()