การทดสอบความเข้ากันได้ย้อนหลังทำบน Bitcoin Core คืออะไร?
การทดสอบหน่วยและการทำงานของ Bitcoin Core รุ่นล่าสุดนั้นเป็นการทดสอบโค้ดเบสของรุ่นนั้นอย่างเห็นได้ชัด
มีการทดสอบความเข้ากันได้แบบย้อนหลังอะไรบ้างเพื่อให้แน่ใจว่ารุ่นล่าสุดผ่านการทดสอบหน่วยและการทำงานเวอร์ชันก่อนหน้านี้
และในทางกลับกันการทดสอบความเข้ากันได้แบบย้อนหลังจะทำเพื่อให้แน่ใจว่ารุ่นก่อนหน้าผ่านการทดสอบหน่วยปัจจุบันและการทำงานหรือไม่
คำตอบ
การทดสอบความเข้ากันได้แบบย้อนหลังทำอะไรบ้างเพื่อให้แน่ใจว่ารุ่นล่าสุดผ่านการทดสอบการทำงานของเวอร์ชันก่อนหน้านี้
มีการทดสอบการทำงานfeature_backwards_compatibility.pyซึ่งจะหมุนโหนดทดสอบการทำงานจากแต่ละรุ่นก่อนหน้าเพื่อทำการทดสอบระหว่างกันในเวลาเดียวกัน
เมื่อคุณสร้าง Bitcoin Core เวอร์ชันล่าสุดแล้วคุณสามารถดาวน์โหลดไบนารีรุ่นก่อนหน้าได้โดยใช้:
test/get_previous_releases.py -b v0.19.1 v0.18.1 v0.17.2 v0.16.3 v0.15.2
จากนั้นคุณสามารถเรียกใช้การfeature_backwards_compatibility.py
ทดสอบทีละรายการหรือผ่านผู้ทดสอบ
เช่น test/functional/test_runner.py feature_backwards_compatibility.py
การทดสอบนี้ได้รับการอัปเดตกับรุ่นใหม่แต่ละรายการเพื่อเพิ่มโหนดทดสอบการทำงานจากรุ่นล่าสุดไปยังโหนดทดสอบการทำงานจากรุ่นก่อนหน้า
ในขณะที่เขียน (ธันวาคม 2020) มีคำขอดึงแบบเปิดจาก Sjors Provoost เพื่อเพิ่ม v0.20.1 ในการทดสอบความเข้ากันได้แบบย้อนกลับ
และในทางกลับกันการทดสอบความเข้ากันได้แบบย้อนหลังจะทำเพื่อให้แน่ใจว่ารุ่นก่อนหน้าผ่านการทดสอบหน่วยปัจจุบันและการทำงานหรือไม่
ฉันไม่รู้ในขั้นตอนนี้ว่าสิ่งนี้มีความสำคัญในทางใด (หรือสำหรับเรื่องนั้นว่าควรจะเป็น) แน่นอนว่าต้องใช้ทรัพยากรมากขึ้นในการสร้างรีลีสก่อนหน้าทั้งหมดจากนั้นทดสอบแทนที่จะเป็นเพียงการสปินโหนดทดสอบการทำงานจากรีลีสก่อนหน้า (ฉันจะอัปเดตหากเรียนรู้เพิ่มเติม)