From e8329e8277792991f1f3b9da67748da515d916a2 Mon Sep 17 00:00:00 2001 From: CyclingNinja Date: Tue, 27 Feb 2024 19:43:37 +0000 Subject: [PATCH] Adding testing and coverage functionality --- {{ cookiecutter.package_name }}/.codecov.yaml | 11 +++++ {{ cookiecutter.package_name }}/.coveragerc | 34 ++++++++++++++ .../pyproject.toml | 44 ------------------- {{ cookiecutter.package_name }}/pytest.ini | 8 ++++ 4 files changed, 53 insertions(+), 44 deletions(-) create mode 100644 {{ cookiecutter.package_name }}/.codecov.yaml create mode 100644 {{ cookiecutter.package_name }}/.coveragerc create mode 100644 {{ cookiecutter.package_name }}/pytest.ini diff --git a/{{ cookiecutter.package_name }}/.codecov.yaml b/{{ cookiecutter.package_name }}/.codecov.yaml new file mode 100644 index 0000000..33e3794 --- /dev/null +++ b/{{ cookiecutter.package_name }}/.codecov.yaml @@ -0,0 +1,11 @@ +comment: off +coverage: + status: + project: + default: + threshold: 0.2% + +codecov: + require_ci_to_pass: false + notify: + wait_for_ci: true \ No newline at end of file diff --git a/{{ cookiecutter.package_name }}/.coveragerc b/{{ cookiecutter.package_name }}/.coveragerc new file mode 100644 index 0000000..f98bd67 --- /dev/null +++ b/{{ cookiecutter.package_name }}/.coveragerc @@ -0,0 +1,34 @@ +[tool.coverage.run] +omit = [ + "{{ cookiecutter.module_name }}/_{{ cookiecutter._parent_project }}_init*", + "{{ cookiecutter.module_name }}/conftest.py", + "{{ cookiecutter.module_name }}/*setup_package*", + "{{ cookiecutter.module_name }}/tests/*", + "{{ cookiecutter.module_name }}/*/tests/*", + "{{ cookiecutter.module_name }}/extern/*", + "{{ cookiecutter.module_name }}/version*", + "*/{{ cookiecutter.module_name }}/_{{ cookiecutter._parent_project }}_init*", + "*/{{ cookiecutter.module_name }}/conftest.py", + "*/{{ cookiecutter.module_name }}/*setup_package*", + "*/{{ cookiecutter.module_name }}/tests/*", + "*/{{ cookiecutter.module_name }}/*/tests/*", + "*/{{ cookiecutter.module_name }}/extern/*", + "*/{{ cookiecutter.module_name }}/version*", +] + +[tool.coverage.report] +exclude_lines = [ + # Have to re-enable the standard pragma + "pragma: no cover", + # Don't complain about packages we have installed + "except ImportError", + # Don't complain if tests don't hit assertions + "raise AssertionError", + "raise NotImplementedError", + # Don't complain about script hooks + "def main(.*):", + # Ignore branches that don't pertain to this version of Python + "pragma: py{ignore_python_version}", + # Don't complain about IPython completion helper + "def _ipython_key_completions_" +] \ No newline at end of file diff --git a/{{ cookiecutter.package_name }}/pyproject.toml b/{{ cookiecutter.package_name }}/pyproject.toml index abf1b14..6822f22 100644 --- a/{{ cookiecutter.package_name }}/pyproject.toml +++ b/{{ cookiecutter.package_name }}/pyproject.toml @@ -61,47 +61,3 @@ write_to = "{{ cookiecutter.module_name }}/_version.py" {%- else -%} write_to = "{{ cookiecutter.module_name }}/version.py" {%- endif %} - -[tool.pytest.ini_options] -testpaths = [ - "{{ cookiecutter.module_name }}", - "docs", -] -doctest_plus = "enabled" -text_file_format = "rst" -addopts = "--doctest-rst" - -[tool.coverage.run] -omit = [ - "{{ cookiecutter.module_name }}/_{{ cookiecutter._parent_project }}_init*", - "{{ cookiecutter.module_name }}/conftest.py", - "{{ cookiecutter.module_name }}/*setup_package*", - "{{ cookiecutter.module_name }}/tests/*", - "{{ cookiecutter.module_name }}/*/tests/*", - "{{ cookiecutter.module_name }}/extern/*", - "{{ cookiecutter.module_name }}/version*", - "*/{{ cookiecutter.module_name }}/_{{ cookiecutter._parent_project }}_init*", - "*/{{ cookiecutter.module_name }}/conftest.py", - "*/{{ cookiecutter.module_name }}/*setup_package*", - "*/{{ cookiecutter.module_name }}/tests/*", - "*/{{ cookiecutter.module_name }}/*/tests/*", - "*/{{ cookiecutter.module_name }}/extern/*", - "*/{{ cookiecutter.module_name }}/version*", -] - -[tool.coverage.report] -exclude_lines = [ - # Have to re-enable the standard pragma - "pragma: no cover", - # Don't complain about packages we have installed - "except ImportError", - # Don't complain if tests don't hit assertions - "raise AssertionError", - "raise NotImplementedError", - # Don't complain about script hooks - "def main(.*):", - # Ignore branches that don't pertain to this version of Python - "pragma: py{ignore_python_version}", - # Don't complain about IPython completion helper - "def _ipython_key_completions_", -] diff --git a/{{ cookiecutter.package_name }}/pytest.ini b/{{ cookiecutter.package_name }}/pytest.ini new file mode 100644 index 0000000..9d1774c --- /dev/null +++ b/{{ cookiecutter.package_name }}/pytest.ini @@ -0,0 +1,8 @@ +[tool.pytest.ini_options] +testpaths = [ + "{{ cookiecutter.module_name }}", + "docs", +] +doctest_plus = "enabled" +text_file_format = "rst" +addopts = "--doctest-rst"