From add6842003b0379024cc14bb26b36ef374fbb789 Mon Sep 17 00:00:00 2001 From: Alexander Alderman Webb Date: Tue, 21 Jul 2026 16:25:46 +0200 Subject: [PATCH 1/2] test: Close clients created by sentry_init --- tests/conftest.py | 19 +++++++++++++++++++ tests/test_logs.py | 12 +++++++++++- 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/tests/conftest.py b/tests/conftest.py index 1f05f0eda6..7cf8eed31d 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -287,9 +287,12 @@ def inner(identifier): @pytest.fixture def sentry_init(request): + clients = [] + def inner(*a, **kw): kw.setdefault("transport", TestTransport()) client = sentry_sdk.Client(*a, **kw) + clients.append(client) sentry_sdk.get_global_scope().set_client(client) if request.node.get_closest_marker("forked"): @@ -303,6 +306,8 @@ def inner(*a, **kw): sentry_sdk.get_current_scope().set_client(None) yield inner finally: + for client in clients: + client.close() sentry_sdk.get_global_scope().set_client(old_client) @@ -449,9 +454,17 @@ def append(envelope): events_w.write(b"\n") return old_capture_envelope(envelope) + real_flush = test_client.flush + def flush(timeout=None, callback=None): events_w.write(b"flush\n") + def cleanup(): + test_client.flush = real_flush + test_client.transport.capture_envelope = old_capture_envelope + + request.addfinalizer(cleanup) + monkeypatch.setattr(test_client.transport, "capture_envelope", append) monkeypatch.setattr(test_client, "flush", flush) @@ -498,6 +511,12 @@ def flush(timeout=None, callback=None): items_w.write(json.dumps(telemetry).encode("utf-8") + b"\n") items_w.write(b"flush\n") + def cleanup(): + test_client.flush = real_flush + test_client.transport.capture_envelope = old_capture_envelope + + request.addfinalizer(cleanup) + monkeypatch.setattr(test_client.transport, "capture_envelope", append) monkeypatch.setattr(test_client, "flush", flush) diff --git a/tests/test_logs.py b/tests/test_logs.py index ebd7e7f969..0d3af36d8c 100644 --- a/tests/test_logs.py +++ b/tests/test_logs.py @@ -835,7 +835,17 @@ def test_log_batcher_lock_reset_in_child_after_fork(sentry_init): original_lock = batcher._lock original_lock.acquire() - batcher._buffer.append(object()) + batcher._buffer.append( + { + "severity_text": "info", + "severity_number": 9, + "body": "fork-reset sentinel", + "attributes": {}, + "time_unix_nano": 0, + "trace_id": None, + "span_id": None, + } + ) batcher._active.flag = True batcher._flush_event.set() batcher._running = False From 2b363a2e45b216b45905754ce99d52b0d375b850 Mon Sep 17 00:00:00 2001 From: Alexander Alderman Webb Date: Tue, 21 Jul 2026 16:32:25 +0200 Subject: [PATCH 2/2] adapt metric test --- tests/test_metrics.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tests/test_metrics.py b/tests/test_metrics.py index e62a868dbe..042b27ad4c 100644 --- a/tests/test_metrics.py +++ b/tests/test_metrics.py @@ -525,7 +525,18 @@ def test_metrics_batcher_lock_reset_in_child_after_fork(sentry_init): original_lock = batcher._lock original_lock.acquire() - batcher._buffer.append(object()) + batcher._buffer.append( + { + "timestamp": 0.0, + "name": "fork-reset-sentinel", + "type": "counter", + "value": 1.0, + "unit": None, + "attributes": {}, + "trace_id": None, + "span_id": None, + } + ) batcher._active.flag = True batcher._flush_event.set() batcher._running = False