ट्रेड फेडरेशन में शेल टेस्ट लिखना

यह पृष्ठ वर्णन करता है कि शेल परीक्षण कैसे लिखना है। यदि एक शेल स्क्रिप्ट के साथ एक परीक्षण किया जा सकता है, तो आप इसे ExecutableHostTest के साथ चला सकते हैं। ExecutableHostTest टेस्ट फ़िल्टरिंग और टेस्ट शार्डिंग का समर्थन करता है।

शेल परीक्षण लिखना

आपकी मुख्य शेल स्क्रिप्ट होस्ट पर चलती है। डिवाइस पर चलने के लिए अन्य स्क्रिप्ट या बायनेरिज़ और आवश्यक डेटा फ़ाइलों को पहले डिवाइस पर पुश किया जाना चाहिए। यह मुख्य स्क्रिप्ट के हिस्से के रूप में या PushFilePreparer का उपयोग करके किया जा सकता है।

यदि परीक्षण में डिवाइस बाइनरी मॉड्यूल हैं जिन्हें परीक्षण के साथ स्थापित किया जाना चाहिए, तो उन्हें data_device_bins प्रॉपर्टी के साथ निर्दिष्ट करें।

sh_test {
    name: "module-name",
    ...
    data_device_bins: ["target-name"],
}

शैल परीक्षण ziptool-tests ऐसा ही एक उदाहरण है।

प्रत्येक परीक्षण के लिए परीक्षा परिणाम आपकी मुख्य स्क्रिप्ट की निकास स्थिति पर आधारित होता है। यदि per-binary-timeout निर्दिष्ट किया गया है तो एक परीक्षण टाइमआउट हो सकता है।

शेल परीक्षण को कॉन्फ़िगर करना

ट्रेडफेड एक्सएमएल कॉन्फ़िगरेशन में, ExecutableHostTest रनर के माध्यम से शेल परीक्षण चलाए जाते हैं।

<test class="com.android.tradefed.testtype.binary.ExecutableHostTest" >
    <option name="binary" value="your-test-script.sh" />
    <option name="relative-path-execution" value="true" />
    <option name="per-binary-timeout" value="15m" />
</test>

परीक्षण के लिए मुख्य स्क्रिप्ट को binary विकल्प के मान के रूप में सेट करें। अन्य ExecutableHostTest विकल्प देखें।

यदि स्क्रिप्ट को रूट विशेषाधिकार की आवश्यकता है, तो कॉन्फ़िगरेशन में RootTargetPreparer जोड़ें।