mirror of
https://git.anonymousland.org/anonymousland/synapse.git
synced 2025-08-08 19:32:14 -04:00
Clean up some LoggingContext stuff (#7120)
* Pull Sentinel out of LoggingContext ... and drop a few unnecessary references to it * Factor out LoggingContext.current_context move `current_context` and `set_context` out to top-level functions. Mostly this means that I can more easily trace what's actually referring to LoggingContext, but I think it's generally neater. * move copy-to-parent into `stop` this really just makes `start` and `stop` more symetric. It also means that it behaves correctly if you manually `set_log_context` rather than using the context manager. * Replace `LoggingContext.alive` with `finished` Turn `alive` into `finished` and make it a bit better defined.
This commit is contained in:
parent
1fcf9c6f95
commit
39230d2171
24 changed files with 232 additions and 222 deletions
|
@ -2,8 +2,10 @@ import twisted.python.failure
|
|||
from twisted.internet import defer, reactor
|
||||
|
||||
from synapse.logging.context import (
|
||||
SENTINEL_CONTEXT,
|
||||
LoggingContext,
|
||||
PreserveLoggingContext,
|
||||
current_context,
|
||||
make_deferred_yieldable,
|
||||
nested_logging_context,
|
||||
run_in_background,
|
||||
|
@ -15,7 +17,7 @@ from .. import unittest
|
|||
|
||||
class LoggingContextTestCase(unittest.TestCase):
|
||||
def _check_test_key(self, value):
|
||||
self.assertEquals(LoggingContext.current_context().request, value)
|
||||
self.assertEquals(current_context().request, value)
|
||||
|
||||
def test_with_context(self):
|
||||
with LoggingContext() as context_one:
|
||||
|
@ -41,7 +43,7 @@ class LoggingContextTestCase(unittest.TestCase):
|
|||
self._check_test_key("one")
|
||||
|
||||
def _test_run_in_background(self, function):
|
||||
sentinel_context = LoggingContext.current_context()
|
||||
sentinel_context = current_context()
|
||||
|
||||
callback_completed = [False]
|
||||
|
||||
|
@ -71,7 +73,7 @@ class LoggingContextTestCase(unittest.TestCase):
|
|||
# make sure that the context was reset before it got thrown back
|
||||
# into the reactor
|
||||
try:
|
||||
self.assertIs(LoggingContext.current_context(), sentinel_context)
|
||||
self.assertIs(current_context(), sentinel_context)
|
||||
d2.callback(None)
|
||||
except BaseException:
|
||||
d2.errback(twisted.python.failure.Failure())
|
||||
|
@ -108,7 +110,7 @@ class LoggingContextTestCase(unittest.TestCase):
|
|||
async def testfunc():
|
||||
self._check_test_key("one")
|
||||
d = Clock(reactor).sleep(0)
|
||||
self.assertIs(LoggingContext.current_context(), LoggingContext.sentinel)
|
||||
self.assertIs(current_context(), SENTINEL_CONTEXT)
|
||||
await d
|
||||
self._check_test_key("one")
|
||||
|
||||
|
@ -129,14 +131,14 @@ class LoggingContextTestCase(unittest.TestCase):
|
|||
reactor.callLater(0, d.callback, None)
|
||||
return d
|
||||
|
||||
sentinel_context = LoggingContext.current_context()
|
||||
sentinel_context = current_context()
|
||||
|
||||
with LoggingContext() as context_one:
|
||||
context_one.request = "one"
|
||||
|
||||
d1 = make_deferred_yieldable(blocking_function())
|
||||
# make sure that the context was reset by make_deferred_yieldable
|
||||
self.assertIs(LoggingContext.current_context(), sentinel_context)
|
||||
self.assertIs(current_context(), sentinel_context)
|
||||
|
||||
yield d1
|
||||
|
||||
|
@ -145,14 +147,14 @@ class LoggingContextTestCase(unittest.TestCase):
|
|||
|
||||
@defer.inlineCallbacks
|
||||
def test_make_deferred_yieldable_with_chained_deferreds(self):
|
||||
sentinel_context = LoggingContext.current_context()
|
||||
sentinel_context = current_context()
|
||||
|
||||
with LoggingContext() as context_one:
|
||||
context_one.request = "one"
|
||||
|
||||
d1 = make_deferred_yieldable(_chained_deferred_function())
|
||||
# make sure that the context was reset by make_deferred_yieldable
|
||||
self.assertIs(LoggingContext.current_context(), sentinel_context)
|
||||
self.assertIs(current_context(), sentinel_context)
|
||||
|
||||
yield d1
|
||||
|
||||
|
@ -189,14 +191,14 @@ class LoggingContextTestCase(unittest.TestCase):
|
|||
reactor.callLater(0, d.callback, None)
|
||||
await d
|
||||
|
||||
sentinel_context = LoggingContext.current_context()
|
||||
sentinel_context = current_context()
|
||||
|
||||
with LoggingContext() as context_one:
|
||||
context_one.request = "one"
|
||||
|
||||
d1 = make_deferred_yieldable(blocking_function())
|
||||
# make sure that the context was reset by make_deferred_yieldable
|
||||
self.assertIs(LoggingContext.current_context(), sentinel_context)
|
||||
self.assertIs(current_context(), sentinel_context)
|
||||
|
||||
yield d1
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue