Testando

Teste de projeto

O OpenThread lançado pelo Google é testado por diversas ferramentas.

Integração contínua

O OpenThread usa Ações do GitHub para integração contínua (CI) e o Codecov para cobertura de código.

A CI realiza verificações de compilação para todas as plataformas de exemplo usando o GNU Arm Embedded Toolchain e para o exemplo simulado usando GCC, Clang e Android. Ele também cria e testa configurações x86, arquitetura de plataforma e dispositivo Thread. Para ver mais informações sobre testes e verificações específicos, consulte Fluxos de trabalho.

Além disso, a CI:

  1. Verificações de estilo de código usando clang-format
  2. Testes de unidade
  3. Testes funcionais na CLI, wpantund (com toranj) e no Pyspinel

Fuzze OSS

O OpenThread foi testado com o OSS-Fuzz. Nessa técnica, entradas inválidas e aleatórias são enviadas ao software com alta frequência e volume para encontrar problemas como vazamentos ou falhas de memória.

Consulte o repositório do OpenThread para ver os destinos de build de fuzzing atuais.

Teste de produto

Use as ferramentas a seguir para testar seu próprio produto do OpenThread.

Wireshark

O Wireshark é um analisador de protocolo de rede de código aberto para tráfego em execução em interfaces de rede física e virtual. O protocolo Thread é compatível com o Wireshark 2.4.0 e versões mais recentes. A documentação e os downloads dessa ferramenta podem ser encontrados em wireshark.org.

Para mais informações sobre como o Thread é compatível com o Wireshark, consulte Pacotes que detectam com o Pyspinel.

Pirâmide

O Pyspinel é uma CLI em Python para o protocolo Sppinel, usado para configurar e gerenciar NCPs ou RCPs do OpenThread. Essa CLI é destinada principalmente a testes de CI, mas pode ser usada manualmente para testar e testar instâncias de coprocessador do OpenThread.

O Pyspinel é usado para:

  • Adicione testes simulados de processador à integração contínua.
  • Automatize os testes dos testbeds que executam o firmware do processador no hardware.
  • Depurar builds de coprocessador de OpenThread.
  • Converter um coprocessador OpenThread em um pacote MapReduce

Para mais informações, consulte a README no repositório do Pyspinel.