Как написать тест оболочки в Trade Federation

На этой странице рассказывается, как написать тест оболочки. Если тест можно выполнить с помощью сценария командной строки, вы можете запустить его с помощью команды ExecutableHostTest. ExecutableHostTest поддерживает фильтрацию и сегментирование тестов.

Как написать тест для оболочки

Основной сценарий командной строки выполняется на хосте. Другие скрипты или исполняемые файлы, которые нужно запустить на устройстве, а также необходимые файлы данных сначала нужно передать на устройство. Это можно сделать как часть основного скрипта или с помощью PushFilePreparer.

Если в тесте есть двоичные модули устройства, которые должны быть установлены вместе с тестом, укажите их с помощью свойства data_device_bins.

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

Примером такого теста является Shell test ziptool-tests.

Результат каждого теста зависит от статуса выхода основного скрипта. Если указано значение per-binary-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варианты.

Если скрипту требуются права суперпользователя, добавьте в конфигурацию RootTargetPreparer.