Privzeti testi
Testiranje je v normaliziranem receptu privzeto vključeno s štirimi
vnaprej določenimi imeni testov: boot, login, packages in network. To so
majhne kontrole v gostu, ne celoten sprejemni nabor. Recept lahko testiranje
izklopi ali zamenja seznam, nekateri tipi artefaktov pa uporabljajo ožji
kontrakt.
Kaj privzeti testi dejansko dokazujejo
| Test | Izvedena kontrola | Ne dokazuje |
|---|---|---|
boot | uptime se uspešno konča prek QEMU guest agent | Vsake poti zaganjalnika, zagona na strojni opremi ali odsotnosti opozoril jedra |
login | whoami je mogoče zagnati prek root kanala guest agenta | Interaktivnega gesla, SSH ključa, PAM, desktop greeterja ali prijave končnega uporabnika |
packages | Ena od dpkg --list, rpm -qa ali pacman -Q uspe | Da je nameščen vsak paket, zahtevan v promptu |
network | DNS razreši example.com in TCP povezava na vrata 443 po omejenih ponovitvah uspe | Splošnega stanja interneta, HTTP vsebine, vsakega vmesnika ali zasnove brez omrežja |
Pot Ubuntu 24.04 CIS odstrani splošno omrežno kontrolo in namesto nje uporabi assertion feature, vezano na readiness. Pri receptu brez pričakovane internetne poti se neuspešna splošna omrežna kontrola lahko spremeni v opozorilo.
Kontrole feature in capabilities
Runner združi tudi kontrole iz metapodatkov vključenih feature, legacy hook test files, frozen capability plan, eksplicitnih custom tests in morebitnih benchmark tests. Podvojene assertions se odstranijo. Assertions z znanimi manjkajočimi parametri se opustijo s strežniškim opozorilom; preglejte nastali test plan, da opuščena kontrola ni sprejeta za uspeh.
Primeri: preverjanje nastavljenih SSH vrat, stanja storitve, zahtevanega paketa ali artefakta, specifičnega za recept. Obseg je odvisen od vključene feature: sama vključitev feature ne zagotavlja popolnega nabora assertions za to feature.
Branje rezultata
Uporabite vrstice assertion in evidence, ne le skupnega badge:
passedpomeni, da je izvedljiva kontrola vrnila pričakovani rezultat.failedpomeni, da je kontrola tekla in nasprotovala pričakovanju.errorpomeni, da harness ni mogel izdati verdict.skippedpomeni, da kontrola ni tekla, na primer ker ciljni VM ni bil prisoten.
Napake in preskoki niso uspehi. Dokončan image in uspešen test run sta ločena stanja; certificiranje je tretja vrata.
Določite močnejša sprejemna merila
Za dejansko obremenitev dodajte assertions, relevantne za prompt. Na primer:
{
"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 }
}
]
}Nato preglejte zgrajen image v konzoli in za trditve, vezane na strojno opremo, testirajte na reprezentativni strojni opremi. Glej Lastne assertions in Vrste assertions.