हमारा सुझाव है कि 27 मार्च, 2025 से AOSP को बनाने और उसमें योगदान देने के लिए, aosp-main
के बजाय android-latest-release
का इस्तेमाल करें. ज़्यादा जानकारी के लिए, AOSP में हुए बदलाव लेख पढ़ें.
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
रनर की मदद से चलाए जाते हैं.
<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
जोड़ें.
इस पेज पर मौजूद कॉन्टेंट और कोड सैंपल कॉन्टेंट के लाइसेंस में बताए गए लाइसेंस के हिसाब से हैं. Java और OpenJDK, Oracle और/या इससे जुड़ी हुई कंपनियों के ट्रेडमार्क या रजिस्टर किए हुए ट्रेडमार्क हैं.
आखिरी बार 2025-07-27 (UTC) को अपडेट किया गया.
[[["समझने में आसान है","easyToUnderstand","thumb-up"],["मेरी समस्या हल हो गई","solvedMyProblem","thumb-up"],["अन्य","otherUp","thumb-up"]],[["वह जानकारी मौजूद नहीं है जो मुझे चाहिए","missingTheInformationINeed","thumb-down"],["बहुत मुश्किल है / बहुत सारे चरण हैं","tooComplicatedTooManySteps","thumb-down"],["पुराना","outOfDate","thumb-down"],["अनुवाद से जुड़ी समस्या","translationIssue","thumb-down"],["सैंपल / कोड से जुड़ी समस्या","samplesCodeIssue","thumb-down"],["अन्य","otherDown","thumb-down"]],["आखिरी बार 2025-07-27 (UTC) को अपडेट किया गया."],[],[],null,["# Write a shell test in Trade Federation\n\nThis page describes how to write a shell test. If a test can be done with a\nshell script, you can run it with [`ExecutableHostTest`](https://android.googlesource.com/platform/tools/tradefederation/+/refs/heads/android16-release/test_framework/com/android/tradefed/testtype/binary/ExecutableHostTest.java). `ExecutableHostTest` supports test filtering and\ntest sharding.\n\nWrite a shell test\n------------------\n\nYour main shell script runs on the host. Other scripts or binaries to run on\nthe device and the data files required must be pushed to the device first.\nThis can be done as part of the main script or using [`PushFilePreparer`](https://cs.android.com/android/platform/superproject/+/android-latest-release:tools/tradefederation/core/test_framework/com/android/tradefed/targetprep/PushFilePreparer.java?q=PushFilePreparer).\n\nIf the test has device binary modules that should be installed alongside the\ntest, specify them with [`data_device_bins`](https://ci.android.com/builds/submitted/6873301/linux/latest/view/sh.html#sh_test.data_device_bins)\nproperty. \n\n sh_test {\n name: \"module-name\",\n ...\n data_device_bins: [\"target-name\"],\n }\n\nShell test [`ziptool-tests`](https://cs.android.com/android/platform/superproject/+/android-latest-release:system/libziparchive/Android.bp?q=ziptool-tests)\nis such an example.\n\nThe test result for each test is based on the exit status of your main script.\nA test can timeout if `per-binary-timeout` has been specified.\n\nConfigure a shell test\n----------------------\n\nIn Tradefed XML configuration, shell tests are run through the\n`ExecutableHostTest` runner. \n\n \u003ctest class=\"com.android.tradefed.testtype.binary.ExecutableHostTest\" \u003e\n \u003coption name=\"binary\" value=\"your-test-script.sh\" /\u003e\n \u003coption name=\"relative-path-execution\" value=\"true\" /\u003e\n \u003coption name=\"per-binary-timeout\" value=\"15m\" /\u003e\n \u003c/test\u003e\n\nSet the main script for the test as the value of the `binary` option. Check out\nother `ExecutableHostTest` options.\n\nIf the script requires root privilege, add [`RootTargetPreparer`](https://cs.android.com/android/platform/superproject/+/android-latest-release:tools/tradefederation/core/test_framework/com/android/tradefed/targetprep/RootTargetPreparer.java) to the configuration."]]