بررسیکنندههای وضعیت سیستم (SSCs) در پیکربندی سطح مجموعه تعریف میشوند و بین هر واحد اجرا میشوند. این واحدها بررسیهایی انجام میدهند تا مشخص کنند آیا واحد تغییر کرده است یا نه و برخیاز وضعیتهای دادهشده را بازیابی نکرده است، برای مثال مقدار دارایی سیستم را تغییر داده است.
«مرکز پشتیبانی مشتریان» عمدتاً برای اطمینان از این استفاده میشود که نویسندگان واحد فراموش نکنند پساز آزمونهایشان پاکسازی کنند؛ اما اگر فراموش کردند، ردی از آن ارائه دهید تا بتوان به آن رسیدگی کرد.
استفاده ثانویه این است که درصورت امکان، وضعیت اصلی را نیز بازیابی کند، برای مثال اگر محافظ صفحهکلید باز مانده باشد، آن را ببندد.
تعریف زبان نشانهگذاری توسعهپذیر (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" />
«دستورات پوسته ساده» در برچسب 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، میتوانید گزارش بررسیکننده سیستم را بهعنوان یک خطای آزمایشی ایجاد کنید. این امر منجر به
نمایش اجرای آزمایشی بهعنوان ناموفق میشود و دلیل عدم موفقیت، بررسی خاص
بررسیکننده وضعیت است.