Automattic / Automattic/wp-codebox
test: adaptive cancellation assertion races before partial transition
- Vorherrschende Sprache
- TypeScript
- Sterne
- 16
- Forks
- 4
- Ø Merge
- 59 Min.
- Gemergte PRs (30 T.)
- 131
Beschreibung
## 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.
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Rechercherichtung
Beginne mit tests/browser-adaptive-exploration.test.ts, insbesondere mit der fehlschlagenden Assertion um Zeile 444, und führe npm run test:browser-accessibility-oracles aus, um die Race Condition zu reproduzieren. Verfolge die teilweise fehlgeschlagene Aktion und das Timing der Abbruchanforderung und synchronisiere dann den Abbruch mit dem vorgesehenen Zustand der laufenden Aktion statt mit einer festen Verzögerung von 250ms. Erledigt ist die Aufgabe, wenn die Assertion für den begrenzten, nicht wiederholbaren Nachweis deterministisch besteht, ohne den Produktionsvertrag für Nachweise abzuschwächen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- typescript
- Bereich
- testing
- Issue-Typ
- Bug
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Klar beschrieben
- Anfängerfreundlichkeit
- 75/100