Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ def get_finished_spans(self, context_id: str | None = None) -> tuple[ReadableSpa

def export(self, spans: typing.Sequence[ReadableSpan]) -> SpanExportResult:
"""Stores a list of spans in memory."""
if self._stopped: # pragma: no cover
if self._stopped:
return SpanExportResult.FAILURE
with self._lock:
context_id = _EXPORTER_CONTEXT_ID.get()
Expand Down
19 changes: 19 additions & 0 deletions tests/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
from vcr import VCR, request as vcr_request

import pydantic_ai.models
from pydantic_ai import Agent
from pydantic_ai.messages import BinaryContent
from pydantic_ai.models import Model, cached_async_http_client

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


@pytest.fixture(autouse=True)
def no_instrumentation_by_default():
Agent.instrument_all(False)


try:
import logfire

logfire.DEFAULT_LOGFIRE_INSTANCE.config.ignore_no_config = True

@pytest.fixture(autouse=True)
def fresh_logfire():
logfire.shutdown(flush=False)

except ImportError:
pass


def raise_if_exception(e: Any) -> None:
if isinstance(e, Exception):
raise e
Expand Down
10 changes: 0 additions & 10 deletions tests/evals/test_otel.py
Original file line number Diff line number Diff line change
Expand Up @@ -336,9 +336,6 @@ async def test_span_node_repr(span_tree: SpanTree):

async def test_span_tree_ancestors_methods():
"""Test the ancestor traversal methods in SpanNode."""
# Configure logfire
logfire.configure()

# Create spans with a deep structure for testing ancestor methods
with context_subtree() as tree:
with logfire.span('root', depth=0):
Expand Down Expand Up @@ -398,9 +395,6 @@ async def test_span_tree_ancestors_methods():

async def test_span_tree_descendants_methods():
"""Test the descendant traversal methods in SpanNode."""
# Configure logfire
logfire.configure()

# Create spans with a deep structure for testing descendant methods
with context_subtree() as tree:
with logfire.span('root', depth=0):
Expand Down Expand Up @@ -488,9 +482,6 @@ async def test_span_tree_descendants_methods():

async def test_log_levels_and_exceptions():
"""Test recording different log levels and exceptions in spans."""
# Configure logfire
logfire.configure()

with context_subtree() as tree:
# Test different log levels
with logfire.span('parent_span'):
Expand Down Expand Up @@ -891,7 +882,6 @@ async def test_context_subtree_not_configured(mocker: MockerFixture):
"""Test that context_subtree correctly records spans in independent async contexts."""
from opentelemetry.trace import ProxyTracerProvider

# from opentelemetry.sdk.trace import TracerProvider
mocker.patch(
'pydantic_evals.otel._context_in_memory_span_exporter.get_tracer_provider', return_value=ProxyTracerProvider()
)
Expand Down