Estoy desarrollando una aplicación que maneja CTRL-C. Estoy produciendo un manejador de señal para cerrar con gracia los hilos y otros recursos.pruebas de unidad para CTRL-C enviadas a una aplicación
Quiero probar CTRL-C en diferentes escenarios donde podría estar mi aplicación. Sé cómo configurarlos para el proceso bajo prueba, pero necesito una forma (en el código del conjunto de pruebas en funcionamiento) para verificar si se alcanza esa condición o no para llamar exactamente a CTRL-C.
Trabajo en Linux y quiero ejecutar mis pruebas automáticamente con la ayuda de CPPUNIT
. En cada una de mis pruebas CTRL-C comienzo el proceso y luego envío CTRL-C usando la función kill
que tiene el PID del proceso.
Estoy utilizando la memoria compartida; una vez que la aplicación probada alcanza una condición de mi interés o un punto en el que me gustaría enviar CTRL-C, escribo una etiqueta o un estado en la memoria compartida. Al mismo tiempo, el código del conjunto de pruebas que se ejecuta en un proceso diferente está sondeando continuamente la memoria compartida y, una vez que lee el estado deseado, envía CTRL-C/kill.
¿Crees que es un buen enfoque o generalmente se hace de maneras mejores/efectivas?
Saludos cordiales
AFG
posible duplicado de [¿Por qué no puedo causar un fallo de seg?] (Http://stackoverflow.com/questions/2045314/why-cant-i-cause-a-seg-fault) –