Skip to Content
TestingStandardtester

Standardtester

Testning är aktiverad som standard i ett normaliserat recept, med fyra fördefinierade testnamn: boot, login, packages och network. Det här är små gästkontroller, inte en fullständig acceptanssvit. Ett recept kan stänga av testning eller ersätta listan, och vissa artefakttyper använder ett smalare kontrakt.

Vad standardtesterna faktiskt visar

TestUtförd kontrollVisar inte
bootuptime avslutas med framgång via QEMU guest agentVarje bootloader-sökväg, hårdvaruboot eller frånvaro av kernelvarningar
loginwhoami kan köras via root guest-agent-kanalenInteraktivt lösenord, SSH-nyckel, PAM, skrivbordsgreeter eller slutanvändarinloggning
packagesEtt av dpkg --list, rpm -qa eller pacman -Q lyckasAtt varje paket som begärdes i prompten är installerat
networkDNS löser example.com och en TCP-anslutning till port 443 lyckas efter begränsade retriesAllmän internethälsa, HTTP-innehåll, varje gränssnitt eller en air-gapped design

Ubuntu 24.04 CIS-sökvägen tar bort den generiska nätverkskontrollen och använder i stället sin readiness-gated feature assertion. Ett recept utan förväntad internetväg kan få en misslyckad generisk nätverkskontroll omvandlad till en varning.

Feature- och capability-kontroller

Runnern slår också ihop kontroller från aktiverad feature-metadata, legacy hook test files, frozen capability plan, explicita custom tests och benchmark tests. Dubbla assertions tas bort. Assertions med kända saknade parametrar droppas med en servervarning; granska resulterande testplan så att en droppad kontroll inte misstas för en pass.

Exempel är konfigurerad SSH-port, tjänstestatus, begärt paket eller receptspecifik artefakt. Täckning beror på aktiverad feature: att inkludera en feature garanterar inte i sig ett fullständigt assertion-set för den featuren.

Läsa resultatet

Använd assertion-raderna och evidence, inte bara aggregate badge:

  • passed betyder att den körbara kontrollen returnerade förväntat resultat.
  • failed betyder att kontrollen kördes och motsade förväntan.
  • error betyder att harness inte kunde producera ett verdict.
  • skipped betyder att kontrollen inte kördes, till exempel för att mål-VM saknades.

Errors och skips är inte passes. En färdig image och en passed test run är separata tillstånd; certifiering är en tredje grind.

Definiera starkare acceptanskriterier

För en verklig workload, lägg till prompt-relevanta assertions. Till exempel:

{ "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 } } ] }

Inspectera sedan den byggda imagen i konsolen och testa hardware-bound claims på representativ hårdvara. Se Egna assertioner och Assertionstyper.