Merge pull request #328550 from pbsds/init-pytest-coverage-shim-1721428630
python3Packages.pytest-cov-stub: init at 1.0.0
This commit is contained in:
commit
a5779e925d
@ -45,7 +45,7 @@ python3.pkgs.buildPythonApplication rec {
|
||||
hypothesis
|
||||
pytestCheckHook
|
||||
glibcLocales
|
||||
pytest-cov
|
||||
pytest-cov-stub
|
||||
];
|
||||
|
||||
LC_ALL = "en_US.UTF-8";
|
||||
|
22
pkgs/development/python-modules/pytest-cov-stub/default.nix
Normal file
22
pkgs/development/python-modules/pytest-cov-stub/default.nix
Normal 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 ];
|
||||
};
|
||||
}
|
@ -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"
|
@ -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
|
@ -4,6 +4,7 @@
|
||||
buildPythonPackage,
|
||||
setuptools,
|
||||
pytestCheckHook,
|
||||
pytest-cov-stub,
|
||||
sortedcontainers,
|
||||
}:
|
||||
|
||||
@ -19,13 +20,6 @@ buildPythonPackage rec {
|
||||
hash = "sha256-uPM2U+emZUCGqEhIeTBmaOu8eSfK4arqvv9bItBWpUs=";
|
||||
};
|
||||
|
||||
postPatch = ''
|
||||
substituteInPlace pyproject.toml \
|
||||
--replace-fail \
|
||||
'"--cov' \
|
||||
'#"--cov'
|
||||
'';
|
||||
|
||||
# don't append .dev0 to version
|
||||
env.RELEASING_PROCESS = "1";
|
||||
|
||||
@ -33,6 +27,7 @@ buildPythonPackage rec {
|
||||
|
||||
nativeCheckInputs = [
|
||||
pytestCheckHook
|
||||
pytest-cov-stub
|
||||
sortedcontainers
|
||||
];
|
||||
|
||||
|
@ -8,6 +8,7 @@
|
||||
, toml
|
||||
, watchdog
|
||||
, pytestCheckHook
|
||||
, pytest-cov-stub
|
||||
, rsync
|
||||
}:
|
||||
|
||||
@ -44,11 +45,6 @@ buildPythonApplication rec {
|
||||
watchdog
|
||||
];
|
||||
|
||||
# disable pytest --cov
|
||||
preCheck = ''
|
||||
rm setup.cfg
|
||||
'';
|
||||
|
||||
doCheck = true;
|
||||
|
||||
nativeCheckInputs = [
|
||||
@ -57,6 +53,7 @@ buildPythonApplication rec {
|
||||
|
||||
checkInputs = [
|
||||
pytestCheckHook
|
||||
pytest-cov-stub
|
||||
];
|
||||
|
||||
disabledTestPaths = lib.optionals stdenv.isDarwin [
|
||||
|
@ -12406,6 +12406,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 { };
|
||||
|
Loading…
Reference in New Issue
Block a user