كتابة اختبار 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 إلى الإعداد.