Trade Federation में शेल टेस्ट लिखना

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

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

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

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

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

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

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

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

Tradefed के एक्सएमएल कॉन्फ़िगरेशन में, शेल टेस्ट ExecutableHostTest runner के ज़रिए चलाए जाते हैं.

<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 जोड़ें.