Google is committed to advancing racial equity for Black communities. See how.

Тестирование

Тестирование проекта

OpenThread, выпущенный Google, протестирован рядом инструментов.

Непрерывная интеграция

OpenThread использует GitHub действие для непрерывной интеграции (CI) и Codecov для покрытия кода.

CI выполняет проверки сборки для всех примеров платформ с использованием GNU Arm Embedded Toolchain и для смоделированного примера с использованием GCC, Clang и Android. Он также выполняет сборку и тестирование на соответствие x86, архитектуре платформы и конфигурациям устройств Thread. Для получения более подробной информации о конкретных испытаниях и проверках, см Workflows .

Кроме того, CI выполняет:

  1. Проверки стиля кода с использованием clang-format
  2. Модульные тесты
  3. Функциональные тесты против CLI, wpantundtoranj ) и Pyspinel

OSS-Fuzz

OpenThread будет пухом протестирована с ОСС-Fuzz . В этом методе тестирования неверные и случайные входные данные с высокой частотой и в больших объемах отправляются в программное обеспечение для обнаружения таких проблем, как утечки памяти или сбои.

Смотрите хранилище OpenThread для текущих целей Fuzzing сборки .

Тестирование продукта

Используйте следующие инструменты для тестирования собственного продукта OpenThread.

Wireshark

Wireshark - это анализатор сетевых протоколов с открытым исходным кодом для трафика, проходящего через физические и виртуальные сетевые интерфейсы. Протокол резьбы поддерживается в Wireshark 2.4.0 и позже. Документация и загрузки для этого инструмента можно найти на wireshark.org .

Для получения дополнительной информации о том , как Thread поддерживается в Wireshark, см Packet нюхают с Pyspinel .

Писпинель

Pyspinel является Python CLI для протокола шпинели , используемые для настройки и управления OpenThread НКП или СУЗ . Этот интерфейс командной строки в первую очередь предназначен для тестов CI, но может использоваться вручную для экспериментов и тестирования экземпляров сопроцессора OpenThread.

Писпинель применяется для:

  • Добавьте моделируемое тестирование сопроцессора к непрерывной интеграции.
  • Автоматизируйте тестирование тестовых стендов, на оборудовании которых установлено микропрограммное обеспечение сопроцессора.
  • Отладка сборок сопроцессора OpenThread.
  • Преобразуйте сопроцессор OpenThread в анализатор пакетов.

Для получения дополнительной информации см README в хранилище Pyspinel.