Episodio 14: por Zhaoyang Li en MTV y Eric Aleshire en TOK (octubre de 2020)
Episodios anteriores
¿Deseas detectar regresiones para tu nueva función en Chrome? Agrega tu pruebas a la cascada (infraestructura de prueba y compilación continuas de Chrome).
Hay muchos compiladores en la cascada de Chrome que ejecutan pruebas en una variedad de y plataformas de Google Cloud. En este artículo, se describe cómo agregar un paquete de pruebas a un generador del sitio web. Antes de continuar, considera estas preguntas:
¿Las pruebas nuevas deberían alojarse en un paquete completamente nuevo o solo se deberían agregar a uno existente?
- Las pruebas se organizan en paquetes de pruebas por proximidad de ubicación de la fuente y tema. Si tus nuevas pruebas no pueden encajar de forma lógica en ningún paquete existente, es probable que un nuevo paquete.
¿Las pruebas deben ejecutarse en un compilador público o en un compilador interno?
- Usa un compilador interno si el código se encuentra en un repositorio interno. las pruebas implican datos confidenciales.
¿Las pruebas deben ejecutarse en la CI principal, en la CI principal o en la cola de confirmación(CQ)?
- Para tu información, CI necesita tu autosupervisión y se usa para definir mejor las pruebas o para realizar experimentos.
- Las alguaciles supervisan con regularidad las pruebas principales de CI.
- CQ bloquea el envío de CL en caso de error, pero toma más recursos de infraestructura. Un paquete nuevo siempre debe comenzar desde la CI antes de ascender a CQ.
- Si no tienes certeza, el equipo de EngProd de tu plataforma puede ayudarte a tomar una decisión.
Ya tengo un paquete de pruebas que se ejecuta en CI, ¿cómo lo agrego a CQ? /¿Qué sucede si ¿necesitas un compilador nuevo?
- Informa un error en el componente Infra>Client>Chrome
El equipo de
chrome-browser-infra@
puede iniciar las evaluaciones y ayudarte con la configuración.
Cómo agregar un paquete de pruebas a un compilador existente
Para agregar un conjunto de pruebas a un compilador existente, debes configurar algunos archivos.
en //src/testing/buildbot/
:
- Crea una clave en
gn_isolate_map.pyl
para el nuevo paquete de pruebas con información de etiquetas y tipo de objetivo de prueba. Agrega esa clave a un grupo de prueba en
test_suites.pyl
. (Puedes encontrar la asignación del nombre del compilador a los grupos de prueba en el compilador enwaterfalls.pyl
).'all_simulator_tests': { 'previously_existing_test_suite': {}, 'exciting_new_feature_test_suite': {}, },
Más ajustes
mixins.pyl
contiene argumentos que se pueden aplicar a un grupo de pruebas en varios niveles de grupo.variants.pyl
ayuda a ejecutar un paquete en varias instancias. con argumentos diferentes.
Vuelve a generar los archivos de configuración ejecutando
generate_buildbot_json.py
Luego, solo tienes que registrar los cambios de la configuración. los compiladores que ejecutan este paquete recogerán las pruebas nuevas automáticamente. los resultados comenzarán a fluir en la interfaz web para el compilador de la cascada, con mucha información de depuración en caso de fallas.