Tooling for converting coverage data into a SQL DB
Go to file
Hervé Beraud 12b53e108a Stop to use the __future__ module.
The __future__ module [1] was used in this context to ensure compatibility
between python 2 and python 3.

We previously dropped the support of python 2.7 [2] and now we only support
python 3 so we don't need to continue to use this module and the imports
listed below.

Imports commonly used and their related PEPs:
- `division` is related to PEP 238 [3]
- `print_function` is related to PEP 3105 [4]
- `unicode_literals` is related to PEP 3112 [5]
- `with_statement` is related to PEP 343 [6]
- `absolute_import` is related to PEP 328 [7]

[1] https://docs.python.org/3/library/__future__.html
[2] https://governance.openstack.org/tc/goals/selected/ussuri/drop-py27.html
[3] https://www.python.org/dev/peps/pep-0238
[4] https://www.python.org/dev/peps/pep-3105
[5] https://www.python.org/dev/peps/pep-3112
[6] https://www.python.org/dev/peps/pep-0343
[7] https://www.python.org/dev/peps/pep-0328

Change-Id: I46f1872407495af231e65cfe784cee731b345f3b
2020-06-02 20:09:13 +02:00
coverage2sql Stop to use the __future__ module. 2020-06-02 20:09:13 +02:00
doc Fix typo in contributor guide 2020-04-22 21:54:05 -05:00
etc Remove unused config entries from sample config 2019-04-17 15:47:06 +09:00
releasenotes Cleanup py27 support 2020-04-17 17:08:58 +02:00
tools Prepare for using standard python tests 2017-02-02 12:11:19 +00:00
.coveragerc Omit unit test files from coverage 2016-11-11 19:40:27 +09:00
.gitignore Ignore *.db file from git repo 2019-04-17 15:40:38 +09:00
.gitreview OpenDev Migration Patch 2019-04-19 19:36:21 +00:00
.mailmap Initial Cookiecutter Commit. 2016-04-19 12:24:29 +09:00
.stestr.conf Switch to use stestr instead of os-testr 2017-12-16 17:45:42 +09:00
.zuul.yaml [ussuri][goal] Drop python 2.7 support and testing 2020-02-03 18:50:34 +00:00
babel.cfg Initial Cookiecutter Commit. 2016-04-19 12:24:29 +09:00
bindep.txt Fix gate error "mysqladmin: command not found" 2019-07-17 04:34:45 +00:00
CONTRIBUTING.rst [ussuri][goal] Update contributor documentation 2020-04-19 17:56:05 -05:00
HACKING.rst Update url in HACKING.rst 2018-09-12 16:49:35 -06:00
LICENSE Initial Cookiecutter Commit. 2016-04-19 12:24:29 +09:00
MANIFEST.in Add unit tests and remove oslo_db 2016-11-11 11:33:43 +09:00
README.rst Use opendev repository 2019-04-23 17:16:38 +08:00
requirements.txt Update requirements 2017-04-27 16:53:43 +09:00
setup.cfg Cleanup py27 support 2020-04-17 17:08:58 +02:00
setup.py Cleanup py27 support 2020-04-17 17:08:58 +02:00
test-requirements.txt Fix hacking min version to 3.0.1 2020-05-12 21:55:20 -05:00
tox.ini Cleanup py27 support 2020-04-17 17:08:58 +02:00

Team and repository tags

image

coverage2sql README

Command to Read a coverage file and put the data in a SQL database

coverage2sql is a tool for storing data of test coverage into a SQL database. With using this tool, you can store time series coverage data and analyze it if your coverage rate is down.

Usage

DB Setup

The usage of coverage2sql is split into 2 stages. First you need to prepare a database with the proper schema; coverage2sql-db-manage should be used to do this. The utility requires db connection info which can be specified with a config file. Obviously the sql connector type, user, password, address, and database name should be specific to your environment. coverage2sql-db-manage will use alembic to setup the db schema. You can run the db migrations with a config file:

coverage2sql-db-manage --config-file etc/coverage2sql.conf upgrade head

This will bring the DB schema up to the latest version for coverage2sql.

coverage2sql

Once you have a database setup with the proper database schema you can then use the coverage2sql command to populate the database with data from your test coverage file. coverage2sql takes in a .coverage file through by passing it file paths as positional arguments to the script at this moment.

For example:

coverage2sql --config-file etc/coverage2sql.conf coverage2sql .coverage

There are several options for running coverage2sql, they can be listed with:

coverage2sql --help

The only required option is --database-connection. The options can either be used on the CLI, or put in a config file. If a config file is used you need to specify the location on the CLI.

TODO

To see the TODO, go to the launchpad site:

ChangeLog

To see the release notes go here: https://docs.openstack.org/releasenotes/coverage2sql/