সিস্টেমের স্থিতি পরীক্ষা করুন

সিস্টেম স্ট্যাটাস চেকার (এসএসসি) স্যুট-স্তরের কনফিগারেশনে সংজ্ঞায়িত করা হয় এবং প্রতিটি মডিউলের মধ্যে চালিত হয়। মডিউলটি পরিবর্তিত হয়েছে কিনা এবং কোনো নির্দিষ্ট অবস্থা পুনরুদ্ধার করেনি কিনা, যেমন কোনো সিস্টেম প্রপার্টির মান পরিবর্তন করা, তা নির্ধারণ করার জন্য এগুলো পরীক্ষা করে।

এসএসসি প্রধানত এটা নিশ্চিত করতে ব্যবহৃত হয় যে, মডিউল লেখকরা তাদের টেস্টের পরে পরিষ্করণ করতে ভুলে না যান; কিন্তু যদি তারা তা করে ফেলেন, তবে তার একটি চিহ্ন রেখে যেতে হবে যাতে বিষয়টি সমাধান করা যায়।

এর একটি দ্বিতীয় ব্যবহার হলো, সম্ভব হলে মূল অবস্থা ফিরিয়ে আনা; যেমন, কীগার্ড খোলা থাকলে তা বাতিল করা।

সিস্টেম স্ট্যাটাস চেকার 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" />

Tradefed কনফিগারেশন XML-এর system_checker ট্যাগের অধীনে SSC-গুলো সংজ্ঞায়িত করা হয়।

বাস্তবায়ন

প্রতিটি SSC-কে অবশ্যই ISystemStatusChecker ইন্টারফেসটি ইমপ্লিমেন্ট করতে হবে, যা preExecutionCheck এবং postExecutionCheck নামক দুটি প্রধান মেথড প্রদান করে, যেগুলো প্রতিটি মডিউল এক্সিকিউশনের আগে ও পরে রান করে।

একটি চেকারের পক্ষে দুটির মধ্যে কেবল একটি বাস্তবায়ন করা সম্ভব, অথবা মডিউলের আগের অবস্থা পরীক্ষা করে মডিউলের পরের অবস্থার সাথে তুলনা করার প্রয়োজন হলে উভয়ই বাস্তবায়ন করা সম্ভব।

ট্রেডফেডে বেশ কিছু উদাহরণমূলক ইমপ্লিমেন্টেশন রয়েছে। পুনঃব্যবহারযোগ্যতা উন্নত করার জন্য প্রতিটি ইমপ্লিমেন্টেশনকে একটিমাত্র চেকের উপর মনোযোগ দেওয়ার পরামর্শ দেওয়া হয়। উদাহরণস্বরূপ, SystemServerStatusCheck চেক করে যে টেস্ট স্যুট এক্সিকিউশনের সময় ডিভাইসে system_server প্রসেসটি রিস্টার্ট হয়েছে কি না। postExecutionCheck এ, এটি deviceSoftRestarted কল করে, যা system_server প্রসেসটি রিস্টার্ট হয়েছে কি না তা চেক করার জন্য NativeDevice এ সংজ্ঞায়িত করা আছে।

প্রতিটি অপারেশন 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 সেট করার মাধ্যমে সিস্টেম চেকারকে নিজেই একটি টেস্ট ফেইলর হিসেবে রিপোর্ট করানো সম্ভব। এর ফলে একটি টেস্ট রান ফেইলড হিসেবে দেখানো হয় এবং ফেইলরের কারণ হিসেবে স্ট্যাটাস চেকারের নির্দিষ্ট চেকটিকে উল্লেখ করা থাকে।