De Chromium Chronicle #14: tests toevoegen aan de waterval,De Chromium Chronicle #14: tests toevoegen aan de waterval

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?

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/ :

  1. Maak een sleutel in gn_isolate_map.pyl voor de nieuwe testsuite met testdoellabel en type-info.
  2. 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 in waterfalls.pyl .)

    'all_simulator_tests': {
      'previously_existing_test_suite': {},
      'exciting_new_feature_test_suite': {},
    },
    
  3. 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 .
  4. 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!

,

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?

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/ :

  1. Maak een sleutel in gn_isolate_map.pyl voor de nieuwe testsuite met testdoellabel en type-info.
  2. 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 in waterfalls.pyl .)

    'all_simulator_tests': {
      'previously_existing_test_suite': {},
      'exciting_new_feature_test_suite': {},
    },
    
  3. 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 .
  4. 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!