Numatytieji testai
Normalizuotame recepte testavimas įjungtas pagal numatymą; naudojami keturi
iš anksto apibrėžti testų pavadinimai: boot, login, packages ir network.
Tai mažos svečio patikros, ne visa priėmimo rinktinė. Receptas gali išjungti
testavimą arba pakeisti sąrašą, o kai kurie artefakto tipai taiko siauresnę sutartį.
Ką numatytieji testai iš tikrųjų įrodo
| Testas | Vykdoma patikra | Neįrodo |
|---|---|---|
boot | uptime sėkmingai baigiasi per QEMU guest agent | Kiekvieno bootloader kelio, aparatūros boot ar kernel įspėjimų nebuvimo |
login | whoami gali būti paleistas per root guest-agent kanalą | Interaktyvaus slaptažodžio, SSH rakto, PAM, desktop-greeter ar galutinio naudotojo prisijungimo |
packages | Viena iš dpkg --list, rpm -qa ar pacman -Q pavyksta | Kad kiekvienas prompte prašytas paketas įdiegtas |
network | DNS išsprendžia example.com ir TCP ryšys su 443 prievadu pavyksta po ribotų pakartojimų | Bendros interneto būklės, HTTP turinio, kiekvieno interface ar air-gapped projekto |
Ubuntu 24.04 CIS kelias pašalina bendrinę tinklo patikrą ir vietoje jos naudoja readiness-gated feature assertion. Receptas be tikėtino interneto maršruto gali turėti nepavykusį bendrinį tinklo testą paverstą įspėjimu.
Feature ir capability patikros
Vykdytojas taip pat sujungia patikras iš įjungtų feature metaduomenų, legacy
hook test failų, įšaldyto capability plano, aiškių custom testų ir bet kokių
benchmark testų. Pasikartojančios assertions pašalinamos. Assertions su žinomai
trūkstamais parametrais atmestos su serverio įspėjimu; peržiūrėkite galutinį
testų planą, kad atmesta patikra nebūtų laikoma pass.
Pavyzdžiui tikrinamas sukonfigūruotas SSH prievadas, paslaugos būsena, prašytas paketas ar receptui specifinis artefaktas. Aprėptis priklauso nuo įjungtos feature: feature įtraukimas pats savaime negarantuoja visos assertions rinktinės.
Rezultato skaitymas
Naudokite assertion eilutes ir įrodymus, ne tik bendrinį badge:
passedreiškia, kad vykdoma patikra grąžino tikėtą rezultatą.failedreiškia, kad patikra vyko ir prieštaravo lūkesčiams.errorreiškia, kad harness negalėjo pateikti verdict.skippedreiškia, kad patikra nevyko, pvz., nes tikslinė VM nebuvo.
Klaidos ir praleidimai nėra pass. Užbaigtas atvaizdas ir passed test run yra
atskiros būsenos; sertifikavimas yra trečias vartai.
Stipresni priėmimo kriterijai
Realaus darbo krūviui pridėkite su promptu susijusias assertions. Pavyzdžiui:
{
"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 }
}
]
}Tada console peržiūrėkite pastatytą atvaizdą ir, aparatūrai susietiems teiginiams, testuokite reprezentatyvioje aparatūroje. Žr. Pasirinktinės patikros ir Patikros tipai.