Google은 흑인 공동체를 위한 인종적 평등을 추구하기 위해 노력하고 있습니다. 자세히 알아보기

테스트 중

프로젝트 테스트

Google에서 출시한 OpenThread는 다양한 도구로 테스트되었습니다.

지속적 통합

OpenThread는 지속적 통합 (CI)에 GitHub 작업을, 코드 적용 범위에 Codecov를 사용합니다.

CI는 GNU Arm Embedded Toolchain을 사용하여 모든 예시 플랫폼의 빌드 검사를 수행하고 GCC, Clang, Android를 사용하는 시뮬레이션된 예에서 빌드를 확인합니다. 또한 x86, 플랫폼 아키텍처, 스레드 기기 구성을 빌드하고 테스트합니다. 특정 테스트와 검사에 관한 자세한 내용은 워크플로를 참조하세요.

또한 CI는 다음을 수행합니다.

  1. clang-format를 사용하여 코드 스타일 검사
  2. 단위 테스트
  3. CLI, wpantund(toranj 사용), Pyspinel에 대한 기능 테스트

OSS 퍼즈

OpenThread는 OSS-Fuzz로 퍼즈 테스트됩니다. 이 테스트 기법에서는 메모리 누수 또는 비정상 종료와 같은 문제를 찾기 위해 유효하지 않은 임의 입력이 높은 빈도와 볼륨으로 소프트웨어에 제출됩니다.

현재 퍼징 빌드 타겟은 OpenThread 저장소를 참조하세요.

제품 테스트

다음 도구를 사용하여 OpenThread 제품을 테스트하세요.

와이어샤크

Wireshark는 물리적 및 가상 네트워크 인터페이스에서 실행되는 트래픽에 대한 오픈소스 네트워크 프로토콜 분석기입니다. 스레드 프로토콜은 Wireshark 2.4.0 이상에서 지원됩니다. 이 도구의 문서 및 다운로드는 wireshark.org에서 찾을 수 있습니다.

Wireshark에서 Threads가 지원되는 방법에 대한 자세한 내용은 Pyspinel을 사용한 패킷 스니핑을 참조하세요.

피스피넬

Pyspinel은 Spinel 프로토콜용 Python CLI로 OpenThread NCP 또는 RCP를 구성 및 관리하는 데 사용됩니다. 이 CLI는 주로 CI 테스트에 타겟팅되지만 수동으로 사용하여 OpenThread Co-Processor 인스턴스를 실험하고 테스트할 수 있습니다.

Pyspinel은 다음과 같은 용도로 사용됩니다.

  • 지속적 통합에 시뮬레이션된 Co-Processor 테스트를 추가합니다.
  • 하드웨어에서 Co-Processor 펌웨어를 실행하는 테스트베드 테스트를 자동화합니다.
  • OpenThread의 보조 프로세서 빌드를 디버깅합니다.
  • OpenThread Co-Processor를 패킷 스니퍼로 변환합니다.

자세한 내용은 Pyspinel 저장소의 README를 참조하세요.