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

توضّح هذه الصفحة كيفية كتابة اختبار shell. إذا كان بالإمكان إجراء اختبار باستخدام نص برمجي لنظام التشغيل، يمكنك تشغيله باستخدام ExecutableHostTest. تتيح ExecutableHostTest فلترة الاختبارات و تقسيم الاختبارات.

كتابة اختبار shell

يتم تشغيل نص Shell البرمجي الرئيسي على المضيف. النصوص البرمجية أو الملفات الثنائية الأخرى التي سيتم تشغيلها على الجهاز وملفات البيانات المطلوبة التي يجب دفعها إلى الجهاز أولاً ويمكن إجراء ذلك كجزء من النص البرمجي الرئيسي أو باستخدام PushFilePreparer.

إذا كان الاختبار يتضمّن وحدات ثنائية للأجهزة يجب تثبيتها مع الاختبار، حدِّدها باستخدام السمة data_device_bins.

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

اختبار Shell ziptool-tests هو مثال على ذلك.

تستند نتيجة الاختبار لكل اختبار إلى حالة الخروج من النص البرمجي الرئيسي. يمكن أن يصل الاختبار إلى وقت الاستراحة إذا تم تحديد per-binary-timeout.

ضبط اختبار shell

في إعدادات XML في Tradefed، يتم تنفيذ اختبارات 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 إلى الإعداد.