Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pytest-click for
openSUSE:Factory checked in at 2022-03-16 20:20:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytest-click (Old)
and /work/SRC/openSUSE:Factory/.python-pytest-click.new.25692 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pytest-click"
Wed Mar 16 20:20:41 2022 rev:4 rq:962033 version:1.1.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pytest-click/python-pytest-click.changes
2020-10-08 13:14:24.579293325 +0200
+++
/work/SRC/openSUSE:Factory/.python-pytest-click.new.25692/python-pytest-click.changes
2022-03-16 20:20:48.660985089 +0100
@@ -1,0 +2,8 @@
+Wed Mar 16 04:10:33 UTC 2022 - Steve Kowalik <[email protected]>
+
+- Update to 1.1.0:
+ * Added build for Python 3.10
+ * Drop support of Python 3.5 & 3.6
+- Drop mock from BuildRequires, it has always fallen back to stdlib.
+
+-------------------------------------------------------------------
Old:
----
pytest-click-1.0.2.tar.gz
New:
----
pytest-click-1.1.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pytest-click.spec ++++++
--- /var/tmp/diff_new_pack.fultGV/_old 2022-03-16 20:20:49.284985539 +0100
+++ /var/tmp/diff_new_pack.fultGV/_new 2022-03-16 20:20:49.288985541 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-pytest-click
#
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -19,14 +19,12 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
%define skip_python2 1
Name: python-pytest-click
-Version: 1.0.2
+Version: 1.1.0
Release: 0
Summary: Pytest plugin for Click
License: MIT
-Group: Development/Languages/Python
URL: https://github.com/Stranger6667/pytest-click
Source:
https://github.com/Stranger6667/pytest-click/archive/v%{version}.tar.gz#/pytest-click-%{version}.tar.gz
-BuildRequires: %{python_module mock}
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
++++++ pytest-click-1.0.2.tar.gz -> pytest-click-1.1.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-click-1.0.2/.github/workflows/build.yml
new/pytest-click-1.1.0/.github/workflows/build.yml
--- old/pytest-click-1.0.2/.github/workflows/build.yml 2020-08-29
12:20:26.000000000 +0200
+++ new/pytest-click-1.1.0/.github/workflows/build.yml 2022-02-11
10:07:03.000000000 +0100
@@ -1,4 +1,4 @@
-name: Build jobs
+name: build
# Triggered by changes in code-specific or job-specific files
on:
@@ -10,6 +10,7 @@
- '.pre-commit-config.yaml'
- '.pydocstyle'
- '.relint.yml'
+ - 'mypy.ini'
- '.yamllint'
- 'tox.ini'
push:
@@ -27,7 +28,7 @@
- uses: actions/setup-python@v2
with:
- python-version: 3.7
+ python-version: 3.8
- run: pip install pre-commit
- run: SKIP=pylint pre-commit run --all-files
@@ -42,16 +43,31 @@
- uses: actions/setup-python@v2
with:
- python-version: 3.7
+ python-version: 3.8
- run: pip install pre-commit
- run: pre-commit run pylint --all-files
+ mypy:
+ name: Mypy
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v1
+ with:
+ fetch-depth: 1
+
+ - uses: actions/setup-python@v1
+ with:
+ python-version: 3.8
+
+ - run: pip install pre-commit
+ - run: pre-commit run mypy --all-files
+
tests:
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
- python: [3.5, 3.6, 3.7, 3.8, 3.9.0-rc.1, pypy3]
+ python: ['3.7', '3.8', '3.9', '3.10', 'pypy3']
name: ${{ matrix.os }}/tests_${{ matrix.python }}
runs-on: ${{ matrix.os }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-click-1.0.2/.github/workflows/release.yml
new/pytest-click-1.1.0/.github/workflows/release.yml
--- old/pytest-click-1.0.2/.github/workflows/release.yml 2020-08-29
12:20:26.000000000 +0200
+++ new/pytest-click-1.1.0/.github/workflows/release.yml 2022-02-11
10:07:03.000000000 +0100
@@ -6,14 +6,14 @@
jobs:
build-n-publish:
- name: Build and publish Python ???? distributions ???? to PyPI
- runs-on: ubuntu-18.04
+ name: Build and publish Python ????distributions ???? to PyPI
+ runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@master
- - name: Set up Python 3.7
+ - name: Set up Python 3.8
uses: actions/setup-python@v1
with:
- python-version: 3.7
+ python-version: 3.8
- name: Install tox
run: >-
python -m
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-click-1.0.2/.isort.cfg
new/pytest-click-1.1.0/.isort.cfg
--- old/pytest-click-1.0.2/.isort.cfg 2020-08-29 12:20:26.000000000 +0200
+++ new/pytest-click-1.1.0/.isort.cfg 1970-01-01 01:00:00.000000000 +0100
@@ -1,2 +0,0 @@
-[settings]
-known_third_party = click,pytest,setuptools
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-click-1.0.2/.pre-commit-config.yaml
new/pytest-click-1.1.0/.pre-commit-config.yaml
--- old/pytest-click-1.0.2/.pre-commit-config.yaml 2020-08-29
12:20:26.000000000 +0200
+++ new/pytest-click-1.1.0/.pre-commit-config.yaml 2022-02-11
10:07:03.000000000 +0100
@@ -1,9 +1,9 @@
default_language_version:
- python: python3.7
+ python: python3.8
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
- rev: v3.2.0
+ rev: v4.1.0
hooks:
- id: check-yaml
- id: end-of-file-fixer
@@ -15,17 +15,17 @@
- id: check-merge-conflict
- repo: https://github.com/jorisroovers/gitlint
- rev: v0.13.1
+ rev: v0.17.0
hooks:
- id: gitlint
- repo: https://github.com/adrienverge/yamllint
- rev: v1.23.0
+ rev: v1.26.3
hooks:
- id: yamllint
- repo: https://github.com/PyCQA/pydocstyle
- rev: 5.1.0
+ rev: 6.1.1
hooks:
- id: pydocstyle
@@ -35,7 +35,7 @@
- id: relint
- repo: https://github.com/ambv/black
- rev: 20.8b1
+ rev: 22.1.0
hooks:
- id: black
types: [python]
@@ -45,14 +45,21 @@
hooks:
- id: seed-isort-config
+ - repo: https://github.com/pre-commit/mirrors-mypy
+ rev: v0.931
+ hooks:
+ - id: mypy
+ exclude: ^(docs/|test/|setup.py).*$
+ args: ["--ignore-missing-imports"]
+
- repo: https://github.com/pre-commit/mirrors-isort
- rev: v5.4.2
+ rev: v5.10.1
hooks:
- id: isort
additional_dependencies: ["isort[pyproject]"]
- repo: https://github.com/pre-commit/mirrors-pylint
- rev: v2.6.0
+ rev: v3.0.0a4
hooks:
- id: pylint
additional_dependencies: ["isort[pyproject]"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-click-1.0.2/CHANGELOG.md
new/pytest-click-1.1.0/CHANGELOG.md
--- old/pytest-click-1.0.2/CHANGELOG.md 2020-08-29 12:20:26.000000000 +0200
+++ new/pytest-click-1.1.0/CHANGELOG.md 2022-02-11 10:07:03.000000000 +0100
@@ -1,24 +1,30 @@
History
-------
+1.1.0 - 11.02.2022
+------------------
+
+- Added build for Python 3.10
+- Drop support of Python 3.5 & 3.6
+
1.0.2 - 29.08.2020
-----------------
+------------------
- Format code examples with "black".
1.0.1 - 29.08.2020
-----------------
+------------------
- Include "test" to the package itself.
1.0.0 - 29.08.2020
-----------------
+------------------
- Added builds for Python 3.8 & 3.9
- Drop support for Python 2.7 & 3.4
0.3.1 - 28.08.2020
-----------------
+------------------
- Move to `src` layout
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-click-1.0.2/CODE_OF_CONDUCT.md
new/pytest-click-1.1.0/CODE_OF_CONDUCT.md
--- old/pytest-click-1.0.2/CODE_OF_CONDUCT.md 1970-01-01 01:00:00.000000000
+0100
+++ new/pytest-click-1.1.0/CODE_OF_CONDUCT.md 2022-02-11 10:07:03.000000000
+0100
@@ -0,0 +1,76 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+In the interest of fostering an open and welcoming environment, we as
+contributors and maintainers pledge to making participation in our project and
+our community a harassment-free experience for everyone, regardless of age,
body
+size, disability, ethnicity, sex characteristics, gender identity and
expression,
+level of experience, education, socio-economic status, nationality, personal
+appearance, race, religion, or sexual identity and orientation.
+
+## Our Standards
+
+Examples of behavior that contributes to creating a positive environment
+include:
+
+* Using welcoming and inclusive language
+* Being respectful of differing viewpoints and experiences
+* Gracefully accepting constructive criticism
+* Focusing on what is best for the community
+* Showing empathy towards other community members
+
+Examples of unacceptable behavior by participants include:
+
+* The use of sexualized language or imagery and unwelcome sexual attention or
+ advances
+* Trolling, insulting/derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or electronic
+ address, without explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Our Responsibilities
+
+Project maintainers are responsible for clarifying the standards of acceptable
+behavior and are expected to take appropriate and fair corrective action in
+response to any instances of unacceptable behavior.
+
+Project maintainers have the right and responsibility to remove, edit, or
+reject comments, commits, code, wiki edits, issues, and other contributions
+that are not aligned to this Code of Conduct, or to ban temporarily or
+permanently any contributor for other behaviors that they deem inappropriate,
+threatening, offensive, or harmful.
+
+## Scope
+
+This Code of Conduct applies both within project spaces and in public spaces
+when an individual is representing the project or its community. Examples of
+representing a project or community include using an official project e-mail
+address, posting via an official social media account, or acting as an
appointed
+representative at an online or offline event. Representation of a project may
be
+further defined and clarified by project maintainers.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported by contacting the project team at [email protected]. All
+complaints will be reviewed and investigated and will result in a response that
+is deemed necessary and appropriate to the circumstances. The project team is
+obligated to maintain confidentiality with regard to the reporter of an
incident.
+Further details of specific enforcement policies may be posted separately.
+
+Project maintainers who do not follow or enforce the Code of Conduct in good
+faith may face temporary or permanent repercussions as determined by other
+members of the project's leadership.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 1.4,
+available at
https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
+
+[homepage]: https://www.contributor-covenant.org
+
+For answers to common questions about this code of conduct, see
+https://www.contributor-covenant.org/faq
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-click-1.0.2/README.rst
new/pytest-click-1.1.0/README.rst
--- old/pytest-click-1.0.2/README.rst 2020-08-29 12:20:26.000000000 +0200
+++ new/pytest-click-1.1.0/README.rst 2022-02-11 10:07:03.000000000 +0100
@@ -1,9 +1,9 @@
pytest-click
============
-Py.test plugin for `Click <http://click.pocoo.org/>`_.
|Build| |Coverage| |Version| |Python versions| |License|
+`pytest <https://github.com/pytest-dev/pytest>`_ plugin for `Click
<http://click.pocoo.org/>`_.
Installation
------------
@@ -17,7 +17,7 @@
Usage
-----
-pytest-click comes with some configurable fixtures - ``cli_runner`` and
``isolated_cli_runner``.
+```pytest-click`` comes with some configurable fixtures - ``cli_runner`` and
``isolated_cli_runner``.
.. code:: python
@@ -66,7 +66,7 @@
All kwargs will be passed to ``click.testing.CliRunner`` initialization.
-.. |Build| image:: image::
https://github.com/Stranger6667/pytest-click/workflows/build/badge.svg
+.. |Build| image::
https://github.com/Stranger6667/pytest-click/workflows/build/badge.svg
:target: https://github.com/Stranger6667/pytest-click/actions
.. |Coverage| image::
https://codecov.io/github/Stranger6667/pytest-click/coverage.svg?branch=master
:target: https://codecov.io/github/Stranger6667/pytest-click?branch=master
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-click-1.0.2/mypy.ini
new/pytest-click-1.1.0/mypy.ini
--- old/pytest-click-1.0.2/mypy.ini 1970-01-01 01:00:00.000000000 +0100
+++ new/pytest-click-1.1.0/mypy.ini 2022-02-11 10:07:03.000000000 +0100
@@ -0,0 +1,15 @@
+[mypy]
+python_version = 3.8
+show_error_context = true
+verbosity = 0
+ignore_missing_imports = true
+show_traceback = true
+check_untyped_defs = true
+cache_fine_grained = true
+strict_equality = true
+no_implicit_optional = true
+warn_unreachable = true
+
+disallow_untyped_calls = true
+disallow_untyped_defs = true
+disallow_incomplete_defs = true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-click-1.0.2/pyproject.toml
new/pytest-click-1.1.0/pyproject.toml
--- old/pytest-click-1.0.2/pyproject.toml 2020-08-29 12:20:26.000000000
+0200
+++ new/pytest-click-1.1.0/pyproject.toml 2022-02-11 10:07:03.000000000
+0100
@@ -1,3 +1,15 @@
[build-system]
requires = ["setuptools >= 40.6.0", "wheel"]
build-backend = "setuptools.build_meta"
+
+[tool.black]
+line-length = 120
+target_version = ["py38"]
+
+[tool.isort]
+line_length = 120
+multi_line_output = 3
+default_section = "THIRDPARTY"
+include_trailing_comma = true
+known_first_party = "pytest_click"
+known_third_party = ["_pytest", "click", "pytest", "setuptools"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-click-1.0.2/setup.py
new/pytest-click-1.1.0/setup.py
--- old/pytest-click-1.0.2/setup.py 2020-08-29 12:20:26.000000000 +0200
+++ new/pytest-click-1.1.0/setup.py 2022-02-11 10:07:03.000000000 +0100
@@ -14,14 +14,14 @@
setup(
name="pytest_click",
- version="1.0.2",
+ version="1.1.0",
url="https://github.com/Stranger6667/pytest-click",
license="MIT",
author="Dmitry Dygalo",
author_email="[email protected]",
maintainer="Dmitry Dygalo",
maintainer_email="[email protected]",
- description="Py.test plugin for Click",
+ description="Pytest plugin for Click",
long_description=long_description,
long_description_content_type="text/x-rst",
classifiers=[
@@ -31,11 +31,10 @@
"Operating System :: OS Independent",
"License :: OSI Approved :: MIT License",
"Programming Language :: Python",
- "Programming Language :: Python :: 3.5",
- "Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
+ "Programming Language :: Python :: 3.10",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
"Topic :: Software Development :: Testing",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-click-1.0.2/src/pytest_click/__init__.py
new/pytest-click-1.1.0/src/pytest_click/__init__.py
--- old/pytest-click-1.0.2/src/pytest_click/__init__.py 2020-08-29
12:20:26.000000000 +0200
+++ new/pytest-click-1.1.0/src/pytest_click/__init__.py 2022-02-11
10:07:03.000000000 +0100
@@ -1,7 +1,9 @@
+from _pytest.config import Config
+
from .fixtures import cli_runner, isolated_cli_runner
-def pytest_configure(config):
+def pytest_configure(config: Config) -> None:
config.addinivalue_line(
"markers",
"runner_setup(**kwargs): Pass kwargs to `click.testing.CliRunner`
initialization.",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-click-1.0.2/src/pytest_click/fixtures.py
new/pytest-click-1.1.0/src/pytest_click/fixtures.py
--- old/pytest-click-1.0.2/src/pytest_click/fixtures.py 2020-08-29
12:20:26.000000000 +0200
+++ new/pytest-click-1.1.0/src/pytest_click/fixtures.py 2022-02-11
10:07:03.000000000 +0100
@@ -1,10 +1,13 @@
# pylint: disable=redefined-outer-name
+from typing import Generator
+
import pytest
+from _pytest.fixtures import SubRequest
from click.testing import CliRunner
@pytest.fixture
-def cli_runner(request):
+def cli_runner(request: SubRequest) -> CliRunner:
"""Instance of `click.testing.CliRunner`. Can be configured with
`@pytest.mark.runner_setup`.
@pytest.mark.runner_setup(charset="cp1251")
@@ -19,7 +22,7 @@
@pytest.fixture
-def isolated_cli_runner(cli_runner):
+def isolated_cli_runner(cli_runner: CliRunner) -> Generator[CliRunner, None,
None]:
"""Instance of `click.testing.CliRunner` with automagically
`isolated_filesystem()` called."""
with cli_runner.isolated_filesystem():
yield cli_runner
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-click-1.0.2/test/__init__.py
new/pytest-click-1.1.0/test/__init__.py
--- old/pytest-click-1.0.2/test/__init__.py 2020-08-29 12:20:26.000000000
+0200
+++ new/pytest-click-1.1.0/test/__init__.py 2022-02-11 10:07:03.000000000
+0100
@@ -1 +0,0 @@
-# coding: utf-8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-click-1.0.2/test/conftest.py
new/pytest-click-1.1.0/test/conftest.py
--- old/pytest-click-1.0.2/test/conftest.py 2020-08-29 12:20:26.000000000
+0200
+++ new/pytest-click-1.1.0/test/conftest.py 2022-02-11 10:07:03.000000000
+0100
@@ -1,4 +1 @@
-# coding: utf-8
-
-
pytest_plugins = "pytester"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-click-1.0.2/test/fixtures/__init__.py
new/pytest-click-1.1.0/test/fixtures/__init__.py
--- old/pytest-click-1.0.2/test/fixtures/__init__.py 2020-08-29
12:20:26.000000000 +0200
+++ new/pytest-click-1.1.0/test/fixtures/__init__.py 2022-02-11
10:07:03.000000000 +0100
@@ -1 +0,0 @@
-# coding: utf-8
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-click-1.0.2/test/fixtures/test_cli_runner.py
new/pytest-click-1.1.0/test/fixtures/test_cli_runner.py
--- old/pytest-click-1.0.2/test/fixtures/test_cli_runner.py 2020-08-29
12:20:26.000000000 +0200
+++ new/pytest-click-1.1.0/test/fixtures/test_cli_runner.py 2022-02-11
10:07:03.000000000 +0100
@@ -1,6 +1,3 @@
-# coding: utf-8
-
-
def test_fixture(testdir):
testdir.makepyfile(
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pytest-click-1.0.2/test/fixtures/test_isolated_cli_runner.py
new/pytest-click-1.1.0/test/fixtures/test_isolated_cli_runner.py
--- old/pytest-click-1.0.2/test/fixtures/test_isolated_cli_runner.py
2020-08-29 12:20:26.000000000 +0200
+++ new/pytest-click-1.1.0/test/fixtures/test_isolated_cli_runner.py
2022-02-11 10:07:03.000000000 +0100
@@ -1,6 +1,3 @@
-# coding: utf-8
-
-
def test_fixture(testdir):
testdir.makeconftest(
"""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-click-1.0.2/test/test_plugin.py
new/pytest-click-1.1.0/test/test_plugin.py
--- old/pytest-click-1.0.2/test/test_plugin.py 2020-08-29 12:20:26.000000000
+0200
+++ new/pytest-click-1.1.0/test/test_plugin.py 2022-02-11 10:07:03.000000000
+0100
@@ -1,10 +1,6 @@
-# coding: utf-8
-
-
def test_markers(testdir):
result = testdir.runpytest("--markers")
assert (
"@pytest.mark.runner_setup(**kwargs): "
- "Pass kwargs to `click.testing.CliRunner` initialization."
- in result.stdout.lines
+ "Pass kwargs to `click.testing.CliRunner` initialization." in
result.stdout.lines
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-click-1.0.2/tox.ini
new/pytest-click-1.1.0/tox.ini
--- old/pytest-click-1.0.2/tox.ini 2020-08-29 12:20:26.000000000 +0200
+++ new/pytest-click-1.1.0/tox.ini 2022-02-11 10:07:03.000000000 +0100
@@ -1,6 +1,6 @@
[tox]
isolated_build = true
-envlist = py{35,36,37,38,39,py3}, coverage-report
+envlist = py{37,38,39,310,py3}, coverage-report
[testenv]
setenv =
@@ -16,10 +16,10 @@
[testenv:coverage-report]
description = Report coverage over all measured test runs.
-basepython = python3.7
+basepython = python3.8
deps = coverage
skip_install = true
-depends = py{35,36,37,38,39}
+depends = py{37,38,39,310}
commands =
coverage combine
coverage report