Aflevering 14: door Zhaoyang Li in MTV en Eric Aleshire in TOK (oktober 2020)
Vorige afleveringen
Wilt u regressies detecteren voor uw nieuwe functie in Chrome? Voeg uw tests toe aan de waterval (de continue bouw- en testinfrastructuur van Chrome)!
Er zijn veel bouwers op de waterval van Chrome die tests uitvoeren op verschillende platforms. In dit artikel wordt beschreven hoe u een testsuite aan een bestaande builder toevoegt. Overweeg de volgende vragen voordat u verdergaat:
Moeten de nieuwe tests in een gloednieuwe suite worden geplaatst, of gewoon worden toegevoegd aan een bestaande suite?
- Tests worden georganiseerd in testsuites op basis van de nabijheid van de bronlocatie en het thema. Als uw nieuwe tests logischerwijs niet in een bestaande suite passen, heeft u waarschijnlijk een nieuwe suite nodig.
Moeten de tests worden uitgevoerd bij een openbare bouwer of bij een interne bouwer?
- Gebruik een interne builder als de code zich in een interne opslagplaats bevindt, of als de tests vertrouwelijke gegevens bevatten.
Moeten de tests worden uitgevoerd in FYI CI, hoofd-CI of commit-wachtrij (CQ)?
- Ter informatie: CI heeft uw zelfcontrole nodig en wordt gebruikt voor testverfijning of experimenten.
- De belangrijkste CI-tests worden regelmatig gecontroleerd door sheriffs.
- CQ blokkeert CL-indiening bij falen, maar neemt meer infrastructuurbronnen in beslag . Een nieuwe suite moet altijd beginnen vanaf CI voordat deze wordt gepromoveerd naar CQ .
- Als u het niet zeker weet, kan het EngProd-team van uw platform u helpen beslissen.
Ik heb al een testsuite in CI, hoe voeg ik deze toe aan CQ? / Wat moet ik doen als ik een nieuwe bouwer nodig heb?
- Meld een bug in de component Infra>Client>Chrome, zodat het team
chrome-browser-infra@
evaluaties kan starten en u kan helpen bij het instellen.
Hoe u een testsuite aan een bestaande bouwer toevoegt
Om een testsuite aan een bestaande builder toe te voegen , moet je enkele bestanden configureren in //src/testing/buildbot/
:
- Maak een sleutel in
gn_isolate_map.pyl
voor de nieuwe testsuite met testdoellabel en type-info. Voeg die sleutel toe aan een testgroep in
test_suites.pyl
. (Je kunt de toewijzing van de naam van de bouwer naar de testgroepen vinden op bouwer inwaterfalls.pyl
.)'all_simulator_tests': { 'previously_existing_test_suite': {}, 'exciting_new_feature_test_suite': {}, },
Meer fijnafstemmingen.
-
mixins.pyl
bevat argumenten die kunnen worden toegepast op een groep tests op verschillende groepsniveaus. -
variants.pyl
helpt een suite in meerdere instanties uit te voeren met verschillende argumenten .
-
Genereer configuratiebestanden opnieuw door
generate_buildbot_json.py
uit te voeren.
Hierna is het een eenvoudige kwestie van het inchecken van uw configuratiewijzigingen; de bouwers die deze suite uitvoeren, zullen de nieuwe tests automatisch oppikken, en de resultaten zullen binnenstromen op de webinterface voor de bouwer van de waterval - compleet met veel debug-informatie in het geval van fouten!