بررسیکنندههای وضعیت سیستم (SSC) در پیکربندی سطح مجموعه تعریف میشوند و بین هر ماژول اجرا میشوند. آنها بررسی هایی را برای تعیین اینکه آیا ماژول تغییر کرده و برخی از حالت های داده شده را بازیابی نکرده است، برای مثال تغییر مقدار ویژگی سیستم، انجام می دهند.
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" />
SSCها تحت تگ system_checker
در پیکربندی Tradefed XML تعریف می شوند.
پیاده سازی
هر 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
گزارش بررسی سیستم را به عنوان یک خطای آزمایشی تبدیل کنید. این منجر به اجرای آزمایشی میشود که ناموفق نشان داده میشود و دلیل شکست بررسی خاص بررسیکننده وضعیت است.