Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions testtools/testcase.py
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -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):
Expand Down
12 changes: 9 additions & 3 deletions testtools/tests/test_fixturesupport.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
content_type,
)
from testtools.compat import _b
from testtools.helpers import try_import
from testtools.matchers import (
Contains,
Equals,
Expand All @@ -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):
Expand Down
12 changes: 9 additions & 3 deletions testtools/tests/test_run.py
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
6 changes: 4 additions & 2 deletions testtools/tests/test_testresult.py
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand Down Expand Up @@ -86,7 +85,10 @@
run_with_stack_hidden,
)

testresources = try_import("testresources")
try:
import testresources
except ImportError:
testresources = None


def _utcfromtimestamp(t):
Expand Down
6 changes: 4 additions & 2 deletions testtools/tests/test_testsuite.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down
6 changes: 4 additions & 2 deletions testtools/tests/twistedsupport/_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down
19 changes: 14 additions & 5 deletions testtools/tests/twistedsupport/test_deferred.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

"""Tests for testtools._deferred."""

from testtools.helpers import try_import
from testtools.matchers import (
Equals,
MatchesException,
Expand All @@ -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):
Expand Down
57 changes: 38 additions & 19 deletions testtools/tests/twistedsupport/test_runtest.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
TestResult,
skipIf,
)
from testtools.helpers import try_import
from testtools.matchers import (
AfterPreprocessing,
Contains,
Expand All @@ -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:
Expand Down
17 changes: 13 additions & 4 deletions testtools/tests/twistedsupport/test_spinner.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
import signal

from testtools import skipIf
from testtools.helpers import try_import
from testtools.matchers import (
Equals,
Is,
Expand All @@ -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):
Expand Down