Automattic / Automattic/wp-codebox

test: adaptive cancellation assertion races before partial transition

Offen
#2,104 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
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

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.