בדיקות ברירת מחדל
בדיקה מופעלת כברירת מחדל במתכון מנורמל, עם ארבעה מוגדרים מראש
שמות המבחנים: boot, login, packages ו-network. אלה אורחים קטנים
צ’קים, לא חבילת קבלה מלאה. מתכון יכול להשבית בדיקה או
החלף את הרשימה, וכמה סוגי חפצים משתמשים בחוזה צר יותר.
מה ברירות המחדל למעשה מוכיחות
| מבחן | בדיקה בוצעה | לא מוכיח |
|---|---|---|
boot | uptime יוצא בהצלחה דרך סוכן האורח QEMU | כל נתיב של טוען אתחול, אתחול החומרה או היעדר אזהרות ליבה |
login | whoami יכול לרוץ דרך ערוץ סוכן אורח השורש | סיסמה אינטראקטיבית, מפתח SSH, PAM, ברכה לשולחן העבודה או התחברות של משתמש קצה |
packages | אחד מ- dpkg --list, rpm -qa או pacman -Q מצליח | שכל חבילה שמתבקשת על ידי ההנחיה מותקנת |
network | DNS פותר example.com וחיבור TCP ליציאה 443 מצליח לאחר נסיונות חוזרים מוגבלים | בריאות כללית באינטרנט, תוכן HTTP, כל ממשק או עיצוב מרווח אוויר |
הנתיב של Ubuntu 24.04 CIS מסיר את בדיקת הרשת הגנרית ומשתמש בה במקום זאת, הצהרת תכונה מוכנה. מתכון ללא צפוי בדיקת רשת כללית שנכשלה במסלול האינטרנט יכולה להמיר אזהרה.
בדיקות תכונות ויכולות
הרץ ממזג גם צ’קים שסופקו על ידי מטא נתונים של תכונה מופעלת, מדור קודם קבצי בדיקת Hook, תוכנית היכולת הקפואה, בדיקות מותאמות אישית מפורשות וכל מבחני אמת מידה. הצהרות כפולות מוסרות. קביעות עם ידוע פרמטרים חסרים נשמטים עם אזהרת שרת; לסקור את התוצאה תוכנית בדיקה, כך שהמחאה שנשמטה לא תיחשב בטעות כמעבר.
דוגמאות כוללות בדיקת יציאת ה-SSH המוגדרת, מצב השירות, קובץ מבוקש חבילה, או חפץ ספציפי למתכון. הכיסוי תלוי במכשיר המופעל תכונה: הכללת תכונה אינה מבטיחה כשלעצמה שיש לתכונה זו סט הצהרות שלם.
קריאת התוצאה
השתמש בשורות הטענה ובראיות, לא רק בתג המצטבר:
passedפירושו שבדיקת ההפעלה החזירה את התוצאה הצפויה שלו.failedפירושו שהצ’ק רץ וסתר את הציפייה.errorפירושו שהרתמה לא יכלה להפיק פסק דין.skippedפירושו שהבדיקה לא פעלה, למשל בגלל שה-VM היעד שלו היה נעדר.
שגיאות ודילוגים אינם מעברים. תמונה שהושלמה וריצת מבחן שעברה הם מדינות נפרדות; הסמכה היא שער שלישי.
הגדר קריטריוני קבלה חזקים יותר
עבור עומס עבודה אמיתי, הוסף הצהרות רלוונטיות להנחיות. לדוגמה:
{
"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 }
}
]
}לאחר מכן בדוק את התמונה הבנויה בקונסולה, ולגבי תביעות הקשורות לחומרה, בדיקה על חומרה מייצגת. ראה הצהרות מותאמות אישית ו-סוגי טענה.