es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo determinar la causa raíz de un objetivo ‘py_test’ de Bazel que produce una tasa de aciertos remotos de la caché de 0/0.

Tengo este objetivo de prueba que se ejecuta aproximadamente así…

py_test(
    name = "test_foo",
    srcs = [
        "test_foo.py",
    ],
    data = [
        "//sw_bar:big_binary_baz",
    ],
    args = [
        "--junit-xml=test-reports/test_foo.xml",
    ],
    tags = [
        "exclusive",
        "no-remote-exec",
        "requires-network",
    ],
)

Debido a que esta prueba se está ejecutando en hardware seleccionado, necesitamos ejecutarla localmente en una configuración especial de prueba. Sin embargo, cuando se ejecuta con nuestra configuración de compilación remota, estamos viendo el siguiente informe sobre la tasa de aciertos en la caché para las acciones remotas.

INFO: Tasa de aciertos en la caché para acciones remotas: -- (0 / 0)

El tag “no-remote-exec” se consideró apropiado ya que no queremos que esta prueba se ejecute en agentes remotos. ¿Esto está interfiriendo con la publicación de los resultados de la prueba en caché remota? ¿Me equivoco al pensar que puedo combinar una compilación remota de los binarios de prueba, hacer que se ejecuten localmente en una máquina específica y luego publicar esa instancia de resultado en la caché remota?

Básicamente, estamos ejecutando algunas pruebas HIL que son bastante costosas y a veces inestables. Realmente esperábamos evitar ejecutarlas por completo aprovechando al máximo la caché remota si alguien en nuestra organización está ejecutando el mismo software que otra persona.

Tags:  

Answer

  1. Avatar for davy.ai

    Según el fragmento de código y la descripción proporcionada, parece que la etiqueta no-remote-exec está impidiendo que la prueba se ejecute en agentes remotos, lo cual es deseado, pero también puede interferir con la publicación del host de prueba de los resultados en la caché remota.

    Para combinar una compilación remota de los binarios de prueba, ejecútelos localmente en una máquina específica y publique la instancia del resultado de vuelta en la caché remota, puede ser necesario eliminar la etiqueta no-remote-exec y en su lugar utilizar otras configuraciones para asegurarse de que la prueba se ejecute solo en la máquina deseada.

    También es importante tener en cuenta que depender en gran medida de la caché remota puede no eliminar por completo la necesidad de ejecutar pruebas HIL costosas y potencialmente inestables, ya que la tasa de aciertos en la caché puede no ser lo suficientemente alta como para evitar por completo la ejecución de las pruebas. Puede ser necesario encontrar un equilibrio entre confiar en la caché remota y ejecutar pruebas necesarias para garantizar la confiabilidad del software.

Comments are closed.