프로젝트 테스트
Google에서 출시한 OpenThread는 다양한 도구로 테스트됩니다.
지속적 통합
OpenThread에서는 지속적 통합 (CI)에 GitHub 작업을, 코드 적용 범위에는 Codecov를 사용합니다.
CI는 GNU Arm Embedded Toolchain을 사용하여 모든 예시 플랫폼의 빌드 검사를 실행하고 GCC, Clang, Android를 사용하여 시뮬레이션된 예를 실행합니다. 또한 x86, 플랫폼 아키텍처, 스레드 기기 구성을 대상으로 빌드 및 테스트합니다. 특정 테스트 및 검사에 대한 자세한 내용은 워크플로를 참조하세요.
또한 CI는 다음 작업을 수행합니다.
OSS 퍼즈
OpenThread는 OSS-Fuzz를 사용하여 퍼징 테스트됩니다. 이 테스트 기법에서는 메모리 누수 및 비정상 종료와 같은 문제를 찾기 위해 무효한 입력 및 무작위 입력이 소프트웨어에 높은 빈도로 노출되고 제출됩니다.
현재 퍼징 빌드 타겟은 OpenThread 저장소를 참고하세요.
제품 테스트
다음 도구를 사용하여 나만의 OpenThread 제품을 테스트하세요.
와이어상어
Wireshark는 물리적 및 가상 네트워크 인터페이스에서 실행되는 트래픽을 위한 오픈소스 네트워크 프로토콜 분석기입니다. 스레드 프로토콜은 Wireshark 2.4.0 이상에서 지원됩니다. 이 도구에 관한 문서와 다운로드는 wireshark.org에서 찾을 수 있습니다.
Wireshark에서 스레드가 지원되는 방법에 관한 자세한 내용은 Pyspinel을 사용한 패킷 스니핑을 참조하세요.
피스핀
Pyspinel은 Spinel 프로토콜의 Python CLI로 OpenThread NCP 또는 RCP를 구성 및 관리하는 데 사용됩니다. 이 CLI는 주로 CI 테스트에 타겟팅되지만 OpenThread 보조 프로세서 인스턴스를 실험하고 테스트하는 데 수동으로 사용할 수 있습니다.
Pyspinel은 다음과 같은 용도로 사용됩니다.
- 지속적 통합에 시뮬레이션된 보조 프로세서 테스트를 추가합니다.
- 하드웨어에서 공동 프로세서 펌웨어를 실행하는 테스트베드 테스트를 자동화합니다.
- OpenThread의 보조 프로세서 빌드를 디버그합니다.
- OpenThread 보조 프로세서를 패킷 스니퍼로 변환합니다.
자세한 내용은 Pyspinel 저장소의 README
를 참조하세요.