نوشتن تست پوسته در فدراسیون تجارت، نوشتن تست پوسته در فدراسیون تجارت

این صفحه نحوه نوشتن یک تست پوسته را شرح می‌دهد. اگر تستی با اسکریپت پوسته قابل انجام باشد، می‌توانید آن را با ExecutableHostTest اجرا کنید. ExecutableHostTest از فیلترینگ تست و شاردینگ تست پشتیبانی می‌کند.

یک تست پوسته بنویسید

اسکریپت پوسته اصلی شما روی میزبان اجرا می‌شود. سایر اسکریپت‌ها یا فایل‌های باینری برای اجرا روی دستگاه و فایل‌های داده مورد نیاز باید ابتدا به دستگاه ارسال شوند. این کار را می‌توان به عنوان بخشی از اسکریپت اصلی یا با استفاده از PushFilePreparer انجام داد.

اگر تست دارای ماژول‌های باینری دستگاه است که باید در کنار تست نصب شوند، آن‌ها را با ویژگی data_device_bins مشخص کنید.

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

Shell test ziptool-tests چنین نمونه‌ای است.

نتیجه آزمایش برای هر تست بر اساس وضعیت خروج اسکریپت اصلی شما است. اگر per-binary-timeout مشخص شده باشد، یک تست می‌تواند دچار timeout شود.

پیکربندی تست پوسته

در پیکربندی Tradefed XML، تست‌های پوسته از طریق اجراکننده 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 را بررسی کنید.

اگر اسکریپت به دسترسی root نیاز دارد، RootTargetPreparer به پیکربندی اضافه کنید.