Melexis的狮身人面像覆盖延伸
mlx.coverit的Python项目详细描述
Sphinx Coverity插件
将Coverity报告随文档一起发布-在每个版本中都是最新的。包括评论和其他特殊数据 在同一张桌子上画一些漂亮的图表来展示质量。
目标
Coverity的报告功能使您能够将数据导出到单独的文档中。虽然这可能是首选, 它也与您的软件文档分离。另一个不足是它不包含评论或任何 其他特殊领域。这意味着你可以在没有任何缺陷的情况下 解释为什么他们是故意的。因此,您不能将对操作的解释链接到该报告,并且 数字可能意味着什么。此插件应启用SIM卡PLE和无缝覆盖报告集成到 现有狮身人面像文件。生成一个重构的缺陷文本表是一个选项,但这允许更改 在呈现之前,为了提供一个更可靠的路径,这个插件通过coverity api和 通过Sphinx生成/呈现文档,无需中间(可编辑)工件。
安装
pip install mlx.coverity
配置
conf.py 文件包含项目的文档配置。此文件需要按顺序配置 配置Coverity插件。
首先,插件需要在 扩展名 变量中启用:
extensions = [ 'mlx.coverity', ... ]
凭证
应定义python变量coverity_credentials以覆盖coverity的默认配置 插件,
插件的自定义凭据示例:
coverity_credentials={'hostname':'scan.coverity.com','port':'8080','transport':'http','username':'reporter','password':'coverity','stream':'some_coverty_stream',}
默认配置
插件本身拥有一个默认配置,可用于任何Coverity项目:
coverity_credentials={'hostname':'scan.coverity.com','port':'8080','transport':'http','username':'reporter','password':'coverity','stream':'some_coverty_stream',}
这个内置在插件中的默认配置可以通过项目的conf.py 覆盖。
用法
在重新构造的文本文件中,可以调用块 。覆盖列表: ,它将生成表 具有标题和定义的列。例如,要显示cid、classification、action和comment列,而 筛选具有值 错误的分类项,应使用以下代码段:
..coverity-list::Customtabletitle:col:CID,Classification,Action,Comment:widths:10202050:classification:Bug
然后,插件将自动用从Coverity服务器查询的表替换此块。
您也可以将此块称为 。覆盖列表: 生成饼图。例如,要标记项目的数量 分类为有意的和分类为待定或未分类的项目的数量,同时过滤分类 项目,您应该使用以下代码段:
..coverity-list::Customcharttitle:chart:classification:Intentional,Pending+Unclassified:classification:Bug,Intentional,Pending,Unclassified
该插件允许同时使用 col`和'chart 两个显示选项。在这种情况下,他们共享 所有过滤选项。
覆盖列表的属性
block coverity list 采用以下属性,以提供更好的粒度和显示信息的筛选。 请记住,所有属性都将由 : 封装。几乎所有参数都以csv格式传递 (逗号分隔,不带空格)。
列出表的列名。它们应该与封面内的柱子相匹配。列表用逗号分隔,没有 任何空间。可能的关键字有(但不限于,因为Coverity可以选择创建自定义名称):
< Buff行情>- cid :覆盖缺陷id
- 位置 :包含文件路径和行号的覆盖缺陷位置
- 分类 :覆盖缺陷分类列
- 操作 :覆盖缺陷操作信息
- 检查程序 :覆盖缺陷检查程序
- 状态 :覆盖缺陷分类状态
- 注释 :覆盖缺陷最后注释
- 引用 :覆盖缺陷外部引用
此选项是可选的。如果使用 图表 选项,则不会生成表。如果 图表 选项不是 使用时,默认列用于生成表,即 cid、classification、action、comment
宽度
可选属性,提供将每个列宽设置为预定义百分比的可能性。这样就更好了 对于pdf生成器它能够使表格适合可打印的页面宽度,并且由于它的长度,还提供 很好的表在多个页面中连续。它的参数必须是一个用空格分隔的整数列表。
分类
基于属性后面的文本按分类筛选。文本可以是任何你想要的,但是 默认列表包括:
< Buff行情>- 未分类
- 挂起
- 假阳性
- 有意的
- 错误
检查程序
基于属性后面的文本按检查器筛选。文本可以是你想要的任何东西。正则表达式 使用此属性,例如 misra
图表
这个可选的第二个显示选项将绘制一个饼图,显示每个允许的结果的数量 选项。首先,可以指定属性,后跟冒号 : 。默认属性是 分类。其次,你有两个视光管。要么指定属性值列表,用逗号分隔,要么甚至 为合并到同一个切片而分开的加号,或者用相同的元素定义缺陷的最小阈值 需要达到的属性值,以便将它们组合到一个切片中。所有其他缺陷都标记为 其他。例如,要将最常见的MISRA冲突可视化,分组阈值为50项,您应该 使用以下代码段:
..coverity-list::ChartofthemostprevalentMISRAviolations:chart:checker:50:checker:MISRA
贡献
我们欢迎对这个插件的任何贡献。不要害羞,打开一个拉请求。我们会尽力帮助 包括您对我们存储库的贡献。请记住,报告错误或请求功能也是 很好的姿态和贡献,即使你没有开发技能来实现它。
开发设置
为了进行测试和检查,我们使用毒物。
# to install tox pip3 install tox # to run tests tox
要在本地构建示例,您需要安装一些依赖项并设置您的环境。
# install dependencies pip3 install -r example/pip-dependencies.txt # install current package locally pip3 install -e . # copy example .env to your .env cp example/.env.example .env # add env variables, adjust the values in .env # build make -C example/ html