Skip to content

Commit c41a763

Browse files
committed
fix(tests): make OpenTelemetry span assertions order-independent
Identify producer and consumer spans by SpanKind instead of relying on platform-dependent start-time ordering, fixing Windows CI failures.
1 parent 7cfbf08 commit c41a763

2 files changed

Lines changed: 24 additions & 6 deletions

File tree

tests/opentelemetry/test_auto_instrumentation.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,16 @@ async def task_add(a: float, b: float) -> float:
2323

2424
asyncio.run(test())
2525

26-
spans = self.sorted_spans(self.memory_exporter.get_finished_spans())
26+
spans = self.memory_exporter.get_finished_spans()
2727
self.assertEqual(len(spans), 2)
2828

29-
consumer, producer = spans
29+
spans_by_kind = {span.kind: span for span in spans}
30+
self.assertEqual(
31+
set(spans_by_kind),
32+
{SpanKind.CONSUMER, SpanKind.PRODUCER},
33+
)
34+
consumer = spans_by_kind[SpanKind.CONSUMER]
35+
producer = spans_by_kind[SpanKind.PRODUCER]
3036

3137
self.assertEqual(
3238
consumer.name,

tests/opentelemetry/test_tasks.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,16 @@ async def test() -> None:
3636

3737
asyncio.run(test())
3838

39-
spans = self.sorted_spans(self.memory_exporter.get_finished_spans())
39+
spans = self.memory_exporter.get_finished_spans()
4040
self.assertEqual(len(spans), 2)
4141

42-
consumer, producer = spans
42+
spans_by_kind = {span.kind: span for span in spans}
43+
self.assertEqual(
44+
set(spans_by_kind),
45+
{SpanKind.CONSUMER, SpanKind.PRODUCER},
46+
)
47+
consumer = spans_by_kind[SpanKind.CONSUMER]
48+
producer = spans_by_kind[SpanKind.PRODUCER]
4349

4450
self.assertEqual(
4551
consumer.name,
@@ -85,10 +91,16 @@ async def test() -> None:
8591

8692
asyncio.run(test())
8793

88-
spans = self.sorted_spans(self.memory_exporter.get_finished_spans())
94+
spans = self.memory_exporter.get_finished_spans()
8995
self.assertEqual(len(spans), 2)
9096

91-
consumer, producer = spans
97+
spans_by_kind = {span.kind: span for span in spans}
98+
self.assertEqual(
99+
set(spans_by_kind),
100+
{SpanKind.CONSUMER, SpanKind.PRODUCER},
101+
)
102+
consumer = spans_by_kind[SpanKind.CONSUMER]
103+
producer = spans_by_kind[SpanKind.PRODUCER]
92104

93105
self.assertEqual(
94106
consumer.name,

0 commit comments

Comments
 (0)