Unverified Commit a5779e92 authored by Peder Bergebakken Sundt's avatar Peder Bergebakken Sundt Committed by GitHub
Browse files

Merge pull request #328550 from pbsds/init-pytest-coverage-shim-1721428630

python3Packages.pytest-cov-stub: init at 1.0.0
parents bbb542ea 4619c4c4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -45,7 +45,7 @@ python3.pkgs.buildPythonApplication rec {
    hypothesis
    pytestCheckHook
    glibcLocales
    pytest-cov
    pytest-cov-stub
  ];

  LC_ALL = "en_US.UTF-8";
+22 −0
Original line number Diff line number Diff line
{
  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 ];
  };
}
+13 −0
Original line number Diff line number Diff line
[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

Empty file added.

+93 −0
Original line number Diff line number Diff line
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
Loading