Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

Nový kód je pokryt, změřen jednou a dostane dvě otázky

Jedno měření pokrytí, s kódem testů mimo jmenovatel, drží spodní mez pro crate, spodní mez pro doménu relací/kontinuity a — invariant #214 — každý spustitelný řádek, kterého se změna dotkne.

status
stav funkce: stabilní

Co dělá

scripts/rust-coverage měří pokrytí spustitelného souboru v Rustu jednou — jeden instrumentovaný export, testovací kód vyloučený z pokrytého i z celku, aby přidaný test nikdy nelichotil číslu — a hlásí pokrytí řádků, funkcí a regionů jedním pravidlem. Tři kontroly čtou tento jediný soud. Práh crate (scripts/rust-coverage-threshold) je dolní mez pro celý spustitelný soubor. Doména session/continuity (scripts/session-coverage-domain) má vlastní práh pro řádky, funkce a regiony. Oba prahy jsou rohatky: každý je pokrytím, které jeho předmět naměřil při nastavení, a smí stoupat, nikdy klesat. A diferenciální kontrola (scripts/ci/coverage-differential, pravidlo project.new-code-is-covered) drží každý spustitelný řádek, funkci a region, který změna přidá nebo se jich dotkne — měřeno proti merge-base větve s trunkem, včetně pracovního stromu — takže změna, která zavádí nepokrytý kód, je odmítnuta, i když se celkové procento sotva pohne.

Co nedělá

Nikdy nevyžaduje splacení nedotčeného starého dluhu: diferenciální kontrola se dívá jen na řádky, kterých se změna dotkla, takže legacy_debt_after <= legacy_debt_before platí z konstrukce a new_debt == 0 je to, co vynucuje. Změněný řádek, který nemapuje na nic spustitelného — komentář, use, deklarace typu, testovací kód — není zjištění. Měří rozměry, které cargo-llvm-cov pro tento crate dává (řádek, funkce, oblast); mutačně netestuje, takže u predikátu, na jehož smyslu záleží, dokazuje, že řádek proběhl, ne že by špatný řádek shodil test — tyto subsystémy nesou vlastní adverzní sady a pokrytí je pro ně nutné, nikoli postačující.

Princip

Moduly schopností spustitelného souboru, které tato funkce pojmenovává, každý se schopnostmi, které skládá. Rozhraní, jichž každý dosahuje, jsou uvedena níže v části Rozhraní: jde o projekce jedné deklarace, ne o samostatné registrace.

Kontroly dokončení gates ověřeno chováním

Dokončení jako stav, o kterém rozhoduje repozitář, a ne tvrzení, které vyslovuje pracovník: validační kontroly, které tento repozitář deklaruje ve svém modelu CI, které z nich vybere vlastní sada změn úlohy, co každá naposledy ohlásila, zda tento verdikt stále popisuje strom, nad nímž vznikl, a tedy zda lze úlohu označit za dokončenou. Kontrola, která nikdy nic neohlásila, je `queued`, ne `pass`, běh, jehož soubory se od té doby změnily, je `stale` a odmítá přesně jako selhání, a kontrola, kterou změna nemůže ovlivnit, je `exempt`, ne neznámá.

Kde se nachází

doména
Dokončení — Hotovo je kontrakt, který repozitář vyhodnocuje řádek po řádku. Práce se nepřijme, dokud některý řádek selhává, a odmítnutí zůstává v záznamu.
oblasti práce
ověření
názvy
DoktrínaCI

Rozhraní

Každá schopnost za ní, na každém rozhraní, na které je promítnuta. Odkaz vede na referenci tohoto webu pro dané rozhraní; HTTP route a nástroj MCP odpovídá běžící majordomus serve, ne tento web.

Schopnosti za touto funkcí podle rozhraní
schopnostpříkazová řádkaHTTPnástroj MCP
gates.completion —žádné GET /api/v1/gates/completion majordomus_completion
gates.model —žádné GET /api/v1/gates majordomus_gates

Důkazy

Co je zaručeno

Každé tvrzení, které tato funkce pojmenovává, se stavem, který deklaruje jeho řádek, verdiktem, který podporují zaznamenané běhy, a testem, který o něm rozhoduje.

Pravidla, která jej drží

  • blokující Nový a změněný spustitelný kód je pokrytý testem; starý dluh se smí jen zmenšovatproject.new-code-is-covered

Odkud tato stránka pochází

soubor
.ai/repo/features/coverage.md
stejná odpověď
majordomus product show coverage

Prohledává názvy a popisy všech stránek, které tento web publikuje.