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에서 스레드가 지원되는 방법에 관한 자세한 내용은 Pyspinel을 사용한 패킷 스니핑을 참조하세요.

피스핀

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

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

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

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