Teste de projeto
OpenThread lançado pelo Google é testado por uma série de ferramentas.
Integração contínua


OpenThread usa Travis CI para integração contínua (CI) e Codecov para cobertura de código.
O CI realiza verificações de construção para todas as plataformas de exemplo usando GNU Arm Embedded Toolchain e para o exemplo simulado usando GCC, Clang e Android. Ele também constrói e testa x86, arquitetura de plataforma e configurações de dispositivo Thread. Para obter mais informações sobre destinos de construção específicos, consulte a matriz de construção do OpenThread Travis .
Além disso, o CI realiza:
- Verificações de estilo de código usando o
clang-format
- Testes de unidade
- Testes funcionais em relação a CLI,
wpantund
(comtoranj
) e Pyspinel
OSS-Fuzz
OpenThread é fuzz testado com OSS-Fuzz . Nessa técnica de teste, as entradas inválidas e aleatórias são enviadas em alta frequência e volume ao software para localizar problemas como vazamentos de memória ou travamentos.
Consulte o repositório OpenThread para os destinos de compilação de difusão atuais .
Teste de produto
Use as seguintes ferramentas para testar seu próprio produto OpenThread.
Wireshark
O Wireshark é um analisador de protocolo de rede de código aberto para tráfego executado em interfaces de rede físicas e virtuais. O protocolo Thread é compatível com Wireshark 2.4.0 e posterior. Documentação e downloads para esta ferramenta podem ser encontrados em Wirehark.org .
Para obter mais informações sobre como o Thread é compatível com o Wireshark, consulte Packet sniffing with Pyspinel .
Pyspinel
Pyspinel é um Python CLI para o protocolo Spinel , usado para configurar e gerenciar OpenThread NCPs ou RCPs . Esta CLI é voltada principalmente para testes de CI, mas pode ser usada manualmente para experimentar e testar instâncias do coprocessador OpenThread.
Pyspinel é usado para:
- Adicione testes simulados de coprocessador à integração contínua.
- Automatize o teste de testbeds executando o firmware do coprocessador no hardware.
- Depurar compilações de co-processador do OpenThread.
- Converta um coprocessador OpenThread em um farejador de pacotes.
Para obter mais informações, consulte o README
no repositório Pyspinel.