توضّح هذه الصفحة كيفية كتابة اختبار shell. إذا كان يمكن إجراء اختبار باستخدام
نص برمجي shell، يمكنك تنفيذه باستخدام ExecutableHostTest
. يتيح ExecutableHostTest
فلترة الاختبارات وتقسيمها.
كتابة اختبار shell
يتم تشغيل نص برمجي رئيسي للصدفة على المضيف. يجب أولاً نقل أي نصوص برمجية أو ملفات ثنائية أخرى سيتم تشغيلها على الجهاز وملفات البيانات المطلوبة إلى الجهاز.
يمكن إجراء ذلك كجزء من النص البرمجي الرئيسي أو باستخدام PushFilePreparer
.
إذا كان الاختبار يتضمّن وحدات ثنائية للأجهزة يجب تثبيتها مع الاختبار، حدِّدها باستخدام السمة data_device_bins
.
sh_test {
name: "module-name",
...
data_device_bins: ["target-name"],
}
يُعدّ اختبار Shell ziptool-tests
مثالاً على ذلك.
تستند نتيجة الاختبار لكل اختبار إلى حالة الخروج من النص البرمجي الرئيسي.
يمكن أن تنتهي مهلة الاختبار إذا تم تحديد per-binary-timeout
.
إعداد اختبار shell
في إعدادات Tradefed XML، يتم تشغيل اختبارات shell من خلال أداة التشغيل 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
إلى الإعداد.