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.

Zdokumentovaný jednořádkový instalační příkaz se skládá z částí modelu a dokument, který uvádí jiný, shodí sadu testů

Příkaz, který člověk vloží, není řetězec, který někdo napsal do dokumentu. Jsou to čtyři

deklarovaný stavdeklarovaný stav: zaručeno Deklarováno jako deterministické a blokující, implementováno a s uvedeným behaviorálním testem, který to má dokázat. Zda to zaznamenaný běh podporuje, říká verdikt důkazů zobrazený vedle.

zaznamenané důkazyzaznamenané důkazy: nespuštěno Deklarováno jako zaručené, ale nepodložené zaznamenaným během: test je pojmenován, ale žádný úspěšný běh nad současnými vstupy zaznamenán není. jak se zaznamenávají důkazy

Příkaz ke stažení, základní URL, název skriptu a shell jsou čtyři pole; příkaz je jejich složení. README.md a průvodce instalací se proti němu kontrolují, nevěří se jim.

Co to znamená

Příkaz, který člověk vkládá, není řetězec, který někdo napsal do dokumentu. Jsou to čtyři pole share/distribution.yaml — příkaz ke stažení, základní URL, název skriptu a shell — složená na jednom místě:

{download_command} {base_url}/{script} | {shell}

README.md, docs/INSTALL.md, úvodní stránka, stránka začínáme i vlastní nápověda instalátoru ukazují toto složení. Web a průvodce se z něj generují; README se proti němu kontroluje.

Princip

Model::install_command ho skládá, majordomus distribution show na něj odpovídá a site/data/registry/distribution.json ho nese pro šablony. Behaviorální případ test/cases/84_distribution_model.sh se modelu ptá na příkaz a vyžaduje, aby se doslova objevil v README.md a v instalační příručce.

Jak to vidět

majordomus distribution show --format json | grep install_command
bash test/run.sh 84_distribution_model

Co nepokrývá

Text kolem příkazu píší lidé a negeneruje se. Zaručeno je, že se samotný příkaz nemůže tiše lišit mezi README, průvodcem a webem — ani po změně základní URL nebo názvu skriptu.

Proč existuje

Překlep v instalačním příkazu je jedinečně drahá chyba dokumentace: selže u každého čtenáře, selže u první věci, kterou zkusí, a autor ho nevidí, protože ho nikdy nevkládá. Odvozování činí překlep nemožným; kontrola jediného dokumentu, který odvozen není, způsobí, že selže sada testů, a ne čtenář.

Detail vykreslený z docs/claims/install-command-is-derived.md.

Od tvrzení k důkazu

  1. 1 · veřejné tvrzení

    Zdokumentovaný jednořádkový instalační příkaz se skládá z částí modelu a dokument, který uvádí jiný, shodí sadu testů

    Vytvořeno na Instalace, Projekce.

  2. 2 · kanonické tvrzení

    install-command-is-deriveddeklarovaný stav: zaručeno v docs/CLAIMS.yaml

    Definováno v přečtěte si to na tomto webu · docs/INSTALL.md

  3. 3 · implementace

    apps/majordomus-cli/src/distribution/mod.rs

  4. 4 · test a scénáře

    Test: test/cases/84_distribution_model.sh

    Provedeno v Install the tool in one command, on a machine with no toolchain.

  5. 5 · zaznamenané běhy

    zaznamenané důkazy: nespuštěno jak se zaznamenávají důkazy

Ověřte si to sami

Test běží v jednorázovém dočasném repozitáři a ověřuje chování, ne řetězec ve zdrojovém kódu.

z klonu repozitáře
bash test/run.sh 84_distribution_model

Kde se toto tvrzení používá

pokryté odpovědnosti

Související tvrzení stejná implementace

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