בדרך כלל, בדיקת GoogleTest (GTest, שנקראת לפעמים גם 'בדיקות מקוריות') לפלטפורמה ניגשת ל-HALs ברמה נמוכה יותר או מבצעת IPC גולמי מול שירותי מערכת שונים. לכן, גישת הבדיקה בדרך כלל קשורה באופן הדוק לשירות שנבדק.
כדי לבצע שילוב עם תשתית של בדיקות רציפות, צריך ליצור את בדיקות GTest באמצעות מסגרת GTest.
דוגמאות
הנה כמה דוגמאות ל-GTest במקור הפלטפורמה:
סיכום השלבים
פועלים לפי ההגדרה לדוגמה של מודול GTest.
כדי לכלול באופן אוטומטי יחסי תלות ב-GTest, משתמשים בכלל build בהגדרת מודול הבדיקה.
BUILD_NATIVE_TESTכותבים הגדרה לבדיקה, לפי הדוגמאות לאפשרויות פשוטות ומורכבות.
מריצים את מודול הבדיקה באמצעות
mmmכדי ליצור גרסאות build מצטברות, או באמצעותmmaכדי ליצור גרסאות build מלאות:make hwui_unit_tests -jמריצים את הבדיקה באופן מקומי באמצעות Atest:
atest hwui_unit_testsאפשר גם להוסיף ארגומנטים ל-GTests. אלה כמה ארגומנטים שימושיים במיוחד:
-
native-test-flagמציין ערכי דגל נוספים להעברה לפקודת מעטפת GTest.
native-test-timeoutמציין ערך של זמן קצוב לתפוגה של בדיקה במיקרו-שניות.בדוגמת הקוד הבאה נעשה שימוש בשני הארגומנטים האלה:
atest test-name -- --module-arg test-name:native-test-flag:"\"argument1 argument2\"" \ --module-arg test-name:native-test-timeout:60000
-
מריצים את הבדיקה באמצעות Trade Federation test harness:
make tradefed-all -j tradefed.sh run template/local_min --template:map test=hwui_unit_testsהתקנה והפעלה ידניות:
דוחפים את קובץ הבדיקה הבינארי שנוצר למכשיר:
adb push ${OUT}/data/nativetest/hwui_unit_tests/hwui_unit_tests \ /data/nativetest/hwui_unit_tests/hwui_unit_testsמפעילים את GTest ומריצים את הבדיקה על ידי הפעלת קובץ ההפעלה של הבדיקה במכשיר:
adb shell /data/nativetest/hwui_unit_tests/hwui_unit_testsמידע נוסף על התאמה אישית של הרצת בדיקות זמין במדריך המתקדם של GTest.
--help