ตอนที่ 14: โดย Zhaoyang Li ใน MTV และ Eric Aleshire in TOK (ตุลาคม 2020)
ตอนก่อนหน้า
หากต้องการตรวจหาการถดถอยของฟีเจอร์ใหม่ใน Chrome เพิ่มการทดสอบลงใน Waterfall (โครงสร้างพื้นฐานการสร้างและทดสอบอย่างต่อเนื่องของ Chrome)
มีเครื่องมือสร้างมากมายใน Waterfall ของ Chrome ที่ทำการทดสอบบนแพลตฟอร์มต่างๆ บทความนี้อธิบายวิธีเพิ่มชุดทดสอบให้กับเครื่องมือสร้างที่มีอยู่ ก่อนดำเนินการต่อ ให้พิจารณาคำถามเหล่านี้
ควรนำการทดสอบใหม่ไปใส่ไว้ในชุดโปรแกรมใหม่หรือควรเพิ่มการทดสอบใหม่ในชุดที่มีอยู่แล้ว
- การทดสอบจะจัดเป็นชุดทดสอบตามความใกล้เคียงของตำแหน่งต้นทางและธีม หากการทดสอบใหม่ไม่ตรงกับชุดโปรแกรมที่มีอยู่ คุณอาจใช้ชุดการทดสอบใหม่
ควรทดสอบกับเครื่องมือสร้างสาธารณะหรือเครื่องมือสร้างภายใน
- ใช้เครื่องมือสร้างภายในหากโค้ดอยู่ในที่เก็บภายใน หรือการทดสอบเกี่ยวข้องกับข้อมูลลับ
การทดสอบควรทำงานใน FYI CI, CI หลัก หรือคิวคอมมิต(CQ) หรือไม่
- FYI CI ต้องการการตรวจสอบด้วยตนเองของคุณและจะใช้สำหรับการทดสอบการปรับแต่งหรือการทดสอบ
- การทดสอบ CI หลักจะได้รับการตรวจสอบเป็นประจำโดยนายอำเภอ
- CQ บล็อกการส่ง CL เมื่อล้มเหลว แต่ใช้ทรัพยากรโครงสร้างพื้นฐานมากกว่า ชุดโปรแกรมใหม่ควรเริ่มต้นจาก CI ก่อนที่จะโปรโมตเป็น CQ เสมอ
- หากไม่แน่ใจ ทีม EnngProd ของแพลตฟอร์มช่วยคุณตัดสินใจได้
ฉันมีชุดทดสอบที่ทำงานใน CI อยู่แล้ว ฉันจะเพิ่มลงใน CQ ได้อย่างไร / ฉันต้องทำอย่างไร หากต้องการเครื่องมือสร้างใหม่
- รายงานข้อบกพร่องใน Infra>Client>Chrome คอมโพเนนต์เพื่อให้ทีม
chrome-browser-infra@
เริ่มการประเมินและช่วยคุณตั้งค่าได้
วิธีเพิ่มชุดทดสอบในเครื่องมือสร้างที่มีอยู่
หากต้องการเพิ่มชุดทดสอบลงในเครื่องมือสร้างที่มีอยู่ คุณต้องกำหนดค่าบางไฟล์ใน //src/testing/buildbot/
ดังนี้
- สร้างคีย์ใน
gn_isolate_map.pyl
สำหรับชุดทดสอบใหม่พร้อมป้ายกำกับเป้าหมายการทดสอบและข้อมูลประเภท เพิ่มคีย์นั้นไปยังกลุ่มการทดสอบใน
test_suites.pyl
(คุณค้นหาการแมปจากชื่อเครื่องมือสร้างไปยังกลุ่มทดสอบได้ในเครื่องมือสร้างในwaterfalls.pyl
)'all_simulator_tests': { 'previously_existing_test_suite': {}, 'exciting_new_feature_test_suite': {}, },
ปรับแต่งได้มากขึ้น
mixins.pyl
มีอาร์กิวเมนต์ที่ใช้กับกลุ่มการทดสอบในระดับกลุ่มต่างๆ ได้variants.pyl
ช่วยเรียกใช้ชุดโปรแกรมในหลายอินสแตนซ์ที่มีอาร์กิวเมนต์แตกต่างกัน
สร้างไฟล์การกำหนดค่าใหม่โดยเรียกใช้
generate_buildbot_json.py
หลังจากนั้น ก็ทำได้ง่ายๆ เพียงตรวจสอบการเปลี่ยนแปลงการกำหนดค่า เครื่องมือสร้างที่เรียกใช้ชุดโปรแกรมนี้จะรับการทดสอบใหม่โดยอัตโนมัติ และผลลัพธ์จะเริ่มเข้าสู่อินเทอร์เฟซเว็บสำหรับเครื่องมือสร้างใน Waterfall พร้อมด้วยข้อมูลการแก้ไขข้อบกพร่องจำนวนมากในกรณีที่เกิดข้อผิดพลาด