При сборке программы с помощью команды kosctl build --with-test в директории хранения артефактов сборки создается директория test с простыми тестами для каждой программы. Тесты используют фреймворк gtest и запускаются из образа для QEMU. Запуск тестов и формирование отчетов по результатам тестирования осуществляется утилитой Meow по запросу инструмента kosctl. Утилита Meow - специальный инструмент для запуска тестов и получения отчетов по результатам тестирования. Утилита располагается в директории /opt/KasperskyOS-SDK-KISG-Platform-<version>/toolchain/meow. Подробную информацию по командам утилиты Meow вы можете получить, выполнив команду: /opt/KasperskyOS-SDK-KISG-Platform-<version>/toolchain/meow/meow.py --help.
Команда kosctl test [options] выполняет запуск тестов из директории test/. По умолчанию PROJECT_DIR – текущая директория, в которой выполняется команда. Журналы и результаты запуска тестов по умолчанию располагаются в директории .build/x86_64-pc-kos-debug/bin/tests/output. Доступные параметры команды:
--project-dirКорневая директория решения. По умолчанию используется директория ./.
--device, -dИмя устройства или эмулятора, к которому требуется подключиться для выполнения указанной операции.
--build-dirДиректория хранения артефактов сборки. По умолчанию используется директория .build.
--build-features, -bВыбор дополнительных параметров сборки. Вы можете получить доступный список дополнительных параметров сборки с помощью команды kosctl list-build-features.
--arch, -aВыбор архитектуры.
--no-buildНе выполнять сборку решения перед запуском тестов.
--timeoutВремя ожидания для выполнения каждого из тестов. Опция может быть передана как строка типа duration, например, 1m30s, или как количество секунд, например 90. По умолчанию установлено время ожидания в 60 секунд.
--show-failuresКоличество тестов, завершившихся с ошибкой, по которым нужно вывести общие данные. При использовании этой опции необходимо задать количество тестов для вывода общих данных используя знак равенства, например: --show-failures=5.
--coverage-providerВыбор поставщика информации по покрытию кода тестами. Для автоматического определения не устанавливайте значение параметру или установите значение auto.
--full-summaryВывести общие данные по всем тестам.
--analyse-onlyВывести общие данные по последнему запуску тестов.
--gtest-filter, -FСборка тестов по указанному фильтру.
--threads, -jВыбор количества потоков процессора для выполнения тестов. По умолчанию используется четыре потока процессора.
--mask, -mМаска для фильтрации по тестовым скриптам.
--run-disabled, -fВключить disabled тесты.
--tags, -TТеги тестов, разделенные пробелами. Теги с префиксами будут исключены.
--direct-params, -dСтрока с параметрами, которые будут переданы в утилиту Meow.
--platformВыбор типа платформы.