การทดสอบโปรเจ็กต์
OpenThread ที่เผยแพร่โดย Google ผ่านการทดสอบจากเครื่องมือต่างๆ
การผสานรวมอย่างต่อเนื่อง
OpenThread ใช้ GitHub Actions เพื่อการผสานรวม (CI) และ Codecov เพื่อการครอบคลุมโค้ด
โดย CI จะตรวจสอบบิลด์สําหรับแพลตฟอร์มตัวอย่างทั้งหมดโดยใช้ GNU Arm ชุดเครื่องมือแบบฝังและตัวอย่างจําลองที่ใช้ GCC, Clang และ Android นอกจากนี้ยังสร้างและทดสอบกับ x86, สถาปัตยกรรมแพลตฟอร์ม และการกําหนดค่าอุปกรณ์เทรด ดูข้อมูลเพิ่มเติมเกี่ยวกับการทดสอบและการตรวจสอบที่เฉพาะเจาะจงได้ที่เวิร์กโฟลว์
นอกจากนี้ CI ยังดําเนินการดังต่อไปนี้
- ตรวจสอบรูปแบบโค้ดโดยใช้
clang-format
- การทดสอบ 1 หน่วย
- การทดสอบฟังก์ชันกับ CLI,
wpantund
(ที่มีtoranj
) และ Pyspitl
OSS-Fuzz
Openthread ได้รับการทดสอบ Fuzz ด้วย OSS-Fuzz ในเทคนิคการทดสอบนี้ ระบบจะส่งอินพุตที่ไม่ถูกต้องและแบบสุ่มไปยังความถี่และปริมาณสูงของซอฟต์แวร์เพื่อค้นหาปัญหา เช่น ข้อมูลรั่วไหลหรือข้อขัดข้อง
ดูที่เก็บ OpenThread สําหรับเป้าหมายบิลด์ Fuzz ปัจจุบัน
การทดสอบผลิตภัณฑ์
ใช้เครื่องมือต่อไปนี้เพื่อทดสอบผลิตภัณฑ์ OpenThread ของคุณเอง
แบบ Wireshark
Wireshark เป็นตัววิเคราะห์โปรโตคอลเครือข่ายแบบโอเพนซอร์สสําหรับการรับส่งข้อมูลที่ทํางานบนอินเทอร์เฟซเครือข่ายทางกายภาพและเสมือน รองรับโปรโตคอลชุดข้อความใน Wireshark 2.4.0 ขึ้นไป ดูเอกสารประกอบและการดาวน์โหลดเครื่องมือนี้ได้ที่ wireshark.org
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่ เทรดรองรับใน Wireshark ได้ที่การดักจับพัสดุด้วย Pyspitl
ไพ่พิสซิล
Pysapisl เป็น CLIthon CLI สําหรับโปรโตคอล Ssprl ที่ใช้เพื่อกําหนดค่าและจัดการ OpenThread NCP หรือ RCP CLI นี้มีเป้าหมายเป็นการทดสอบ CI เป็นหลัก แต่ใช้ด้วยตนเองเพื่อทดสอบและทดสอบอินสแตนซ์โปรเซสเซอร์ OpenThread ได้
Pysapisl ใช้เพื่อทําสิ่งต่อไปนี้
- เพิ่มการทดสอบตัวประมวลผลร่วมจําลองเพื่อการผสานรวมอย่างต่อเนื่อง
- ทําการทดสอบ bedbing ที่ใช้เฟิร์มแวร์ของโปรเซสเซอร์ร่วมบนฮาร์ดแวร์โดยอัตโนมัติ
- แก้ไขข้อบกพร่องบิลด์โปรเซสเซอร์ร่วมของ OpenThread
- แปลงโปรเซสเซอร์ OpenThread เป็นนักดักจับแพ็กเก็ต
ดูข้อมูลเพิ่มเติมได้ใน README
ในที่เก็บ Pysapisl