Skip to main content

stage2-olean-test

Diagnose a spurious stage1 test failure caused by olean-persisted compiler changes. Use when a stage1 test fails unexpectedly and the change adds or modifies an environment extension or other information persisted into .olean files.

Quellinformationen

Repository
leanprover/lean4
Letzte Quellaktivität
10. Juni 2026 um 11:48
Erkannte Sprache von SKILL.md
Englisch
Sterne
9.494
Forks
1.037

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
stage2-olean-test
description
Diagnose a spurious stage1 test failure caused by olean-persisted compiler changes. Use when a stage1 test fails unexpectedly and the change adds or modifies an environment extension or other information persisted into .olean files.
allowed-tools
Bash, Read
# Stage2 Is Required for Changes to Olean-Persisted Compiler Information When a change alters information that is *persisted into `.olean` files* (e.g. a new or changed environment extension that the compiler reads back), a stage1 test run can fail spuriously: stage1's `src/` (including `Init`) is compiled by the **stage0** compiler, which lacks the change, so the stage1 `lean` binary imports oleans that predate the change. In that situation the relevant tests must be run against **stage2** instead, where the new compiler compiles everything consistently. So: on a test failure, if the change depends on changed olean information, test stage2 instead. ## Procedure Building stage2 is expensive, so **confirm with the user before switching to a stage2 build.** For the actual build/test commands (`make stage2`, `clean-stdlib`, per-module Lake builds, and running tests against stage2), use the **`stage2-build`** skill.
Auf GitHub ansehen