Alapértelmezett tesztek
A normalizált receptben a tesztelés alapértelmezetten be van kapcsolva, négy
előre definiált tesztnévvel: boot, login, packages és network. Ezek
kisméretű guest ellenőrzések, nem teljes elfogadási csomag. A recept
kikapcsolhatja a tesztelést vagy lecserélheti a listát, és egyes artefakt
típusok szűkebb szerződést használnak.
Mit bizonyítanak valójában az alapértelmezettek
| Teszt | Végrehajtott ellenőrzés | Nem bizonyítja |
|---|---|---|
boot | Az uptime sikeresen kilép a QEMU guest agenten keresztül | Minden bootloader útvonalat, hardveres bootot vagy a kernel figyelmeztetések hiányát |
login | A whoami futtatható a root guest-agent csatornán | Interaktív jelszót, SSH kulcsot, PAM-et, desktop greeter-t vagy végfelhasználói bejelentkezést |
packages | A dpkg --list, rpm -qa vagy pacman -Q egyike sikeres | Hogy a prompt által kért minden csomag telepítve van |
network | A DNS feloldja az example.com-ot, és a 443-as portra TCP kapcsolat korlátozott újrapróbálkozások után sikeres | Az internet általános állapotát, HTTP tartalmat, minden interfészt vagy air-gapped kialakítást |
Az Ubuntu 24.04 CIS útvonal eltávolítja az általános hálózati ellenőrzést, és helyette a readiness-gated feature assertion-t használja. Olyan receptnél, ahol nincs várt internetes útvonal, a sikertelen általános hálózati ellenőrzés figyelmeztetéssé alakítható.
Feature és capability ellenőrzések
A runner összevonja a bekapcsolt feature metaadatokból, legacy hook test files-ből, a frozen capability plan-ből, explicit custom tests-ből és esetleges benchmark tests-ből érkező ellenőrzéseket is. A duplikált assertions eltávolításra kerülnek. A hiányzó ismert paraméterekkel rendelkező assertions szerver figyelmeztetéssel kiesnek; nézze át a kapott test plan-t, hogy a kiesett ellenőrzést ne vegye sikernek.
Példák: a beállított SSH port, szolgáltatás állapota, kért csomag vagy receptspecifikus artefakt ellenőrzése. A lefedettség a bekapcsolt feature-től függ: a feature bevonása önmagában nem garantál teljes assertion készletet ehhez a feature-höz.
Az eredmény olvasása
Használja az assertion sorokat és az evidence-t, ne csak az összesítő badge-et:
- A
passedazt jelenti, hogy a futtatható ellenőrzés a várt eredményt adta. - A
failedazt jelenti, hogy az ellenőrzés lefutott és ellentmondott az elvárásnak. - Az
errorazt jelenti, hogy a harness nem tudott verdict-et adni. - A
skippedazt jelenti, hogy az ellenőrzés nem futott le, például mert a cél VM hiányzott.
A hibák és kihagyások nem sikeres futások. A kész image és a sikeres test run külön állapot; a certifikáció harmadik kapu.
Erősebb elfogadási kritériumok
Valós workload esetén adjon hozzá prompt-hoz illő assertions-t. Például:
{
"description": "Nginx serves the local health endpoint",
"assertions": [
{
"type": "service_running",
"description": "Nginx is active",
"params": { "service": "nginx" }
},
{
"type": "http_responds",
"description": "Health endpoint returns 200",
"params": { "url": "http://localhost/health", "status": 200 }
}
]
}Ezután vizsgálja meg a felépített image-et a konzolon, és hardverhez kötött állításoknál reprezentatív hardveren teszteljen. Lásd még: Egyedi assertions és Assertion típusok.