|
5 | 5 | import os |
6 | 6 | import socket |
7 | 7 | import threading |
8 | | -import warnings |
9 | 8 | from collections import namedtuple |
10 | 9 | from dataclasses import dataclass |
11 | 10 | from http.server import BaseHTTPRequestHandler, HTTPServer |
|
42 | 41 | except (ImportError, RuntimeError): |
43 | 42 | TestClient = None |
44 | 43 |
|
45 | | -try: |
46 | | - import gevent |
47 | | -except ImportError: |
48 | | - gevent = None |
49 | | - |
50 | 44 | import sentry_sdk |
51 | 45 | import sentry_sdk.utils |
52 | 46 | from sentry_sdk.envelope import Envelope, parse_json |
@@ -489,37 +483,6 @@ def record_lost_event(reason, data_category=None, item=None, *, quantity=1): |
489 | 483 | return inner |
490 | 484 |
|
491 | 485 |
|
492 | | -@pytest.fixture |
493 | | -def capture_events_forksafe(monkeypatch, capture_events, request): |
494 | | - def inner(): |
495 | | - capture_events() |
496 | | - |
497 | | - events_r, events_w = os.pipe() |
498 | | - events_r = os.fdopen(events_r, "rb", 0) |
499 | | - events_w = os.fdopen(events_w, "wb", 0) |
500 | | - |
501 | | - test_client = sentry_sdk.get_client() |
502 | | - |
503 | | - old_capture_envelope = test_client.transport.capture_envelope |
504 | | - |
505 | | - def append(envelope): |
506 | | - event = envelope.get_event() |
507 | | - if event is not None: |
508 | | - events_w.write(json.dumps(event).encode("utf-8")) |
509 | | - events_w.write(b"\n") |
510 | | - return old_capture_envelope(envelope) |
511 | | - |
512 | | - def flush(timeout=None, callback=None): |
513 | | - events_w.write(b"flush\n") |
514 | | - |
515 | | - monkeypatch.setattr(test_client.transport, "capture_envelope", append) |
516 | | - monkeypatch.setattr(test_client, "flush", flush) |
517 | | - |
518 | | - return EventStreamReader(events_r, events_w) |
519 | | - |
520 | | - return inner |
521 | | - |
522 | | - |
523 | 486 | @pytest.fixture |
524 | 487 | def capture_items_forksafe(monkeypatch, capture_items, request): |
525 | 488 | def inner(*types): |
@@ -578,29 +541,6 @@ def read_flush(self): |
578 | 541 | assert self.read_file.readline() == b"flush\n" |
579 | 542 |
|
580 | 543 |
|
581 | | -# scope=session ensures that fixture is run earlier |
582 | | -@pytest.fixture( |
583 | | - scope="session", |
584 | | - params=[None, "gevent"], |
585 | | - ids=("threads", "greenlet"), |
586 | | -) |
587 | | -def maybe_monkeypatched_threading(request): |
588 | | - if request.param == "gevent": |
589 | | - if gevent is None: |
590 | | - pytest.skip("no gevent installed") |
591 | | - try: |
592 | | - gevent.monkey.patch_all() |
593 | | - except Exception as e: |
594 | | - if "_RLock__owner" in str(e): |
595 | | - pytest.skip("https://github.com/gevent/gevent/issues/1380") |
596 | | - else: |
597 | | - raise |
598 | | - else: |
599 | | - assert request.param is None |
600 | | - |
601 | | - return request.param |
602 | | - |
603 | | - |
604 | 544 | @pytest.fixture |
605 | 545 | def render_span_tree(): |
606 | 546 | def inner(spans): |
@@ -815,17 +755,6 @@ def teardown_profiling(): |
815 | 755 | teardown_continuous_profiler() |
816 | 756 |
|
817 | 757 |
|
818 | | -@pytest.fixture() |
819 | | -def suppress_deprecation_warnings(): |
820 | | - """ |
821 | | - Use this fixture to suppress deprecation warnings in a test. |
822 | | - Useful for testing deprecated SDK features. |
823 | | - """ |
824 | | - with warnings.catch_warnings(): |
825 | | - warnings.simplefilter("ignore", DeprecationWarning) |
826 | | - yield |
827 | | - |
828 | | - |
829 | 758 | def _make_session_message(jsonrpc_msg): |
830 | 759 | """Construct a SessionMessage compatible with both MCP v1 and v2.""" |
831 | 760 | if _IS_MCP_V2: |
|
0 commit comments