Ich habe ein Programm / eine Bibliothek geschrieben, mit der ich in einem Artikel Ergebnisse erzielt habe. (Hier ist , aber meine Frage ist allgemein.) Ich habe Tests , dass ich regelmäßig laufen mit ctest
(es dauert ein paar Minuten zu laufen). Um einige Tabellen oder Abbildungen im Artikel zu reproduzieren, muss ich ein Skript oder ein einfaches Treiberprogramm erstellen, das möglicherweise 10 Minuten, manchmal auch länger, ausgeführt wird, sodass ich diesen Teil der regulären Testsuite nicht haben möchte. Gleichzeitig möchte ich sicherstellen, dass die Ergebnisse des Artikels:
- später wiedergegeben
- Stellen Sie sicher, dass sie immer noch die gleichen / richtigen Ergebnisse liefern, nachdem ich die Bibliothek weiterentwickle
Derzeit versuche ich, ein kleines Treiberprogramm zu haben, das ich als Teil der regulären Testsuite ausführe. Wenn ich die Ergebnisse des Artikels reproduzieren möchte, kommentiere ich einige Zeilen dort aus. Natürlich weiß ich nie, welche Zeilen genau sind und ob ich andere Parameter anpassen muss, um genau die gleichen Ergebnisse wie im Artikel zu erzielen.
Ich habe auch versucht, ein Python-Skript zu haben, das die genauen Zahlen / Tabellen aus dem Artikel berechnet. Ein solches Skript funktioniert normalerweise nach einem Update der Bibliothek nicht mehr, da es nicht regelmäßig ausgeführt wird (zu lange dauert).
Die beste Methode, die mir in den Sinn gekommen ist, ist ein Fortran (oder C / C ++) - Beispiel, das regelmäßig kompiliert wird (als Teil der Bibliothek), aber nicht in einer regulären Testsuite ausgeführt wird. Auf diese Weise weiß ich zumindest, dass es gut kompiliert (und somit hoffentlich auch läuft). Und ich werde ein einfaches (kleineres) Beispiel als Teil einer regulären Testsuite testen.
Wie kann dieses Problem optimal gelöst werden?