summary refs log tree commit diff
diff options
context:
space:
mode:
authorRichard van der Hoff <1389908+richvdh@users.noreply.github.com>2018-07-04 18:55:33 +0100
committerGitHub <noreply@github.com>2018-07-04 18:55:33 +0100
commitf192a93875b35da2e53e16469320850b5dd6b324 (patch)
tree7a6b9afd82a148c5d125271a697c36268d07bd77
parentMerge pull request #3473 from matrix-org/erikj/thread_cache (diff)
parentReinstate lost run_on_reactor in unit test (diff)
downloadsynapse-f192a93875b35da2e53e16469320850b5dd6b324.tar.xz
Merge pull request #3481 from matrix-org/rav/fix_cachedescriptor_test
Reinstate lost run_on_reactor in unit test
-rw-r--r--changelog.d/3385.misc1
-rw-r--r--tests/util/caches/test_descriptors.py17
2 files changed, 16 insertions, 2 deletions
diff --git a/changelog.d/3385.misc b/changelog.d/3385.misc
new file mode 100644

index 0000000000..92a91a1ca5 --- /dev/null +++ b/changelog.d/3385.misc
@@ -0,0 +1 @@ +Reinstate lost run_on_reactor in unit tests diff --git a/tests/util/caches/test_descriptors.py b/tests/util/caches/test_descriptors.py
index 24754591df..a94d566c96 100644 --- a/tests/util/caches/test_descriptors.py +++ b/tests/util/caches/test_descriptors.py
@@ -19,13 +19,19 @@ import logging import mock from synapse.api.errors import SynapseError from synapse.util import logcontext -from twisted.internet import defer +from twisted.internet import defer, reactor from synapse.util.caches import descriptors from tests import unittest logger = logging.getLogger(__name__) +def run_on_reactor(): + d = defer.Deferred() + reactor.callLater(0, d.callback, 0) + return logcontext.make_deferred_yieldable(d) + + class CacheTestCase(unittest.TestCase): def test_invalidate_all(self): cache = descriptors.Cache("testcache") @@ -194,6 +200,8 @@ class DescriptorTestCase(unittest.TestCase): def fn(self, arg1): @defer.inlineCallbacks def inner_fn(): + # we want this to behave like an asynchronous function + yield run_on_reactor() raise SynapseError(400, "blah") return inner_fn() @@ -203,7 +211,12 @@ class DescriptorTestCase(unittest.TestCase): with logcontext.LoggingContext() as c1: c1.name = "c1" try: - yield obj.fn(1) + d = obj.fn(1) + self.assertEqual( + logcontext.LoggingContext.current_context(), + logcontext.LoggingContext.sentinel, + ) + yield d self.fail("No exception thrown") except SynapseError: pass