Důkazy
Co skutečně běželo, proti kterému commitu a zda to ještě něco dokazuje. Matice tvrzení váže tvrzení k testu cestou; ledger pod .ai/repo/evidence zaznamenává poslední provedení každého testu s commitem, stavem stromu, otiskem vlastního zdroje testu, časem, původem a příkazem, který jej spustí znovu. Spojení obou odpovídá, za každé tvrzení, zda je repozitář může poctivě nazvat prokázaným — a rozlišuje běh zaznamenaný proti tomuto samému commitu od takového, jehož vstupy se od té doby prostě nezměnily, protože splynutí těchto dvou je způsob, jak zelený odznak přestane něco znamenat.
Co skutečně běželo, proti kterému commitu a zda to ještě něco dokazuje. Matice tvrzení váže tvrzení k testu cestou; ledger pod .ai/repo/evidence zaznamenává poslední provedení každého testu s commitem, stavem stromu, otiskem vlastního zdroje testu, časem, původem a příkazem, který jej spustí znovu. Spojení obou odpovídá, za každé tvrzení, zda je repozitář může poctivě nazvat prokázaným — a rozlišuje běh zaznamenaný proti tomuto samému commitu od takového, jehož vstupy se od té doby prostě nezměnily, protože splynutí těchto dvou je způsob, jak zelený odznak přestane něco znamenat.
- module evidence
- builtin
- behaviorally_verified
- 5 schopností
Schopnosti
Každý je složen v souboru tohoto modulu; každý má vlastní stránku.
evidence.claimJedno tvrzení se stavem důkazu, za ním stojící provedení — výsledek, doba trvání, commit, stav stromu, digest, čas a původ — příkaz, který ho reprodukuje, a ostatní tvrzení, která dokazuje tentýž test. Tvrzení, které matice nedeklaruje, je not-found, nikoli prázdná odpověď, protože překlep čtený jako „toto tvrzení nemá důkazy“ je jediná odpověď, kterou tato schopnost nesmí nikdy dát.query · behaviorally_verified · majordomus_evidence_claim · GET /api/v1/evidence/claimevidence.recordČte, co běhy už zapsaly — TSV zprávu sady, výstup cargo test, shrnutí pokrytí — do každého výsledku přenese, co ten běh změřil o svém vlastním checkoutu (commit a strom, z měření, které zapsal `evidence stamp`), s otiskem zdroje samotného testu, časem a původem, a sloučí to do ledgeru. Zaznamenává; nic nerozhoduje: případ, který selhal, je případ, o kterém runner řekl, že selhal, a test, který žádná zpráva nejmenovala, zůstane přesně tak, jak byl, takže zaznamenání jednoho případu nikdy nesmaže důkazy pro ostatní. Odmítne strom bez commitu, měření jiného commitu nebo jiné zprávy, místní měření, které neuvádí žádnou zprávu, a zprávu z CI bez měření; místní zpráva zaznamenaná bez něj nese strom neznámý, který se nikdy nečte jako prokázaný. Každé zaznamenání vrátí záznam běhu (jeho commit, strom, který běh každé zprávy změřil, jeho součty a co chybělo, bylo zahozeno či neznámé, a shrnutí pokrytí vázané na jeho commit) a --ledger local zapisuje jen do ignorovaného místního ledgeru. Binárka crate, která nespustila žádný test nebo jen filtrovanou podmnožinu, se zaznamená jako přeskočení a to, co zatím nemůže pojmenovat žádné tvrzení (vlastní unit testy crate, jeho doctesty), se uvede jako zahozené.command · behaviorally_verifiedevidence.reportCelá matice tvrzení spojená s knihou a posouzená u předloženého revize: ve výchozím stavu pracovní strom, nebo vyčtený commit tak, jak byl commitnut, čtený z knihy, kterou ten commit drží. U každého tvrzení: stav důkazu, věta vysvětlující, jak byl tento stav odvozen, proč, když stav sám neříká, provedení za ním, soubory, které se od něj změnily, a příkaz, který ho vytvoří znovu. Běh na commitu, který předložená revize neobsahuje, je zastaralý, test, který odmítl běžet, není spuštěn, a běh, který drží pracovní kniha a kniha předloženého commitu ne, může jedině zadržet proven. Součty počítají celou matici, i když je odpověď filtrována, a nálezy jmenují každé tvrzení, které deklaruje záruku, jíž důkazy nepodporují. Uchováno na stav checkoutu, nikdy déle: kniha je soubor, který se mění mimo tento proces, a její úprava, úprava testu nebo jakéhokoli sledovaného souboru, nový nesledovaný soubor, commit či nový ref je nová odpověď.dotaz · behaviorally_verified · majordomus_evidence · GET /api/v1/evidenceevidence.stampJedno měření, které runner provede na konci svého běhu, pro evidence record --provenance: commit; strom, bez ohledu na knihu důkazů a vlastní nesledované výstupy běhu, nikdy ne sledovanou změnu; producent; jeho toolchain; verze zapisovače; digest reportu; hostitel; CI běh. Nic nezapisuje. Nabízeno jen v příkazové řádce, protože čte cestu, kterou jmenuje volající.query · behaviorally_verifiedevidence.testJeden test — podle identity nebo podle cesty, kterou jej tvrzení jmenuje — s jeho posledním provedením, zda jeho zdroj stále hashuje na to, co provedení zaznamenalo, příkazem, který jej spustí znovu, a každým tvrzením, které jej jmenuje. Je to opak evidence.claim a čte stejné odvození, takže se oba směry nemohou rozcházet.query · behaviorally_verified · majordomus_evidence_test · GET /api/v1/evidence/test
Tvrzení implementovaná v tomto modulu
Připojeno souborem, který každé tvrzení implementuje; každé odkazuje na svou stránku s implementací a testem, který je dokazuje.