การทดสอบโครงการ
OpenThread ที่ออกโดย Google ได้รับการทดสอบโดยเครื่องมือหลายอย่าง
บูรณาการอย่างต่อเนื่อง
OpenThread ใช้ GitHub Actions สำหรับการรวมอย่างต่อเนื่อง (CI) และ Codecov สำหรับการครอบคลุมโค้ด
CI ทำการตรวจสอบการสร้างสำหรับแพลตฟอร์มตัวอย่างทั้งหมดโดยใช้ GNU Arm Embedded Toolchain และสำหรับตัวอย่างจำลองโดยใช้ GCC, Clang และ Android นอกจากนี้ยังสร้างและทดสอบกับ x86 สถาปัตยกรรมแพลตฟอร์มและการกำหนดค่าอุปกรณ์เธรด สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการทดสอบและการตรวจสอบเฉพาะโปรดดู เวิร์กโฟลว์
นอกจากนี้ CI ยังดำเนินการ:
- การตรวจสอบรูปแบบรหัส โดยใช้
clang-format
- การทดสอบหน่วย
- การทดสอบการทำงาน กับ CLI,
wpantund
(พร้อมtoranj
) และ Pyspinel
OSS-Fuzz
OpenThread เป็น fuzz ที่ทดสอบด้วย OSS-Fuzz ในเทคนิคการทดสอบนี้จะมีการส่งอินพุตที่ไม่ถูกต้องและสุ่มที่ความถี่สูงและปริมาณไปยังซอฟต์แวร์เพื่อค้นหาปัญหาต่างๆเช่นหน่วยความจำรั่วหรือล่ม
ดูที่เก็บ OpenThread สำหรับ เป้าหมายการสร้าง ที่คลุมเครือใน ปัจจุบัน
การทดสอบผลิตภัณฑ์
ใช้เครื่องมือต่อไปนี้เพื่อทดสอบผลิตภัณฑ์ OpenThread ของคุณเอง
Wireshark
Wireshark คือตัววิเคราะห์โปรโตคอลเครือข่ายโอเพ่นซอร์สสำหรับการรับส่งข้อมูลที่ทำงานบนอินเทอร์เฟซเครือข่ายทางกายภาพและเสมือน รองรับโปรโตคอล Thread ใน Wireshark 2.4.0 และใหม่กว่า เอกสารและดาวน์โหลดสำหรับเครื่องมือนี้สามารถพบได้ที่ wirehark.org
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการสนับสนุนเธรดใน Wireshark โปรดดู Packet sniffing ด้วย Pyspinel
Pyspinel
Pyspinel เป็น Python CLI สำหรับ โปรโตคอล Spinel ซึ่งใช้ในการกำหนดค่าและจัดการ OpenThread NCPs หรือ RCPs CLI นี้มีเป้าหมายหลักเพื่อการทดสอบ CI แต่สามารถใช้ด้วยตนเองเพื่อทดลองและทดสอบอินสแตนซ์ OpenThread Co-Processor
Pyspinel ใช้เพื่อ:
- เพิ่มการทดสอบ Co-Processor จำลองเพื่อการผสานรวมอย่างต่อเนื่อง
- ทำการทดสอบโดยอัตโนมัติของ testbeds ที่รันเฟิร์มแวร์ Co-Processor บนฮาร์ดแวร์
- Debug Co-Processor สร้าง OpenThread
- แปลง OpenThread Co-Processor เป็น packet sniffer
สำหรับข้อมูลเพิ่มเติมโปรดดู README
ในที่เก็บ Pyspinel