python3Packages.pytest-cov-stub: init at 1.0.0

This commit is contained in:
Peder Bergebakken Sundt
2024-07-20 02:23:16 +02:00
parent af6bd9ce02
commit 000c3a2cce
5 changed files with 130 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
{
lib,
buildPythonPackage,
python,
hatchling,
}:
buildPythonPackage rec {
pname = "pytest-cov-stub";
version = (lib.importTOML ./src/pyproject.toml).project.version;
pyproject = true;
src = ./src;
build-system = [ hatchling ];
meta = with lib; {
description = "Nixpkgs checkPhase stub for pytest-cov";
license = licenses.mit;
maintainers = [ lib.maintainers.pbsds ];
};
}

View File

@@ -0,0 +1,13 @@
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[project]
name = "pytest-cov-nixpkgs-stub"
version = "1.0.0"
[tool.hatch.build.targets.wheel]
packages = ["pytest_cov"]
[project.entry-points.pytest11]
pytest_cov = "pytest_cov.plugin"

View File

@@ -0,0 +1,93 @@
import argparse
import pytest
class CoverageError(Exception):
pass
class PytestCovWarning(pytest.PytestWarning):
pass
class CovDisabledWarning(PytestCovWarning):
pass
class CovReportWarning(PytestCovWarning):
pass
class StoreReport(argparse.Action):
def __call__(self, parser, namespace, values, option_string=None):
report_type, file = values
namespace.cov_report[report_type] = file
def pytest_addoption(parser):
group = parser.getgroup('cov', 'coverage reporting')
group.addoption(
'--cov',
action='append',
default=[],
metavar='SOURCE',
nargs='?',
const=True,
dest='cov_source',
)
group.addoption(
'--cov-reset',
action='store_const',
const=[],
dest='cov_source',
)
group.addoption(
'--cov-report',
action=StoreReport,
default={},
metavar='TYPE',
type=lambda x: x.split(":", 1) if ":" in x else (x, None),
)
group.addoption(
'--cov-config',
action='store',
default='.coveragerc',
metavar='PATH',
)
group.addoption(
'--no-cov-on-fail',
action='store_true',
default=False,
)
group.addoption(
'--no-cov',
action='store_true',
default=False,
)
group.addoption(
'--cov-fail-under',
action='store',
metavar='MIN',
type=str,
)
group.addoption(
'--cov-append',
action='store_true',
default=False,
)
group.addoption(
'--cov-branch',
action='store_true',
default=None,
)
group.addoption(
'--cov-context',
action='store',
metavar='CONTEXT',
type=str,
)
def pytest_configure(config):
config.addinivalue_line('markers', 'no_cover: disable coverage for this test.')
@pytest.fixture
def no_cover():
pass
@pytest.fixture
def cov():
pass

View File

@@ -12343,6 +12343,8 @@ self: super: with self; {
pytest-cov = callPackage ../development/python-modules/pytest-cov { };
pytest-cov-stub = callPackage ../development/python-modules/pytest-cov-stub { };
pytest-cram = callPackage ../development/python-modules/pytest-cram { };
pytest-datadir = callPackage ../development/python-modules/pytest-datadir { };