mirror of
https://github.com/element-hq/synapse.git
synced 2026-03-31 06:15:44 +00:00
Summary of what was fixed: - tests/unittest.py — Twisted imports wrapped in try/except with asyncio fallbacks - tests/server.py — ThreadedMemoryReactorClock replaced with pure-asyncio FakeReactor, Twisted interface stubs for @implementer decorators - tests/test_utils/__init__.py — IResponse, Failure, Headers, RESPONSES fallbacks - tests/test_utils/logging_setup.py — ToTwistedHandler replaced with stdlib logging.StreamHandler - synapse/crypto/context_factory.py — CertificateOptions stub uses pyOpenSSL directly, IPolicyForHTTPS stub as zope Interface - tests/server.py — shutdown_hs_on_cleanup converted from Deferred to async, seconds() added to FakeReactor Also, move from txredisapi to asyncio redis Also, move from twisted to aiohttp for the rust apps
55 lines
2.0 KiB
Python
55 lines
2.0 KiB
Python
#
|
|
# This file is licensed under the Affero General Public License (AGPL) version 3.
|
|
#
|
|
# Copyright (C) 2023 New Vector, Ltd
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU Affero General Public License as
|
|
# published by the Free Software Foundation, either version 3 of the
|
|
# License, or (at your option) any later version.
|
|
#
|
|
# See the GNU Affero General Public License for more details:
|
|
# <https://www.gnu.org/licenses/agpl-3.0.html>.
|
|
#
|
|
# Originally licensed under the Apache License, Version 2.0:
|
|
# <http://www.apache.org/licenses/LICENSE-2.0>.
|
|
#
|
|
# [This file includes modifications made by New Vector Limited]
|
|
#
|
|
#
|
|
import logging
|
|
import os
|
|
|
|
from synapse.logging.context import LoggingContextFilter
|
|
from synapse.synapse_rust import reset_logging_config
|
|
|
|
|
|
def setup_logging() -> None:
|
|
"""Configure the python logging appropriately for the tests."""
|
|
root_logger = logging.getLogger()
|
|
|
|
log_format = "%(name)s - %(lineno)d - %(levelname)s - %(request)s - %(message)s"
|
|
|
|
handler = logging.StreamHandler()
|
|
formatter = logging.Formatter(log_format)
|
|
handler.setFormatter(formatter)
|
|
handler.addFilter(LoggingContextFilter())
|
|
root_logger.addHandler(handler)
|
|
|
|
log_level = os.environ.get("SYNAPSE_TEST_LOG_LEVEL", "ERROR")
|
|
root_logger.setLevel(log_level)
|
|
|
|
# In order to not add noise by default (since we only log ERROR messages for trial
|
|
# tests as configured above), we only enable this for developers for looking for
|
|
# more INFO or DEBUG.
|
|
if root_logger.isEnabledFor(logging.INFO):
|
|
# Log when events are (maybe unexpectedly) filtered out of responses in tests. It's
|
|
# just nice to be able to look at the CI log and figure out why an event isn't being
|
|
# returned.
|
|
logging.getLogger("synapse.visibility.filtered_event_debug").setLevel(
|
|
logging.DEBUG
|
|
)
|
|
|
|
# Blow away the pyo3-log cache so that it reloads the configuration.
|
|
reset_logging_config()
|