Clean up overlays and remove obsolete dependencies

This commit is contained in:
2026-09-19 22:42:44 -04:00
parent af4a917d92
commit a37b20979d
15 changed files with 435 additions and 149 deletions
@@ -0,0 +1,41 @@
Subject: [PATCH] tests: isolate SDK thread lookup mocks from Python threading
Thread.join also calls threading.current_thread on Python 3.14. A global
single-use side effect can be consumed by join instead of the SDK, or
raise StopIteration in join after the SDK consumes it. Patch the SDK's
module binding and delegate unmocked operations to the real module.
Apply the same isolation to the adjacent invalid-thread fallback tests.
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -914,7 +914,8 @@
results = Queue(maxsize=1)
def target():
- with mock.patch("threading.current_thread", side_effect=["fake thread"]):
+ with mock.patch("sentry_sdk.utils.threading", wraps=threading) as sdk_threading:
+ sdk_threading.current_thread.return_value = "fake thread"
results.put(get_current_thread_meta())
thread = threading.Thread(target=target)
@@ -930,7 +931,9 @@
def target():
# mock that somehow the current thread doesn't exist
- with mock.patch("threading.current_thread", side_effect=[None]):
+ # Keep the real threading module intact for concurrent Thread.join calls.
+ with mock.patch("sentry_sdk.utils.threading", wraps=threading) as sdk_threading:
+ sdk_threading.current_thread.return_value = None
results.put(get_current_thread_meta())
main_thread = threading.main_thread()
@@ -945,7 +948,8 @@
results = Queue(maxsize=1)
def target():
- with mock.patch("threading.current_thread", return_value="fake thread"):
+ with mock.patch("sentry_sdk.utils.threading", wraps=threading) as sdk_threading:
+ sdk_threading.current_thread.return_value = "fake thread"
results.put(get_current_thread_meta())
main_thread = threading.main_thread()