我目前正在转向funit来全面测试我相当大的Fortran-Project。 有没有一个工具可以让我找出我的项目的哪些行没有 还测试过?我使用emacs,所以有一个简单的脚本可以让我这么做 很容易看到我文件的哪些部分尚未测试?
我可以想象为这样的东西招募-prof编译器,但是 我刚开始。所以我绝对不能靠自己做到这一点。
答案 0 :(得分:0)
取决于您的编译器。我在Linux上使用英特尔Fortran进行测试,以及其覆盖检查选项。使用
之类的代码编译和链接您的代码ifort -g -prof-gen=srcpos ...
(旁注:并行make对我来说不起作用,启用了-prof-gen
选项)编译将在您的sources目录中生成一些额外的文件。运行测试,每个程序执行都会在您的sources目录中生成一个*.dyn
文件。运行所有测试后执行
profmerge
proforder
codecov
这将生成一个很好的详细HTML格式的覆盖率报告。在运行新的测试系列之前,不要忘记删除旧的*.dyn
和pgopti.dpi*
文件,否则您将看到不同覆盖结果的交集。