Skip to Content
TestingNumatytieji testai

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

TestasVykdoma patikraNeįrodo
bootuptime sėkmingai baigiasi per QEMU guest agentKiekvieno bootloader kelio, aparatūros boot ar kernel įspėjimų nebuvimo
loginwhoami gali būti paleistas per root guest-agent kanaląInteraktyvaus slaptažodžio, SSH rakto, PAM, desktop-greeter ar galutinio naudotojo prisijungimo
packagesViena iš dpkg --list, rpm -qa ar pacman -Q pavykstaKad kiekvienas prompte prašytas paketas įdiegtas
networkDNS 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:

  • passed reiškia, kad vykdoma patikra grąžino tikėtą rezultatą.
  • failed reiškia, kad patikra vyko ir prieštaravo lūkesčiams.
  • error reiškia, kad harness negalėjo pateikti verdict.
  • skipped reiš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.