diff --git a/testtools/testcase.py b/testtools/testcase.py index b30c0701..77e0282e 100644 --- a/testtools/testcase.py +++ b/testtools/testcase.py @@ -26,7 +26,6 @@ from testtools import content from testtools.compat import reraise -from testtools.helpers import try_import from testtools.matchers import ( Annotate, Contains, @@ -166,7 +165,10 @@ def gather_details(source_dict, target_dict): # Circular import: fixtures imports gather_details from here, we import # fixtures, leading to gather_details not being available and fixtures being # unable to import it. -fixtures = try_import("fixtures") +try: + import fixtures +except ImportError: + fixtures = None class UseFixtureProtocol(Protocol): diff --git a/testtools/tests/test_fixturesupport.py b/testtools/tests/test_fixturesupport.py index a65ce70c..520e7901 100644 --- a/testtools/tests/test_fixturesupport.py +++ b/testtools/tests/test_fixturesupport.py @@ -8,7 +8,6 @@ content_type, ) from testtools.compat import _b -from testtools.helpers import try_import from testtools.matchers import ( Contains, Equals, @@ -17,8 +16,15 @@ ExtendedTestResult, ) -fixtures = try_import("fixtures") -LoggingFixture = try_import("fixtures.tests.helpers.LoggingFixture") +try: + import fixtures +except ImportError: + fixtures = None + +try: + from fixtures.tests.helpers import LoggingFixture +except ImportError: + LoggingFixture = None class TestFixtureSupport(TestCase): diff --git a/testtools/tests/test_run.py b/testtools/tests/test_run.py index e3965644..831eba76 100644 --- a/testtools/tests/test_run.py +++ b/testtools/tests/test_run.py @@ -12,15 +12,21 @@ import testtools from testtools import TestCase, run, skipUnless from testtools.compat import _b -from testtools.helpers import try_import from testtools.matchers import ( Contains, DocTestMatches, MatchesRegex, ) -fixtures = try_import("fixtures") -testresources = try_import("testresources") +try: + import fixtures +except ImportError: + fixtures = None + +try: + import testresources +except ImportError: + testresources = None if fixtures: diff --git a/testtools/tests/test_testresult.py b/testtools/tests/test_testresult.py index eb2f6ba3..d464e674 100644 --- a/testtools/tests/test_testresult.py +++ b/testtools/tests/test_testresult.py @@ -54,7 +54,6 @@ text_content, ) from testtools.content_type import UTF8_TEXT, ContentType -from testtools.helpers import try_import from testtools.matchers import ( AllMatch, Contains, @@ -86,7 +85,10 @@ run_with_stack_hidden, ) -testresources = try_import("testresources") +try: + import testresources +except ImportError: + testresources = None def _utcfromtimestamp(t): diff --git a/testtools/tests/test_testsuite.py b/testtools/tests/test_testsuite.py index 220e70f1..257f93d8 100644 --- a/testtools/tests/test_testsuite.py +++ b/testtools/tests/test_testsuite.py @@ -14,13 +14,15 @@ TestCase, iterate_tests, ) -from testtools.helpers import try_import from testtools.matchers import DocTestMatches, Equals from testtools.testresult.doubles import StreamResult as LoggingStream from testtools.tests.helpers import LoggingResult from testtools.testsuite import FixtureSuite, sorted_tests -FunctionFixture = try_import("fixtures.FunctionFixture") +try: + from fixtures import FunctionFixture +except ImportError: + FunctionFixture = None class Sample(TestCase): diff --git a/testtools/tests/twistedsupport/_helpers.py b/testtools/tests/twistedsupport/_helpers.py index 4700e851..057edcb0 100644 --- a/testtools/tests/twistedsupport/_helpers.py +++ b/testtools/tests/twistedsupport/_helpers.py @@ -5,9 +5,11 @@ ] from testtools import TestCase -from testtools.helpers import try_import -defer = try_import("twisted.internet.defer") +try: + from twisted.internet import defer +except ImportError: + defer = None class NeedsTwistedTestCase(TestCase): diff --git a/testtools/tests/twistedsupport/test_deferred.py b/testtools/tests/twistedsupport/test_deferred.py index 3d3ab39d..1d919aca 100644 --- a/testtools/tests/twistedsupport/test_deferred.py +++ b/testtools/tests/twistedsupport/test_deferred.py @@ -2,7 +2,6 @@ """Tests for testtools._deferred.""" -from testtools.helpers import try_import from testtools.matchers import ( Equals, MatchesException, @@ -11,11 +10,21 @@ from ._helpers import NeedsTwistedTestCase -DeferredNotFired = try_import("testtools.twistedsupport._deferred.DeferredNotFired") -extract_result = try_import("testtools.twistedsupport._deferred.extract_result") +try: + from testtools.twistedsupport._deferred import DeferredNotFired, extract_result +except ImportError: + DeferredNotFired = None + extract_result = None -defer = try_import("twisted.internet.defer") -Failure = try_import("twisted.python.failure.Failure") +try: + from twisted.internet import defer +except ImportError: + defer = None + +try: + from twisted.python.failure import Failure +except ImportError: + Failure = None class TestExtractResult(NeedsTwistedTestCase): diff --git a/testtools/tests/twistedsupport/test_runtest.py b/testtools/tests/twistedsupport/test_runtest.py index be5595aa..222b057a 100644 --- a/testtools/tests/twistedsupport/test_runtest.py +++ b/testtools/tests/twistedsupport/test_runtest.py @@ -11,7 +11,6 @@ TestResult, skipIf, ) -from testtools.helpers import try_import from testtools.matchers import ( AfterPreprocessing, Contains, @@ -33,24 +32,44 @@ from ._helpers import NeedsTwistedTestCase -DebugTwisted = try_import("testtools.twistedsupport._deferreddebug.DebugTwisted") - -assert_fails_with = try_import("testtools.twistedsupport.assert_fails_with") -AsynchronousDeferredRunTest = try_import( - "testtools.twistedsupport.AsynchronousDeferredRunTest" -) -flush_logged_errors = try_import("testtools.twistedsupport.flush_logged_errors") -SynchronousDeferredRunTest = try_import( - "testtools.twistedsupport.SynchronousDeferredRunTest" -) - -defer = try_import("twisted.internet.defer") -failure = try_import("twisted.python.failure") -log = try_import("twisted.python.log") -DelayedCall = try_import("twisted.internet.base.DelayedCall") -_get_global_publisher_and_observers = try_import( - "testtools.twistedsupport._runtest._get_global_publisher_and_observers" -) +try: + from testtools.twistedsupport._deferreddebug import DebugTwisted +except ImportError: + DebugTwisted = None + +try: + from testtools.twistedsupport import ( + AsynchronousDeferredRunTest, + SynchronousDeferredRunTest, + assert_fails_with, + flush_logged_errors, + ) +except ImportError: + assert_fails_with = None + AsynchronousDeferredRunTest = None + flush_logged_errors = None + SynchronousDeferredRunTest = None + +try: + from twisted.internet import defer +except ImportError: + defer = None + +try: + from twisted.python import failure, log +except ImportError: + failure = None + log = None + +try: + from twisted.internet.base import DelayedCall +except ImportError: + DelayedCall = None + +try: + from testtools.twistedsupport._runtest import _get_global_publisher_and_observers +except ImportError: + _get_global_publisher_and_observers = None class X: diff --git a/testtools/tests/twistedsupport/test_spinner.py b/testtools/tests/twistedsupport/test_spinner.py index 7601505a..b3a4aa8c 100644 --- a/testtools/tests/twistedsupport/test_spinner.py +++ b/testtools/tests/twistedsupport/test_spinner.py @@ -6,7 +6,6 @@ import signal from testtools import skipIf -from testtools.helpers import try_import from testtools.matchers import ( Equals, Is, @@ -16,10 +15,20 @@ from ._helpers import NeedsTwistedTestCase -_spinner = try_import("testtools.twistedsupport._spinner") +try: + from testtools.twistedsupport import _spinner +except ImportError: + _spinner = None -defer = try_import("twisted.internet.defer") -Failure = try_import("twisted.python.failure.Failure") +try: + from twisted.internet import defer +except ImportError: + defer = None + +try: + from twisted.python.failure import Failure +except ImportError: + Failure = None class TestNotReentrant(NeedsTwistedTestCase):