Add unified test format support for OpenTelemetry tracing

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: OpenTelemetry
    • None
    • Python Drivers
    • Not Needed
    • None
    • None
    • None
    • None
    • None
    • 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.

            Assignee:
            Steve Silvester
            Reporter:
            Steve Silvester
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated: