Clause
← Gesamte Dokumentation

Übersetzt aus dem englischen Original · 06042fa · 2026-10-09 · Auf Englisch lesen

Validierung

Aktuelle Basislinie

Plan 11 step 1, 2026-10-03, Commit b1a471f, Windows x64: clang-cl 23.1.2, LLVM SDK 23.1.2 (/MT, _ITERATOR_DEBUG_LEVEL=0), Lizard 1.24.0, clang-tidy 22.1.8, OTP-Pin 21776803ecd1 mit Orakel OTP 29.1.1 / ERTS 17.1.

PrüfungErgebnis
Frischer kombinierter Debug-CTest125/125, keine Auslassungen (729 s seriell; 85 s mit -j 16)
CTest im Schnellmodus (debug-fast)122 Tests, etwa 60 s
check-qualityBestanden; Lizard CCN 10, clang-tidy über 258 Produktionseinheiten
Optionale OTP-Audit-Tests14/14
regenerate.py --corpus all --check19/19 Korpora reproduzierbar
Fremde O0/O2-Objekte7 Ziele untersucht (Linux x86/x64/ARM/AArch64, Windows x86/x64, Apple Silicon)

Ausführen der Prüfstufe

Aus einer x64-Entwickler-Shell von Visual Studio mit C:\Program Files\LLVM\bin im PATH (die automatische SDK-Auswahl verwendet thirdparty/ wieder):

cmake --preset debug --fresh -DBUILD_TESTING=ON -G Ninja -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl
cmake --build build/debug
ctest --preset debug-fast                  # during development
ctest --preset debug -j 16                 # full mode, at feature completion
cmake --build build/debug --target check-quality      # changed files + dependents
cmake --build build/debug --target check-quality-all  # whole tree

Fixtures und Herkunft

Testdesign

Verhalten wird über die echte CLI, erzeugte Objekte, gelinkte native Konsumenten und OTP-Goldens getestet. Gezielte Unit-Tests bleiben nur dort, wo Quelltext den Zustand nicht erreichen kann, jeweils mit im Test angegebenem Zweck:

Fälle zu Dateisystemfähigkeiten (Links, Groß-/Kleinschreibungs-Aliase) melden Auslassungen pro Fall; sie stehen nie für das Bestehen eines ganzen Tests.

Plattform- und Sanitizer-Status

Verlauf

Verdichtet aus den früheren schrittweisen Aufzeichnungen (Originale in der Git-Historie bis Commit 2777c98). Sofern nicht anders angegeben: Windows x64, LLVM 23.1.2, Pin 21776803ecd1, Orakel OTP 29.1.1 / ERTS 17.1. Testzahlen sind vollständige CTest-Durchläufe ohne Auslassungen.

DatumMeilensteinTestsQualitätseinheitenAnmerkungen
2026-09-19Parser phase VI (macOS arm64, OTP 29.1 751f87b7, Orakel 29.0.5)46vollständig344/344 Produktionen belegt; Korpus aus 10 Dateien
2026-09-20Projekte (macOS arm64)64vollständigDebug, Nur-Compiler, ASan+UBSan
2026-09-28Testmigration auf CLI-Abläufe74/75—Basislinie 78/93; Stack-Überlauf in parser_hardening später mit 8-MiB-Stack behoben
2026-09-28Reparatur der Windows-Prüfstufe75vollständigLizard + clang-tidy sauber
2026-09-29Compiler-Meilenstein steps 1–46103182Nur-Compiler 80, Nur-Runtime 16, Runtime-ASan 16
2026-10-01PG1 semantische Matrix und Nachweise104—Quelltext-Hashes festgelegt
2026-10-01PG2 Fehlerkanal108—ABI rev 2
2026-10-01PG3 Atome109189ABI rev 3
2026-10-01PG4 Bindungen mit Gültigkeitsbereich11119126 Zulässigkeitsfälle
2026-10-02PG5 Mustersemantik11319692 Zulässigkeitsmodule
2026-10-02PG6 Matching von Immediates11419934 Aufrufe
2026-10-02PG7 Guards auf Immediates1192051.689 Aufrufe
2026-10-02PG8 Kontrollfluss in Guards1202072.075 Aufrufe
2026-10-02PG9 geordnete Klauseln1212081.020 Aufrufe
2026-10-02PG10 Matches im Rumpf1222091.666 Aufrufe
2026-10-02PG11 stabiler Heap und Wurzeln123213ABI rev 4
2026-10-02PG12 Tupel/Listen/Strings1252214.801 Aufrufe
2026-10-02PG13 beliebig große Ganzzahlen12723116.065 Aufrufe
2026-10-02PG14 Gleitkommazahlen12923814.436 Aufrufe
2026-10-02PG15 Maps1312448.010 Aufrufe
2026-10-02PG15a OTP-freie Goldens11824414 Korpora, 49.959 Werte; Audits optional
2026-10-02PG16 bitstrings1202538.826 Aufrufe
2026-10-03PG17 Tupel-records1212571.025 Ergebnisse, 29 semantische Fälle
2026-10-03PG18 Guard-Katalog12225781 Zeilen, 5.033 Ergebnisse
2026-10-03PG19 Bindungsfakten123258822 Ergebnisse, 976 Dominanzprüfungen
2026-10-03PG20 Abschluss12425819 Korpora, 67.634 Werte, 1.969 vorgegebene Ergebnisse
2026-10-03OTP-Quelltext-Audit125258Kopierte OTP-Dateien durch lokale Fragmente ersetzt
2026-10-03Basislinie Plan 11 step 1125258Siehe aktuelle Basislinie
2026-10-03Plan 11 step 2 Programm-Fixtures126258Sechs OTP-Goldens; Schnellmodus 123 Tests; vollständig -j 16 83 s
2026-10-03Plan 11 step 4 Termausgabe128 schnell2659.542 Goldens für ~w/display; 154 kompilierte display-Aufrufe unter allen Richtlinien; clang-tidy mit einem Job ausgeführt (gleichzeitige Läufe brachten das Werkzeug bei unveränderten Einheiten zum Absturz)
2026-10-04Plan 11 step 8 Runner für ausführbare Dateien (phase B abgeschlossen)138 (135 schnell)272Fälle demo, exits unter acht Richtlinien-/Treiberkombinationen; vollständig -j 16 235 s
2026-10-04Plan 11 step 8I klassischer Heap (phase C abgeschlossen)144 (140 schnell)276Vollständig -j 16 370 s: 143/144, codegen_dependency lief unter Last nach 120 s in ein Timeout und bestand allein in 29 s; Lizard-all 0 Warnungen; tidy-all bestand mit einem Job nach einem stillen Abbruch mit zwei Jobs
2026-10-04Plan 11 step 9 case und begin146 (142 schnell)114 geändertSchnell 142/142; betroffene Tests 7/7 im Vollmodus; Lizard 0 Warnungen; tidy bestand mit einem Job nach einem stillen Abbruch mit zwei Jobs
2026-10-05Plan 11 step 10 if147 (143 schnell)114 geändertSchnell 143/143; betroffene Tests 8/8 im Vollmodus; Lizard 0 Warnungen; tidy bestanden
2026-10-05Plan 11 step 11 Auslösen im Quelltext148 (144 schnell)124 geändertSchnell 144/144; betroffene Tests 22/22 im Vollmodus; Lizard 0 Warnungen; tidy bestanden
2026-10-05Plan 11 step 12 catch Expr149 (145 schnell)277Schnell 145/145; betroffene Tests 25/25 im Vollmodus; Lizard 0 Warnungen; tidy bestanden
2026-10-05Plan 11 step 13 try ... of ... catch150 (146 schnell)189 geändertSchnell 146/146; Lizard 0 Warnungen; tidy bestanden
2026-10-05Plan 11 step 14 try ... after153 (149 schnell)2 geändertSchnell 149/149; Lizard 0 Warnungen; tidy bestanden
2026-10-05Plan 11 step 15 Stacktraces und raise/3154 (150 schnell)129 geändertSchnell 150/150; Lizard 0 Warnungen; tidy bestanden
2026-10-05Plan 11 step 16 maybe (phase D abgeschlossen)155 (151 schnell)277Schnell 151/151; vollständig -j 16 155/155 in 259 s; Lizard-all 0 Warnungen; tidy-all bestanden
2026-10-05Plan 11 step 18 rekursive Aufrufgraphen156 (152 schnell)91 geändertSchnell 152/152; betroffene Tests 13/13 im Vollmodus; Lizard 0 Warnungen; tidy bestanden
2026-10-05Plan 11 step 19 explizite Frames und Endaufrufe157 (153 schnell)278Schneller und vollständiger CTest bestanden (mit dem Fall aus step 20: 154/154, 158/158); Konfiguration mit clang-cl; Lizard 0 Warnungen; tidy bestanden
2026-10-05Plan 11 step 20 tiefe Rumpfrekursion und Stack-Budget158 (154 schnell)278Schnell 154/154; vollständig 158/158; Lizard 0 Warnungen; tidy bestanden
2026-10-06Plan 11 step 21 List-comprehensions159 (155 schnell)geändertSchnell 155/155; betroffene Tests im Vollmodus; Lizard 0 Warnungen; tidy bestanden
2026-10-06Plan 11 step 22 Binary- und Map-comprehensions (phase E abgeschlossen)160 (156 schnell)alleSchnell 156/156; vollständig -j 12 160/160 in 275 s; Lizard-all 0 Warnungen; tidy-all bestanden nach Behebung von vier Befunden in neuem Code
2026-10-06Plan 11 step 23 Wurzelinventar, SafePoint, lebende Register160 (156 schnell)50 geändertSchnell 156/156; Lizard 0 Warnungen; tidy bestanden
2026-10-06Plan 11 step 26 Bereinigung aus erzeugtem Code161 (157 schnell)63 geändertSchnell 157/157; vollständig -j 12 161/161 in 107 s; Lizard 0 Warnungen; tidy bestanden
2026-10-06Plan 11 step 27 Heap-Erschöpfung nach Bereinigung162 (158 schnell)50 geändertSchnell 158/158; vollständig -j 12 162/162 in 108 s; Lizard 0 Warnungen; tidy bestanden
2026-10-06Plan 11 step 27 Korrektur: keine standardmäßigen Speicherobergrenzen162 (158 schnell)50 geändertVollständig -j 12 158/162 in 120 s, 4 codegen_failure_* behoben, indem out_of_memory erwartet wird, danach 10/10 betroffene; Lizard 0 Warnungen; tidy bestanden
2026-10-06Plan 11 step 27 Nacharbeit: keine Obergrenzen für binaries oder Prozessanzahl, --max-atoms164 (160 schnell)281Schnell 160/160; vollständig -j 12 164/164 in 105 s; Lizard 0 Warnungen; tidy-all bestanden
2026-10-06Plan 11 step 28 Graphkopien zwischen Heaps, geteilte Off-Heap-Puffer166 (162 schnell)71 geändertSchnell 162/162; vollständig -j 12 166/166 in 130 s; Lizard 0 Warnungen; tidy bestanden
2026-10-07Plan 11 step 29 record-Updates167 (163 schnell)38 geändertSchnell 163/163; Lizard 0 Warnungen; tidy bestanden; records-Korpus reproduzierbar unter OTP
2026-10-07Plan 11 step 30 record_info/2168 (164 schnell)42 geändertSchnell 164/164; vollständig -j 12 168/168 in 119 s; Lizard 0 Warnungen; tidy bestanden
2026-10-07Plan 11 step 31B Zellen für native records und CLAUSE_record_v1 (ABI 6)169 (165 schnell)283 geändertSchnell 165/165; vollständig -j 12 169/169 in 122 s; Lizard 0 Warnungen; tidy bestanden nach zwei Korrekturen
2026-10-07Plan 11 step 31C lokale native records170 (166 schnell)285 geändertSchnell 166/166; vollständig -j 12 170/170 in 146 s; Lizard und tidy bestanden nach Komplexitätskorrekturen
2026-10-07Plan 11 step 31D qualifizierte und importierte native records171 (167 schnell)124 geändertSchnell 167/167; vollständig -j 12 171/171 in 129 s; Lizard 0 Warnungen; tidy bestanden nach drei Korrekturen
2026-10-07Plan 11 step 31E anonyme native records (step 31 abgeschlossen)172 (168 schnell)33 geändertSchnell 168/168; vollständig -j 12 172/172 in 124 s; Lizard 0 Warnungen; tidy bestanden nach einer Korrektur
2026-10-07Plan 11 step 32 Funktionswerte fun F/A, fun M:F/A (ABI 7)173 (169 schnell)289 geändertSchnell 169/169; vollständig -j 12 173/173 in 122 s; Lizard und tidy bestanden nach Komplexitätskorrekturen
2026-10-07Plan 11 step 33 Closures mit erfassten Variablen175 (171 schnell)134 geändertSchnell 171/171; vollständig -j 12 175/175 in 126 s; Lizard und tidy bestanden nach Komplexitätskorrekturen
2026-10-07Plan 11 step 34 benannte funs176 (172 schnell)132 geändertSchnell 172/172; vollständig -j 12 176/176 in 152 s; Lizard 0 Warnungen; tidy bestanden
2026-10-07Plan 11 step 35 dynamische Aufrufe M:F(Args), apply/2,3, fun M:F/A zur Laufzeit (ABI 8)177 (173 schnell)290 (Analysator-Konfiguration geändert)Schnell 173/173; vollständig -j 12 177/177 in 142 s; Lizard 0 Warnungen und tidy bestanden nach einer Komplexitäts- und drei tidy-Korrekturen
2026-10-06Plan 11 step 27E Bignum-Grenze von ERTS, error:system_limit165 (161 schnell)157 geändertSchnell 161/161; vollständig -j 12 165/165 in 130 s; Lizard 0 Warnungen; tidy bestanden; 21 Goldens für ausführbare Dateien reproduzierbar unter OTP
2026-10-06Plan 11 step 27D keine Obergrenzen für Map-Größe oder Schlüsselarbeit164 (160 schnell)13 geändertSchnell 160/160; vollständig -j 12 164/164 in 115 s; nach einer tidy-Korrektur in bit_order bestehen 35 betroffene Tests; Lizard 0 Warnungen; tidy bestanden
2026-10-06Plan 11 step 27C Tupel-Stelligkeitsgrenze 16.777.215164 (160 schnell)51 geändertSchnell 160/160; vollständig -j 12 164/164 in 121 s; Lizard 0 Warnungen; tidy bestanden
2026-10-06Plan 11 step 27B keine Obergrenzen für Listenlänge oder Vergleichsarbeit164 (160 schnell)4 geändertSchnell 160/160; vollständig -j 12 164/164 in 125 s; Lizard 0 Warnungen; tidy bestanden
2026-10-06Plan 11 step 27A runtime-weites Speicherlimit und --max-heap/stack/memory164 (160 schnell)49 geändertSchnell 160/160; vollständig -j 12 164/164 in 118 s; nach einer tidy-Korrektur in ProcessStack::grow bestehen 42 betroffene Tests; Lizard 0 Warnungen; tidy bestanden

PG = Schritt des Muster-/Guard-Plans (archiviert in .agents/00-finished.md).