Skip to Content
TestingAlapértelmezett tesztek

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

TesztVégrehajtott ellenőrzésNem bizonyítja
bootAz uptime sikeresen kilép a QEMU guest agenten keresztülMinden bootloader útvonalat, hardveres bootot vagy a kernel figyelmeztetések hiányát
loginA whoami futtatható a root guest-agent csatornánInteraktív jelszót, SSH kulcsot, PAM-et, desktop greeter-t vagy végfelhasználói bejelentkezést
packagesA dpkg --list, rpm -qa vagy pacman -Q egyike sikeresHogy a prompt által kért minden csomag telepítve van
networkA DNS feloldja az example.com-ot, és a 443-as portra TCP kapcsolat korlátozott újrapróbálkozások után sikeresAz 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 passed azt jelenti, hogy a futtatható ellenőrzés a várt eredményt adta.
  • A failed azt jelenti, hogy az ellenőrzés lefutott és ellentmondott az elvárásnak.
  • Az error azt jelenti, hogy a harness nem tudott verdict-et adni.
  • A skipped azt 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.