Teste do projeto
O OpenThread lançado pelo Google é testado por várias ferramentas.
Integração contínua
O OpenThread usa ações do GitHub para integração contínua (CI) e o Codecov para a cobertura de código.
O 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 o GCC, o Clang e o Android. Ele também cria e testa x86, arquitetura de plataforma e configurações de dispositivos Thread. Para mais informações sobre testes e verificações específicos, consulte Fluxos de trabalho.
Além disso, a CI executa:
- Verificações de estilo de código usando
clang-format
- Testes de unidade
- Testes funcionais na CLI,
wpantund
(comtoranj
) e Pyspinel
Fusível do OSS
O Thread é testado com o fuzz com o OSS-Fuzz. Nesta técnica de teste, entradas inválidas e aleatórias são enviadas em alta frequência e volume para o software, a fim de encontrar problemas como vazamentos ou falhas de memória.
Consulte o repositório do OpenThread para ver os destinos de compilação de fuzzing atuais.
Testes de produtos
Use as seguintes ferramentas para testar seu 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 a Thread é compatível com Wireshark, consulte Sketching com o Pyspinel.
Pimenta
Pyspinel é uma CLI do Python para o protocolo Sppinel, usada para configurar e gerenciar NCPs ou RCPs do OpenThread. Essa CLI é voltada principalmente para testes de CI, mas pode ser usada manualmente para testar e testar instâncias de coprocessador do OpenThread.
O Pyspinel é usado para:
- Adição de teste simulado de coprocessador para integração contínua.
- Automatize os testes de leitos que estão executando o firmware de coprocessador em hardware.
- Depurar builds de coprocessador do OpenThread.
- Converte um coprocessador do OpenThread em um detector de pacotes.
Para ver mais informações, consulte README
no repositório Pyspinel.