Saya menulis sebuah program / perpustakaan yang saya gunakan untuk mendapatkan hasil dalam sebuah artikel. (Di sini adalah , tapi pertanyaan saya adalah umum.) Saya harus tes yang saya jalankan secara teratur menggunakan ctest
(dibutuhkan beberapa menit untuk berjalan). Untuk mereproduksi beberapa tabel atau angka dalam artikel, saya harus membuat skrip atau program driver sederhana, yang berjalan mungkin 10 menit, kadang-kadang lebih, jadi saya tidak ingin memiliki bagian dari test suite reguler ini. Pada saat yang sama, saya ingin memastikan bahwa hasil dari artikel tersebut dapat:
- direproduksi nanti
- pastikan mereka masih memberikan hasil yang sama / benar setelah saya terus mengembangkan perpustakaan
Saat ini saya mencoba untuk memiliki program driver kecil yang saya jalankan sebagai bagian dari test suite reguler, dan jika saya ingin mereproduksi hasil dari artikel, saya menghapus tanda komentar beberapa baris di sana. Tentu saja, saya tidak pernah tahu baris mana yang tepat dan apakah saya harus mengubah beberapa parameter lain untuk mendapatkan hasil yang persis sama seperti pada artikel.
Saya juga mencoba untuk memiliki skrip Python yang menghitung angka / tabel yang tepat dari artikel. Skrip seperti itu biasanya berhenti berfungsi setelah pembaruan ke perpustakaan, karena skrip tersebut tidak dijalankan secara reguler (membutuhkan terlalu banyak waktu).
Metode terbaik yang terpikir oleh saya adalah memiliki contoh Fortran (atau C / C ++), yang akan dikompilasi secara teratur (sebagai bagian dari perpustakaan), tetapi tidak dijalankan dalam test suite reguler. Dengan begitu, setidaknya saya tahu bahwa itu mengkompilasi dengan baik (dan dengan demikian mudah-mudahan juga berjalan). Dan saya akan menguji beberapa contoh sederhana (lebih kecil) sebagai bagian dari test suite reguler.
Apa cara optimal untuk menangani masalah ini?