كتابة اختبار shell في Trade Federation

توضّح هذه الصفحة كيفية كتابة اختبار 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 إلى الإعداد.