找出我的FORTRAN项目中没有经过单元测试的部分

时间:2012-08-13 09:51:26

标签: unit-testing frameworks fortran

我目前正在转向funit来全面测试我相当大的Fortran-Project。 有没有一个工具可以让我找出我的项目的哪些行没有 还测试过?我使用emacs,所以有一个简单的脚本可以让我这么做 很容易看到我文件的哪些部分尚未测试?

我可以想象为这样的东西招募-prof编译器,但是 我刚开始。所以我绝对不能靠自己做到这一点。

1 个答案:

答案 0 :(得分:0)

取决于您的编译器。我在Linux上使用英特尔Fortran进行测试,以及其覆盖检查选项。使用

之类的代码编译和链接您的代码
ifort -g -prof-gen=srcpos ...

(旁注:并行make对我来说不起作用,启用了-prof-gen选项)编译将在您的sources目录中生成一些额外的文件。运行测试,每个程序执行都会在您的sources目录中生成一个*.dyn文件。运行所有测试后执行

profmerge
proforder
codecov

这将生成一个很好的详细HTML格式的覆盖率报告。在运行新的测试系列之前,不要忘记删除旧的*.dynpgopti.dpi*文件,否则您将看到不同覆盖结果的交集。