Coverity发现我的构建未使用的许多.h文件

时间:2018-10-19 20:39:41

标签: coverity

在我的travis构建中,我让travis下载我的文件,让它运行Coverity-Scan,并为项目所包含的所有71个源文件输出SCM数据,但随后似乎找到了虚拟机包含的所有.h文件并造成阻塞它们占文件总数的15%以上。 Coverty-tool的相关输出行是:

    71 C/C++ compilation units (100%) are ready for analysis
    Extracting SCM data for 705 files...

有人知道我做错了什么吗? travis.yml可以在https://github.com/wxMaxima-developers/wxmaxima/blob/a32e56eff71e256d2c5e7f027a6190324ab9dffb/.travis.yml

处阅读

1 个答案:

答案 0 :(得分:0)

找到它了:https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh包含以下行,试图找到项目中包含的所有源文件,最后在travis上找到整个虚拟机中的所有源文件:

cov-import-scm --dir $RESULTS_DIR --scm git --log $RESULTS_DIR/scm_log.txt 2>&1

使用脚本的本地副本并删除此行可解决此问题。此外,如果使用了ccache,则以下一行对于使Coverity完全收集不需要重建的文件的任何数据是必要的:

export CCACHE_DISABLE=1

- echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-

除coverity主页上所述外,不得包含“ https://” ...并且如果CXXFLAGS不包含

-ansi

coverity不会收集任何数据。经过所有这些更改,travis构建基于travis的工作正常,但是travis脚本中的另一个错误使Coverity构建返回“ -1”作为退出状态:服务器给出了意外的答复“ Build正确上传”。