Automattic / Automattic/wp-codebox

test: adaptive cancellation assertion races before partial transition

Aperta
#2,104 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
TypeScript
Stelle
16
Fork
4
Merge medio
59m
PR unite (30g)
131

Descrizione

## 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.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia da tests/browser-adaptive-exploration.test.ts, soprattutto dall’assertion fallita intorno alla riga 444, ed esegui npm run test:browser-accessibility-oracles per riprodurre la race condition. Traccia l’azione parzialmente fallita e la temporizzazione della cancellazione, quindi sincronizza la cancellazione con lo stato previsto dell’azione in corso invece di usare un ritardo fisso di 250ms. Il lavoro è completato quando l’assertion sull’evidenza limitata e non riproducibile supera il test in modo deterministico, senza indebolire il contratto dell’evidenza di produzione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
typescript
Ambito
testing
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Tranquilla
Chiarezza
Specificata chiaramente
Idoneità per principianti
75/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.