Execution — bi-13-tests-wpt
Steps extracted from CONCEPTS.md. Read the concepts first; this file is the doing.
Record results in observation.md; tick checkpoints in verification.md.
2.3 Expected failures are declarative
Chromium does not delete tests it fails. It records them, with bug links, in
third_party/blink/web_tests/TestExpectations.
TestExpectationsis a map of Chromium's known interop gaps. Every entry is a documented, accepted, currently-wrong behaviour with a bug attached.
For this track that file has two uses: it is the richest source of tractable first contributions (§24 rung 3), and it is a genuine input to product risk assessment — if your app depends on a behaviour listed there, you have a supported reason to expect trouble.
3. Practice
Commands and paths: bi-00-roadmap/docs/chromium-build-debug-trace.md §6.
Without a build you can still do most of the reading work here: locate tests, read
TestExpectations, read WPT sources, and map spec → test → implementation.
6. Lab
- Layer identification. For five behaviours you studied in
bi-03,bi-04,bi-07,bi-08,bi-09, find the test at each layer that covers it, or establish that none exists. - Run each kind once. A Blink unit test, a web test directory, and a WPT.
- Write a
testharness.jstest for the parsing lab's Case B. Verify it passes on Chromium and reason about whether it should pass on other engines. - Mine
TestExpectations. Find three currently-failing WPTs in areas you have studied. For each: read the bug, read the spec, and write one paragraph on whether it looks tractable. Keep this list — it is yourbi-14candidate pool. - The break-and-observe loop (§23). Pick a behaviour, find the WPT, find the Blink implementation, deliberately break it, watch the test fail, restore. This proves you have connected spec → test → implementation.
Deliverable: the candidate list from (4), with a tractability judgement each.
7. Failure Lab
- Write a test that passes without your change. Explain how you would have caught this.
- Rebaseline a pixel test to accept a wrong rendering. Notice how easy it was — this is the argument for preferring reftests.
- Fix a bug at the wrong layer: patch a symptom in a caller rather than the cause. Write the review comment you would expect to receive.