تحقق من حالة النظام

يتم تعريف مدققي حالة النظام (SSCs) في التكوين على مستوى المجموعة ويتم تشغيلهم بين كل وحدة. يقومون بإجراء فحوصات لتحديد ما إذا كانت الوحدة قد تغيرت ولم تستعيد بعض الحالات المحددة، على سبيل المثال تغيير قيمة خاصية النظام.

تُستخدم مراكز SSC بشكل أساسي للتأكد من أن مؤلفي الوحدات لا ينسون التنظيف بعد اختباراتهم؛ ولكن إذا حدث ذلك، قم بتوفير أثر له حتى يمكن معالجته.

الاستخدام الثانوي هو أيضًا استعادة الحالة الأصلية عندما يكون ذلك ممكنًا، على سبيل المثال استبعاد حارس المفاتيح إذا تم تركه مفتوحًا.

تعريف XML لمدقق حالة النظام

<system_checker class="com.android.tradefed.suite.checker.KeyguardStatusChecker" />
<system_checker class="com.android.tradefed.suite.checker.LeakedThreadStatusChecker" />
<system_checker class="com.android.tradefed.suite.checker.SystemServerStatusChecker" />

يتم تعريف SSCs ضمن علامة system_checker في ملف XML الخاص بتكوين Tradefed.

تطبيق

يجب على كل SSC تنفيذ واجهة ISystemStatusChecker ، التي توفر الطريقتين الرئيسيتين preExecutionCheck و postExecutionCheck اللتين تعملان قبل وبعد تنفيذ كل وحدة.

من الممكن أن يقوم المدقق بتنفيذ واحدة فقط من الاثنين، أو تنفيذ كليهما إذا كانت هناك حاجة للتحقق من الحالة قبل الوحدة ومقارنتها بالحالة بعد الوحدة.

توجد العديد من الأمثلة على التطبيقات في Tradefed. يوصى بأن يركز كل تطبيق على فحص واحد لتحسين إمكانية إعادة الاستخدام. على سبيل المثال، يتحقق SystemServerStatusCheck من إعادة تشغيل عملية system_server على الجهاز أثناء تنفيذ مجموعة الاختبار. في postExecutionCheck ، فإنه يستدعي deviceSoftRestarted ، والذي تم تعريفه في NativeDevice للتحقق من إعادة تشغيل عملية system_server .

تُرجع كل عملية StatusCheckerResult ، والتي تتيح للأداة تحديد ما إذا كان يجب التقاط معلومات إضافية، مثل تقرير الأخطاء.

أين يتم تعريفهم في CTS؟

يتم تعريف أدوات فحص حالة نظام CTS في /test/suite_harness/tools/cts-tradefed/res/config/cts-system-checkers.xml .

كيفية العثور على فشل المدقق

افتراضيًا، تظهر حالات فشل مدقق النظام فقط في السجلات وكتقارير الأخطاء التي تم التقاطها للاستدعاء بالاسم الذي يتبع التنسيق bugreport-checker-post-module-<module name>.zip .

يتيح لك هذا معرفة الوحدة النمطية التي تم إنشاء تقرير الخطأ بعدها.

من الممكن جعل تقرير مدقق النظام بمثابة فشل اختباري عن طريق ضبط خيار --report-system-checkers على true . يؤدي هذا إلى ظهور تشغيل اختباري على أنه فاشل وسبب الفشل هو فحص مدقق الحالة بشكل خاص.