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格式传递 (逗号分隔,不带空格)。

<5> COL/H5>

列出表的列名。它们应该与封面内的柱子相匹配。列表用逗号分隔,没有 任何空间。可能的关键字有(但不限于,因为Coverity可以选择创建自定义名称):

< Buff行情>
  • cid :覆盖缺陷id
  • 位置 :包含文件路径和行号的覆盖缺陷位置
  • 分类 :覆盖缺陷分类列
  • 操作 :覆盖缺陷操作信息
  • 检查程序 :覆盖缺陷检查程序
  • 状态 :覆盖缺陷分类状态
  • 注释 :覆盖缺陷最后注释
  • 引用 :覆盖缺陷外部引用
  • …/LI>

此选项是可选的。如果使用 图表 选项,则不会生成表。如果 图表 选项不是 使用时,默认列用于生成表,即 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

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将Scanner对象作为构造函数参数传递给UserInterface类   spring未能启动bean“subtocolWebSocketHandler”;嵌套的例外是java。lang.IllegalArgumentException:没有处理程序   Java EE应用程序中后台服务的多线程Java线程(设置守护进程和优先级)?   java Pull to refresh返回列表的第一个位置   无法将comparator类转换为java。可比的   java将json从servlet传递到dojo   JavaHibernate:将子类实例转换为超类实例   java警告调用servlet类时非法反射访问   java静态变量值   java@Entity和@embeddeble之间有什么区别   java将作业配置导入公共作业配置类(注释配置)   sql公共表表达式(以values语句开头)在java中给出错误   java在ImageJ中使用ImageProcessor   java PostgreSQL executeBatch()会随着时间的推移而变慢   java在安卓中以表格形式排列sqllite表数据?   java中SVG的swing定制呈现   java删除与另一个实体映射的实体   java何时/如何添加ListView适配器,使用back按钮恢复它?(片段)   java为什么IBinder和Binder之间的类型转换不是非法的?   java在方法参数列表中使用ArrayList或List