coverity可用于扫描python代码库如果是,那么在cov build命令中要给出哪些输入最好有完整的cov命令序列来扫描python代码。
最佳答案
假设你有一个虚拟项目,看起来像:
src/
file.py
file2.py
tests/
test1.py
test2.py
3rdparty/
skip.py
setup.py
要分析除
3rdparty
文件夹之外的所有内容,可以执行以下命令:cov-configure --python
cov-build --dir foo \
--no-command \
--fs-capture-search ./ \
--fs-capture-search-exclude-regex ./3rdparty
cov-analyze --dir foo \
--all \
--aggressiveness-level high
cov-format-errors --dir foo \
--html-output results
cov-commit-defects --dir foo \
--host coverity.mycompany.com \
--stream MYSTREAM \
--auth-key-file mycoverity.key
说明:
cov-configure
通知Coverity您将扫描Python代码
cov-build
通知Coverity构建代码由于没有编译python,因此不需要构建(
--no-command
),但它仍然需要知道从哪里获取源代码(--fs-capture-search
)。您可以添加多个--fs-capture-search
或--fs-capture-search-exclude-regex
参数以满足您的需要。cov-analyze
执行实际的代码分析。你可以通过很多开关,但我认为对于python来说,这些就足够了
cov-format-errors
在新的
results
文件夹中生成有用的html报告。支持其他输出格式,而不仅仅是html。cov-commit-defects
将扫描结果提交到指定流的Coverity Connect中央服务器。要提交工作,您必须使用Coverity密钥文件(从Coverity Server Web UI下载此密钥)标识自己,并且此文件必须为用户只读(即
chmod 400 mycoverity.key
)注:以上各项对我公司的内部Coverity服务器(即付费产品)均有效。对于免费开放源码版本的coverity,情况可能有所不同(还没有测试过)。对于后面的例子,我将查看一些开源项目:https://github.com/search?q=--fs-capture-search&type=Code