Teste de projeto
O OpenThread lançado pelo Google é testado por várias ferramentas.
Integração contínua
O OpenThread usa o GitHub Actions para integração contínua (CI) e o Codecov para cobertura de código.
A CI realiza verificações de build para todas as plataformas de exemplo usando a cadeia de ferramentas GNU Arm Embedded e para o exemplo simulado usando GCC, Clang e Android. Ele também cria e testa em relação a x86, arquitetura de plataforma e configurações de dispositivos Thread. Para mais informações sobre testes e verificações específicas, consulte Workflows.
Além disso, a CI realiza as seguintes ações:
- Verificações de estilo de código usando
clang-format
- Testes de unidade
- Testes funcionais na CLI e no Pyspinel
OSS-Fuzz
O OpenThread é testado com fuzzing usando o OSS-Fuzz. Nessa técnica de teste, entradas inválidas e aleatórias são enviadas com alta frequência e volume para o software a fim de encontrar problemas como vazamentos de memória ou falhas.
Consulte o repositório OpenThread para conferir os destinos de build de fuzzing atuais.
Teste de produto
Use as ferramentas a seguir para testar seu próprio produto OpenThread.
Wireshark
O Wireshark é um analisador de protocolo de rede de código aberto para tráfego em interfaces de rede físicas e virtuais. O protocolo Thread é compatível com o Wireshark 2.4.0 e versões mais recentes. A documentação e os downloads dessa ferramenta estão disponíveis em wireshark.org (em inglês).
Para mais informações sobre como o Thread é compatível com o Wireshark, consulte Captura de pacotes com Pyspinel.
Pyspinel
O Pyspinel é uma CLI do Python para o protocolo Spinel, usado 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 experimentar instâncias de coprocessador OpenThread.
O Pyspinel é usado para:
- Adicione testes simulados de coprocessador à integração contínua.
- Automatizar o teste de plataformas de teste que executam firmware de coprocessador em hardware.
- Depure builds de coprocessadores do OpenThread.
- Converter um coprocessador OpenThread em um farejador de pacotes.
Para mais informações, consulte o
README
no repositório
Pyspinel.