Skip to content

Commit 599def0

Browse files
alexmojakiKludex
andauthored
Disable instrumentation by default in tests (#2535)
Co-authored-by: Marcelo Trylesinski <[email protected]>
1 parent a6761cb commit 599def0

File tree

3 files changed

+20
-11
lines changed

3 files changed

+20
-11
lines changed

pydantic_evals/pydantic_evals/otel/_context_in_memory_span_exporter.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ def get_finished_spans(self, context_id: str | None = None) -> tuple[ReadableSpa
109109

110110
def export(self, spans: typing.Sequence[ReadableSpan]) -> SpanExportResult:
111111
"""Stores a list of spans in memory."""
112-
if self._stopped: # pragma: no cover
112+
if self._stopped:
113113
return SpanExportResult.FAILURE
114114
with self._lock:
115115
context_id = _EXPORTER_CONTEXT_ID.get()

tests/conftest.py

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
from vcr import VCR, request as vcr_request
2525

2626
import pydantic_ai.models
27+
from pydantic_ai import Agent
2728
from pydantic_ai.messages import BinaryContent
2829
from pydantic_ai.models import Model, cached_async_http_client
2930

@@ -230,6 +231,24 @@ def event_loop() -> Iterator[None]:
230231
new_loop.close()
231232

232233

234+
@pytest.fixture(autouse=True)
235+
def no_instrumentation_by_default():
236+
Agent.instrument_all(False)
237+
238+
239+
try:
240+
import logfire
241+
242+
logfire.DEFAULT_LOGFIRE_INSTANCE.config.ignore_no_config = True
243+
244+
@pytest.fixture(autouse=True)
245+
def fresh_logfire():
246+
logfire.shutdown(flush=False)
247+
248+
except ImportError:
249+
pass
250+
251+
233252
def raise_if_exception(e: Any) -> None:
234253
if isinstance(e, Exception):
235254
raise e

tests/evals/test_otel.py

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -336,9 +336,6 @@ async def test_span_node_repr(span_tree: SpanTree):
336336

337337
async def test_span_tree_ancestors_methods():
338338
"""Test the ancestor traversal methods in SpanNode."""
339-
# Configure logfire
340-
logfire.configure()
341-
342339
# Create spans with a deep structure for testing ancestor methods
343340
with context_subtree() as tree:
344341
with logfire.span('root', depth=0):
@@ -398,9 +395,6 @@ async def test_span_tree_ancestors_methods():
398395

399396
async def test_span_tree_descendants_methods():
400397
"""Test the descendant traversal methods in SpanNode."""
401-
# Configure logfire
402-
logfire.configure()
403-
404398
# Create spans with a deep structure for testing descendant methods
405399
with context_subtree() as tree:
406400
with logfire.span('root', depth=0):
@@ -488,9 +482,6 @@ async def test_span_tree_descendants_methods():
488482

489483
async def test_log_levels_and_exceptions():
490484
"""Test recording different log levels and exceptions in spans."""
491-
# Configure logfire
492-
logfire.configure()
493-
494485
with context_subtree() as tree:
495486
# Test different log levels
496487
with logfire.span('parent_span'):
@@ -891,7 +882,6 @@ async def test_context_subtree_not_configured(mocker: MockerFixture):
891882
"""Test that context_subtree correctly records spans in independent async contexts."""
892883
from opentelemetry.trace import ProxyTracerProvider
893884

894-
# from opentelemetry.sdk.trace import TracerProvider
895885
mocker.patch(
896886
'pydantic_evals.otel._context_in_memory_span_exporter.get_tracer_provider', return_value=ProxyTracerProvider()
897887
)

0 commit comments

Comments
 (0)