getsentry / getsentry/sentry-javascript

test: no shared conformance suite across runtimes

Abierto
#24,052 1 comentario 0 reacciones 0 asignados Ver en GitHub
javascript
Lenguaje dominante
TypeScript
Estrellas
8.7k
Forks
1.8k
Merge medio
1 d 17 h
PR fusionados (30 d)
523

Descripción

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.

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Comienza localizando las pruebas de integración existentes por runtime y las convenciones del repositorio para la documentación generada o las matrices de pruebas compartidas. Relaciona los comportamientos enumerados con la cobertura existente y, después, elige el formato de matriz compatible y completa sus resultados actuales. La tarea estará terminada cuando exista una tabla entre runtimes, con celdas vacías que identifiquen claramente la cobertura que falta y con las pruebas existentes reflejadas con precisión.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
typescript
Área
testing-qa
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Activo
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.