-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: OpenTelemetry
-
None
Context
The OpenTelemetry spans added under PYTHON-5945, PYTHON-5947 and PYTHON-6035 are covered by hand-written tests only. The specification ships tracing fixtures in the unified test format, which the runner cannot execute yet.
Definition of done
- observeTracingMessages and expectTracingMessages are supported in the unified test format runner.
- The specification's tracing fixtures are vendored, with a resync-specs.sh entry to refresh them.
- Hand-written tests the vendored fixtures now cover are dropped.
Pitfalls
- Span attributes arrive as plain Python primitives rather than BSON-decoded documents, so they need adapting before the shared match evaluator sees them. Ints have no int32/int64 distinction, and db.mongodb.lsid is a UUID string rather than the document shape the sessionLsid operator expects.
- ignoreExtraSpans has to be enforced at every level of the span tree, not just the top-level array, or a fixture's negative nesting assertions pass silently.
- The getMore fixture depends on PYTHON-5993 and cannot pass without it.
- Most of the diff is resync-specs.sh output; only the runner changes need review.