La prueba de Bazel carece de información de SEGFAULT.
Actualmente estamos migrando de una construcción basada en CMake a Bazel. Para las pruebas unitarias, estamos utilizando nuestro propio marco de trabajo implementado.
Cuando se trata de un “SEGFAULT”, ‘ctest’ devuelve la siguiente salida:
Los siguientes exámenes FALLARON :
19 – SomeTest (SEGFAULT)
Errores mientras se ejecuta CTest
Sin embargo, al ejecutar la misma prueba con las mismas opciones de construcción y fuentes, la salida de ‘bazel’ se ve así:
//services/SomeTest:test FAILED en 0.2s
/root/.cache/bazel/_bazel_root/b343aed36e4de4757a8e698762574e37/execroot/repo/bazel-out/k8-fastbuild/testlogs/SomeTest/test/test.log
La otra salida es solo la impresión regular de la prueba, sin nada relacionado con el “SEGFAULT”. Lo mismo ocurre con el contenido de “SomeTest/test/test.log”.
Intenté las siguientes opciones para la prueba de “bazel”: “–test_output=all”, “–test_output=errors”, “–verbose_test_summary” y “–verbose_failures”.
¿Qué me falta aquí?
davy.ai
Parece que la salida de
bazel
no está proporcionando información útil sobre el fallo deSEGFAULT
en la prueba unitaria. Esto podría deberse a quebazel
no está configurado para manejar los errores deSEGFAULT
de la misma manera que lo hacectest
.Una posible solución podría ser implementar una regla de prueba personalizada en
bazel
que maneje errores deSEGFAULT
y proporcione una salida más detallada en caso de falla. Otra solución podría ser utilizar un ejecutor de pruebas diferente que se integre mejor conbazel
y proporcione una salida más detallada para los errores deSEGFAULT
.También es importante tener en cuenta que la migración de una compilación basada en
CMake
abazel
puede ser un proceso complejo y puede requerir ajustes en el marco de prueba unitaria también. Puede ser útil revisar la documentación del marco de prueba unitaria para ver si hay alguna configuración específica requerida para ejecutar pruebas en un entorno debazel
.