Escribí un programa / biblioteca que usé para obtener resultados en un artículo. (Aquí está , pero mi pregunta es general). Tengo pruebas que ejecuto regularmente ctest
(me toma unos minutos ejecutarlas). Para reproducir algunas tablas o figuras en el artículo, tengo que construir un script o un programa de controlador simple, que ejecute unos 10 minutos, a veces más, por lo que no quiero tener esta parte del conjunto de pruebas regular. Al mismo tiempo, quiero asegurarme de que los resultados del artículo puedan ser:
- reproducido más tarde
- asegúrese de que sigan dando los mismos resultados / correctos después de seguir desarrollando la biblioteca
Actualmente trato de tener un pequeño programa de controlador que ejecuto como parte del conjunto de pruebas regular, y si quiero reproducir los resultados del artículo, descomento algunas líneas allí. Por supuesto, nunca sé qué líneas exactas y si tengo que ajustar algunos otros parámetros para obtener exactamente los mismos resultados que en el artículo.
También intenté tener un script de Python que calcule las figuras / tablas exactas del artículo. Dicha secuencia de comandos generalmente deja de funcionar después de una actualización de la biblioteca, porque no se ejecuta de forma regular (lleva demasiado tiempo).
El mejor método que se me ocurrió es tener un ejemplo de Fortran (o C / C ++), que se compilará regularmente (como parte de la biblioteca), pero no se ejecutará en el conjunto de pruebas regular. De esa manera, al menos sé que se compila bien (y con suerte también se ejecuta). Y probaré algún ejemplo simple (más pequeño) como parte de un conjunto de pruebas regular.
¿Cuáles son las formas óptimas de manejar este problema?