Sphinx coverity extension from Melexis
Project description
Sphinx Coverity plugin
Publish Coverity report along your documentation - up-to-date at every build. Include comments and other special data in the same table and draw some nice graphs to showcase the quality
Goal
Coverity reporting capabilities enable you to export data into separate documentation. While this might be preferred it is also detached from your software documentation. Another lack is that it does not include comments or any other special fields. That means you can end up with huge amount of intentionally triage defects, without any explanation why they are intentional. Because of that you cannot link your explanations for actions to that report and numbers could mean just anything. Plugin should enable simple and seamless Coverity reporting integration into existing Sphinx documentation. Generating a reStructured Text table of defects was one option, but that allows changing before it is rendered, so to provide a more trustworthy path plugin that generates the data through Coverity API was developed.
Installing
pip install mlx.coverity
Configuration
The conf.py file contains the documentation configuration for your project. This file needs to be equipped in order to configure the coverity plugin.
First the plugin needs to be enabled in the extensions variable:
extensions = [
'mlx.coverity',
...
]
Credentials
Python variable coverity_credentials should be defined in order to override the default configuration of the coverity plugin.
Example of custom credentials for the plugin:
coverity_credentials = {
'hostname': 'scan.coverity.com',
'port': '8080',
'transport': 'http',
'username': 'reporter',
'password': 'coverity',
'stream': 'some_coverty_stream',
}
Default config
The plugin itself holds a default config that can be used for any Coverity project:
coverity_credentials = {
'hostname': 'scan.coverity.com',
'port': '8080',
'transport': 'http',
'username': 'reporter',
'password': 'coverity',
'stream': 'some_coverty_stream',
}
This default configuration build into the plugin, can be overriden through the conf.py of your project.
Usage
Inside your reStructured text file you can call a block .. coverity-list: which will generate the table with title and defined columns. For example to display CID, Classification, Action and Comment columns while filtering classification items with value Bug you should use the following snippet:
.. coverity-list:: Custom table title
:col: CID,Classification,Action,Comment
:classification: Bug
The plugin will then automatically replace this block with the table queried from the Coverity server.
Attributes to coverity-list
Block coverity-list takes below attributes to provide better granularity and filtering of the displayed information. Keep in mind all the attributes are to be encapsulated by :.
col
List column names of the table. They should match the columns inside Coverity. The list is comma separated without any spaces. Possible Keywords are (but not limited, since Coverity has option to create custom names):
CID: Coverity defect ID
Classification: Coverity defect Classification column
Action: Coverity defect Action information
Checker: Coverity defect Checker
Status: Coverity defect Triage status
Comment: Coverity defect last Comment
…
classification
Filtering by classification based on the text following the attribute. The text can be anything you desire, but the default list includes:
Unclassified
Pending
False Positive
Intentional
Bug
Contributions
We welcome any contributions to this plugin. Do not be shy and open a pull request. We will try to do our best to help you include your contribution to our repository. Keep in mind that reporting a bug or requesting a feature is also a nice gesture and considered as contribution, even if you do not have development skills to implement it.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for mlx.coverity-0.0.5-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98a7f197c5a8f132a5d903a5f6f63c68e8f4f7c718ffd1009b46971494356403 |
|
MD5 | 0c36a3ab854315b531a54595345b7af4 |
|
BLAKE2b-256 | cec1ca47545374d7ce769668a3881c9227343e8bb295df7fb0dccaed9781fd91 |