Después de años de no usar make, me encuentro necesitado de nuevo, la versión de gnu ahora. Estoy bastante seguro de que debería poder hacer lo que quiero, pero no he descubierto cómo, o encontré una respuesta con Google, etc.¿Cómo hacer que GNU haga una prueba explícita de falla?
Estoy intentando crear un objetivo de prueba que ejecutará mi programa varias veces, guardando los resultados en un archivo de registro. Algunas pruebas deberían hacer abortar mi programa. Lamentablemente, mi archivo MAKE aborta en la primera prueba que conduce a un error. Tengo algo como:
# Makefile
#
test:
myProg -h > test.log # Display help
myProg good_input >> test.log # should run fine
myProg bad_input1 >> test.log # Error 1
myProg bad_input2 >> test.log # Error 2
Con lo anterior, que se cierra después de la carrera bad_input1, sin llegar a la carrera bad_input2.
Make. no se adapta bien a esto. Puede encontrarse con una serie de problemas que incluyen: 'in | a | hilo | secuencia', el último determina el código de salida;' a; más; implicado; receta; línea; 'sufre del El mismo problema, sin pasar por muchos obstáculos, ejecutar lo mismo repetidamente con diferentes parámetros puede ser molesto para el script. Por lo general, he optado por escribir mis pruebas, luego, si es necesario, usarlo desde una computadora kefile –
Como alternativa ['set -e'] (http://stackoverflow.com/questions/3474526/stop-on-first-error) en bash puede hacer posible que se produzca un error cuando falla un comando, similar a hacer líneas de receta . –