Tradefed में, हर टेस्ट अनुरोध को चलाने के लिए, कमांड शेड्यूलर से होकर गुज़रना पड़ता है. इसलिए, कमांड शेड्यूलर, टेस्ट चलाने के लिए ज़रूरी हार्नेस का एक अहम कॉम्पोनेंट है.
लाइफ़साइकल
जब Tradefed को कोई टेस्ट अनुरोध मिलता है (उदाहरण के लिए, कंसोल से इनपुट), तो टेस्ट शुरू होने से पहले ये इवेंट होते हैं:
- जांच के अनुरोध को पार्स किया जाता है - जांच का अनुरोध आम तौर पर, Tradefed कॉन्फ़िगरेशन के एक्सएमएल रेफ़रंस और उसके बाद विकल्पों से मिलकर बना होता है.
उदाहरण के लिए:
> run host --class com.android.tradefed.build.BuildInfoTest - डिवाइस मैनेजर से, टेस्ट के अनुरोध से मेल खाने वाले डिवाइसों के लिए अनुरोध किया जाता है - डिवाइस मैनेजर, टेस्ट के अनुरोधों से मेल खाने वाला डिवाइस असाइन करता है. उदाहरण के लिए, अगर किसी Pixel डिवाइस का अनुरोध किया जाता है, तो डिवाइस मैनेजर उपलब्ध Pixel डिवाइस की तलाश करेगा.
- टेस्ट का अनुरोध + डिवाइस, इनवोकेशन के तौर पर शुरू होता है - टेस्टिंग शुरू हो रही है.
- डिवाइस रिलीज़ करना - इनवॉकेशन पूरा होने के बाद, असाइन किया गया डिवाइस रिलीज़ कर दिया जाएगा. इसके बाद, इसे अन्य टेस्ट के लिए असाइन किया जा सकता है.
Tradefed इन्वोकेशन
Tradefed में इनवोकेशन का मतलब है कि फ़िलहाल, टेस्ट कमांड को लागू किया जा रहा है.
जिन डिवाइसों को इनवॉकेशन में शामिल किया गया है उन्हें allocated के तौर पर मार्क किया जाता है. साथ ही, इनका इस्तेमाल अन्य टेस्ट चलाने के लिए नहीं किया जा सकता.
TF इन चरणों को इस क्रम में पूरा करेगा:
- आर्टफ़ैक्ट डाउनलोड करने की सुविधा बनाना और उसकी जांच करना
- टारगेट की तैयारी
- टेस्ट एक्ज़ीक्यूशन
- स्टोरेज में जगह बनाएं
- नतीजों की रिपोर्टिंग
हर चरण के बारे में ज़्यादा जानकारी, आर्किटेक्चर सेक्शन में दी गई है.