Automattic / Automattic/wp-codebox

test: adaptive cancellation assertion races before partial transition

Abierto
#2,104 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
TypeScript
Estrellas
16
Forks
4
Merge medio
59 min
PR fusionados (30 d)
131

Descripción

## Problem

The full adaptive browser gate can deterministically fail the test `cancellation during a partially failed action retains bounded non-replayable evidence` because its fixed 250ms abort fires before any error transition is recorded.

## Reproduction

```bash
npm run test:browser-accessibility-oracles
```

Observed repeatedly on current `origin/main` plus PR #2099:

```text
✖ cancellation during a partially failed action retains bounded non-replayable evidence
AssertionError: assert(failed)
at tests/browser-adaptive-exploration.test.ts:444
```

The result is already `incomplete`/cancelled, but `result.transitions.find((transition) => transition.status === \"error\")` is undefined because cancellation wins the timing race before the intercepted repeat action reaches its expected partial failure.

## Expected

The test should synchronize cancellation to the intended in-flight action state instead of using a fixed wall delay, then assert bounded non-replayable evidence deterministically.

## Scope

Test synchronization only unless investigation shows runtime cancellation dropped an already-observed transition. Do not weaken the production evidence contract.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Empieza por tests/browser-adaptive-exploration.test.ts, especialmente por la aserción fallida alrededor de la línea 444, y ejecuta npm run test:browser-accessibility-oracles para reproducir la condición de carrera. Traza la acción parcialmente fallida y el momento de la cancelación; después, sincroniza la cancelación con el estado previsto de la acción en curso en lugar de usar un retraso fijo de 250ms. La tarea estará terminada cuando la aserción de evidencia acotada y no reproducible determinísticamente pase, sin debilitar el contrato de evidencia de producción.

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

Evaluación

Stack tecnológico
typescript
Área
testing
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Tranquilo
Claridad
Bien especificado
Aptitud para principiantes
75/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.