私は現在、かなり大きなFortranプロジェクトを完全にテストするためにfunitに切り替えています。プロジェクトのどの行がまだテストされていないかを見つけることができるツールはありますか?私はemacsを使用していますが、ファイルのどの部分がまだテストされていないかを簡単に確認できる簡単なスクリプトはありますか?
そのようなもののために-profコンパイラを採用することを想像することができましたが、私はまだ始めたばかりです。だから私は絶対に自分でこれを行うことはできません。
私は現在、かなり大きなFortranプロジェクトを完全にテストするためにfunitに切り替えています。プロジェクトのどの行がまだテストされていないかを見つけることができるツールはありますか?私はemacsを使用していますが、ファイルのどの部分がまだテストされていないかを簡単に確認できる簡単なスクリプトはありますか?
そのようなもののために-profコンパイラを採用することを想像することができましたが、私はまだ始めたばかりです。だから私は絶対に自分でこれを行うことはできません。
コンパイラによって異なります。LinuxでIntelFortranをテスト目的で使用し、そのカバレッジチェックオプションを使用しています。コードをコンパイルして、次のようなものにリンクします
ifort -g -prof-gen=srcpos ...
(補足:オプションを有効にすると、並列作成は機能しません-prof-gen
)コンパイルにより、ソースディレクトリにいくつかの追加ファイルが生成されます。テストを実行すると、プログラムを実行するたびに、*.dyn
ソースディレクトリにファイルが生成されます。すべてのテストを実行した後、実行します
profmerge
proforder
codecov
これにより、HTML形式の詳細なカバレッジレポートが作成されます。*.dyn
新しい一連のテストを実行する前に、古いファイルとファイルを削除することを忘れないでくださいpgopti.dpi*
。そうしないと、異なるカバレッジ結果の共通部分が表示されます。