2010-12-09 28 views
6

He buscado todos los documentos pero parece que no puedo encontrar un solo ejemplo de uso de CTEST_CUSTOM_PRE_TEST.¿Cómo se usa CTEST_CUSTOM_PRE_TEST?

Básicamente necesito iniciar y ejecutar algunos comandos en el servidor antes de ejecutar la prueba. Entonces necesito agregar algunos pasos previos a la prueba. ¿Cuál es la sintaxis de CTEST_CUSTOM_PRE_TEST?

CTEST_CUSTOM_PRE_TEST (??? qué poner aquí ???) ADD_TEST (MyTest MyTestCommand)

Respuesta

5

CTEST_CUSTOM_PRE_TEST es una variable que se utiliza en el contexto de la ejecución de un tablero ctest. Se debe establecer directamente en el script ctest -S o en un archivo CTestCustom.cmake en la parte superior del árbol de compilación.

En cualquier archivo, un valor de ejemplo podría ser:

set(CTEST_CUSTOM_PRE_TEST "perl prepareForTesting.pl -with-this -and-that") 

Debe ser una sola línea de comandos, el formato adecuado para la ejecución en el sistema que se encuentra. Se ejecuta una vez durante una llamada ctest_test, antes de que se ejecuten todas las pruebas. Del mismo modo, también hay una variable CTEST_CUSTOM_POST_TEST, que también debe ser una sola línea de comando, pero se ejecuta después de que se hayan realizado todas las pruebas.

Citar y escapar args con espacios, comillas y barras invertidas puede ser un reto ... pero tal vez tampoco lo necesites.

No sé de un ejemplo real de esto que yo le puedo señalar, pero puedo leer el código fuente ctest ... ;-)

+0

¿Quizás aprovisionamiento? – Penz

1

En OpenSCAD en Linux sin cabeza intentamos para que se inicie una framebuffer virtual antes de ejecutar ctest. Sin embargo, no usamos PRE_TEST. Construimos nuestro propio CTestCustom.cmake en el directorio de compilación durante la ejecución 'cmake'. (Usamos POST_TEST, pero había algunas versiones recientes de cmake donde POST_TEST estaba roto)

Puede encontrar el código aquí https://github.com/openscad/openscad/blob/master/tests