ตอนที่ 14: โดย Zhaoyang Li ใน MTV และ Eric Aleshire ใน TOK (ตุลาคม 2020)
ตอนก่อนหน้า
หากต้องการตรวจหาการเกิดปัญหาซ้ำสำหรับฟีเจอร์ใหม่ใน Chrome เพิ่ม ไปยัง Waterfall (การสร้างและทดสอบโครงสร้างพื้นฐานอย่างต่อเนื่องของ Chrome)!
มีเครื่องมือสร้างมากมายบน Waterfall ของ Chrome ที่เรียกใช้การทดสอบกับ ใหม่ บทความนี้อธิบายวิธีเพิ่มชุดโปรแกรมทดสอบลงใน ก่อนดำเนินการต่อ โปรดพิจารณาคำถามต่อไปนี้
การทดสอบใหม่ควรจะอยู่ในชุดโปรแกรมใหม่ หรือแค่เพิ่มลงในชุดที่มีอยู่แล้ว
- การทดสอบจะจัดเป็นชุดทดสอบตามความใกล้เคียงของตำแหน่งและธีมของแหล่งที่มา หากการทดสอบใหม่ไม่สามารถลง ชุดโปรแกรมที่มีอยู่ได้อย่างเหมาะสม ต้องการชุดโปรแกรมใหม่
ควรทำการทดสอบในเครื่องมือสร้างสาธารณะหรือเครื่องมือสร้างภายใน
- ใช้เครื่องมือสร้างภายในหากโค้ดอยู่ในที่เก็บภายใน หรือ การทดสอบเกี่ยวข้องกับข้อมูลลับ
การทดสอบควรทำงานใน CI FYI, CI หลัก หรือคิวคอมมิต(CQ) ดีไหม
- FYI CI ต้องการให้คุณตรวจสอบตนเอง และใช้สำหรับการปรับแต่งการทดสอบหรือ ในการทดสอบ
- นายอำเภอตรวจสอบการทดสอบ CI หลักอย่างสม่ำเสมอ
- CQ บล็อกการส่ง CL เมื่อล้มเหลว แต่ใช้ทรัพยากรโครงสร้างพื้นฐานมากกว่า ชุดโปรแกรมใหม่ควรเริ่มจาก CI ก่อนที่จะได้รับการโปรโมตเป็น CQ เสมอ
- หากไม่แน่ใจ ทีม EngProd ของแพลตฟอร์มช่วยคุณตัดสินใจได้
ฉันมีชุดทดสอบที่ทำงานใน CI อยู่แล้ว ฉันจะเพิ่มลงใน CQ ได้อย่างไร / จะเกิดอะไรขึ้นหากฉัน ต้องการช่างก่อสร้างใหม่ใช่ไหม
- รายงานข้อบกพร่องใน Infra>ไคลเอ็นต์>คอมโพเนนต์ 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 - มีข้อมูลการแก้ไขข้อบกพร่องจำนวนมากในกรณีที่เกิดข้อผิดพลาด!