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

इस पेज पर शेल टेस्ट लिखने का तरीका बताया गया है. अगर किसी टेस्ट को शेल स्क्रिप्ट की मदद से किया जा सकता है, तो उसे ExecutableHostTest के साथ चलाया जा सकता है. ExecutableHostTest, टेस्ट फ़िल्टर करने और टेस्ट को अलग-अलग हिस्सों में बांटने की सुविधा देता है.

शेल टेस्ट लिखना

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

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

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

शेल टेस्ट ziptool-tests एक ऐसा उदाहरण है.

हर टेस्ट का नतीजा, आपकी मुख्य स्क्रिप्ट के एक्सिट स्टेटस पर आधारित होता है. अगर per-binary-timeout दिया गया है, तो टेस्ट टाइम आउट हो सकता है.

शेल टेस्ट कॉन्फ़िगर करना

Tradefed एक्सएमएल कॉन्फ़िगरेशन में, शेल टेस्ट 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 जोड़ें.