2010-06-23 20 views
5

Tengo un programa, asígnele el nombre a.out, que lee la entrada de un archivo y escribe alguna salida en stdout. Por ejemplo, un archivo contiene la línea 2,2 y mi programa "./a.out file" escribe 4 en la pantalla.suite de regresión de código abierto

Ahora, para estar seguro de que a.out funciona bien después del parche, estoy buscando una buena suite de regresión para Linux. Quiero que cada archivo que contiene 2,2 mi programa devuelva 4 y quiero que sea un caso de prueba.

¿Alguna idea sobre los paquetes de regresión?

+0

votada, buena pregunta, pero es difícil sugerir casos de prueba sin código. ¿La función que lee el archivo devuelve un string/bool/etc? –

Respuesta

1

Tiene a look at TAP para probar la unidad. Es lo que Perl usa para probar las entrañas de Perl (específicamente las presentaciones de CPAN), CCAN lo adoptó. Asumo C (dijiste a.out). Luego, simplemente haga que su función de lectura falle si se lee 2,2 (insinuando en 3 bytes) si NDEBUG no está definido.

Puede usar otra cosa, como -DUNIT_TESTS_RUNNING, solo tenga cuidado con las dependencias.

Por otra parte, si la función que está probando devuelve una cadena ... no es necesario molestar al preprocesador, deje que la prueba lo resuelva.

TAP es muy, muy fácil de integrar. Puede encontrar mi ad-hoc Valgrind aware version here. Tenga en cuenta que eso no es correcto, que el repositorio es un desastre, pero vale la pena mostrar lo fácil que es hacer que otras herramientas funcionen con TAP.

Por cierto, T: (T) est (A) nything (P) rotocolo

Si esto no es C, es necesario volver a etiquetar su pregunta.