Тестирование проекта
OpenThread, выпущенный Google, тестируется рядом инструментов.
Непрерывная интеграция
OpenThread использует GitHub Actions для непрерывной интеграции (CI) и Codecov для покрытия кода.
CI выполняет проверку сборки для всех платформ-примеров с помощью GNU Arm Embedded Toolchain, а для смоделированного примера — с помощью GCC, Clang и Android. Кроме того, сборка и тестирование выполняются на архитектуре x86, платформе и конфигурациях устройств Thread. Подробнее о конкретных тестах и проверках см. в разделе «Рабочие процессы» .
Кроме того, CI выполняет:
- Проверка стиля кода с помощью
clang-format
- Модульные тесты
- Функциональные тесты против CLI и Pyspinel
OSS-Fuzz
OpenThread проходит фаззинговое тестирование с помощью OSS-Fuzz . В рамках этой методики тестирования недействительные и случайные входные данные передаются в программу с высокой частотой и в больших объемах для выявления таких проблем, как утечки памяти или сбои.
Актуальные цели сборки для фаззинга см. в репозитории OpenThread.
Тестирование продукта
Используйте следующие инструменты для тестирования вашего собственного продукта OpenThread.
Wireshark
Wireshark — это анализатор сетевых протоколов с открытым исходным кодом для анализа трафика, проходящего через физические и виртуальные сетевые интерфейсы. Протокол Thread поддерживается в Wireshark версии 2.4.0 и более поздних. Документацию и файлы для загрузки этого инструмента можно найти на сайте wireshark.org .
Дополнительную информацию о поддержке Thread в Wireshark см. в разделе Анализ пакетов с помощью Pyspinel .
Писпинель
Pyspinel — это интерфейс командной строки (CLI) Python для протокола Spinel , используемый для настройки и управления NCP или RCP OpenThread . Этот интерфейс командной строки в первую очередь предназначен для тестирования непрерывной интеграции (CI), но его можно использовать вручную для экспериментов и тестирования экземпляров сопроцессора OpenThread.
Писпинель применяется для:
- Добавить имитацию тестирования сопроцессора к непрерывной интеграции.
- Автоматизируйте тестирование испытательных стендов, работающих под управлением прошивки сопроцессора на оборудовании.
- Отладка сборок сопроцессора OpenThread.
- Преобразовать сопроцессор OpenThread в анализатор пакетов.
Более подробную информацию см. в файле README
в репозитории Pyspinel.