14. Bölüm: MTV'de Zhaoyang Li ve TOK'da Eric Aleshire tarafından (Ekim 2020)
Önceki bölümler
Chrome'daki yeni özelliğiniz için regresyonları tespit etmek ister misiniz? şelale (Chrome'un sürekli derleme ve test altyapısı) testlerinden faydalanabilirsiniz.
Chrome'un şelalesinde çeşitli testler yapan birçok derleyici vardır platformlar. Bu makalede, mevcut bir oluşturucu. Devam etmeden önce şu soruları göz önünde bulundurun:
Yeni testler yepyeni bir pakette mi yoksa yalnızca mevcut bir pakete mi eklenmeli?
- Testler, test paketlerinde kaynak konumunun ve temanın yakınlığına göre düzenlenir. Yeni testleriniz mantıksal olarak mevcut herhangi bir pakete sığmıyorsa büyük olasılıkla yeni bir pakete ihtiyacınız var.
Testler herkese açık oluşturucuda mı yoksa dahili oluşturucuda mı çalıştırılmalıdır?
- Kod dahili bir depoda bulunuyorsa dahili bir oluşturucu kullanın veya Testler gizli veriler içeriyorsa.
Testler FYI CI, ana CI veya kaydetme sırasında(CQ) çalıştırılmalı mı?
- FYI CI'nın kendi kendine izlemeniz olması gerekir ve test geliştirme ya da olanak sağlar.
- Ana CI testleri, şerifler tarafından düzenli olarak izlenir.
- Hata durumunda CQ, CL gönderimini engeller ancak daha fazla altyapı kaynağı alır. Yeni paket, CQ'ye yükseltilmeden önce her zaman CI'dan başlamalıdır.
- Emin değilseniz platformunuzun EngProd ekibi karar vermenize yardımcı olabilir.
CI'da çalışan bir test paketim var. Bunu CQ'ya nasıl eklerim? / yeni bir mühendise mi ihtiyacınız var?
- Infra>Client>Chrome bileşeninde hata bildiriminde bulunun
chrome-browser-infra@
ekibi değerlendirmeleri başlatabilir ve kurulumu yapmanıza yardımcı olabilir.
Mevcut bir derleyiciye test paketi ekleme
Mevcut bir derleyiciye test paketi eklemek için bazı dosyaları yapılandırmanız gerekir
//src/testing/buildbot/
içinde:
- Yeni test paketi için
gn_isolate_map.pyl
ürününde bir anahtar oluşturun test hedefi etiketi ve tür bilgileriyle değiştirin. Bu anahtarı
test_suites.pyl
bölgesinde bir test grubuna ekleyin. (Oluşturucu adından eşlemeyi oluşturucudaki test gruplarınawaterfalls.pyl
.)'all_simulator_tests': { 'previously_existing_test_suite': {}, 'exciting_new_feature_test_suite': {}, },
Daha fazla ince ayar.
mixins.pyl
, şu özelliklere sahip bağımsız değişkenler içeriyor: çeşitli grup düzeylerinde bir grup teste uygulanabilir.variants.pyl
, bir paketin birden fazla örnekte çalıştırılmasına yardımcı olur kullanabilirsiniz.
Aşağıdaki komutu çalıştırarak yapılandırma dosyalarını yeniden oluşturun
generate_buildbot_json.py
.
Bu adımdan sonra yapılandırma değişikliklerinizi kontrol etmeniz yeterlidir; Bu paketi çalıştıran geliştiriciler yeni testleri otomatik olarak alır ve Derleyici'nin sonuçları web arayüzüne aktarılmaya başlar. bir araya getirir. Başarısızlık durumunda birçok hata ayıklama bilgisi sunar.