Skip to content

test: no shared conformance suite across runtimes #24052

Open

Description

@isaacs

Many items in this project's issues are the same questions asked repeatedly: does this runtime propagate trace headers on its default HTTP client? Does it keep a span open for a streaming response? Does it report the right SDK name and runtime? Does double init do the same thing?

Each was found by reading one package and comparing to another. A table would have found them all at once, and would keep finding them.

Work item. Add a single matrix table to the repo (a test, or a generated doc) with one row per behavior and one column per runtime, covering at least:

Behavior
sdk.name and sdk.packages
contexts.runtime.name / .version
incoming server span: name, sentry.op, source
incoming server span: continues an inbound sentry-trace
outgoing default HTTP client: child span created
outgoing default HTTP client: sentry-trace + baggage sent
streaming response: span stays open until the body ends
streaming response: client cancel propagates upstream
request body capture honors dataCollection.httpBodies
ignoreStatusCodes drops the transaction
OPTIONS / HEAD produce no span
double init() behavior
tracing-off: tracing integrations absent
unhandled error in the handler is captured and rethrown

Fill it from the existing per-runtime integration tests where they already exist, and let the empty cells drive the backlog. This is the item with the highest long-term return; every other item in this document is one cell in it.

Prior art Four open issues ask for more test coverage, but none of them for a cross-runtime behavior matrix:

  • #18635
  • #20874
  • #23610
  • #22523
  • #18635 similar, but it is about running existing suites against more frameworks, not about asking every runtime the same behavioral question.

Activity

  1. linear-code commented on Sep 4, 2026

    @linear-code
  2. added
    javascriptPull requests that update javascript code
    on Sep 4, 2026
  3. removed their assignment
    on Oct 14, 2026
  4. JPeer264 commented on Oct 14, 2026

    @JPeer264
    Member

    Uff that is quite a ticket.

    I actually tried to start it, but can't really come to a good conclusion that scales. Theoretically a matrix/doc would always need to be maintained and could diverge quite fast IMO. The node-integration-tests that run in Bun and Deno is kinda fixing it already, but not for Vercel Edge or Cloudflare.

    So I'm personally not sure if this can ever be fixed in a nice, maintainable manner 🤔

  5. isaacs commented on Oct 14, 2026

    @isaacs
    MemberAuthor

    Uff that is quite a ticket.

    Haha, yeah, on further reflections, this is more "an entire project" rather than a one-issue line-item. I think it's a good candidate to tackle after we're done with the current (more reasonably-scoped) project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    javascriptPull requests that update javascript code

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions