diff options
author | Todd Gamblin <tgamblin@llnl.gov> | 2021-07-09 22:49:47 -0700 |
---|---|---|
committer | Todd Gamblin <tgamblin@llnl.gov> | 2021-07-09 22:49:47 -0700 |
commit | 084bafe18ca40b9dffe52e9e9b0c0bfcef194b78 (patch) | |
tree | 35102d4b546577779099fad7a3bd8eac9f24ab7f /pyproject.toml | |
parent | 775c8223c34f96f23c6ed314c085b0307b1ecd03 (diff) | |
download | spack-084bafe18ca40b9dffe52e9e9b0c0bfcef194b78.tar.gz spack-084bafe18ca40b9dffe52e9e9b0c0bfcef194b78.tar.bz2 spack-084bafe18ca40b9dffe52e9e9b0c0bfcef194b78.tar.xz spack-084bafe18ca40b9dffe52e9e9b0c0bfcef194b78.zip |
coverage: move config from `.coveragerc` to `pyproject.toml`
Getting rid of another top-level file.
`coverage.py` has supported `pyproject.toml` since version 5.0, and
all versions of coverage so far work with python 2.7. We just need to
ensure that a version of coverage with the `toml` extra is installed
in the test environment.
I tested this with `coverage run`, `coverage report`, and `coverage html`.
Diffstat (limited to 'pyproject.toml')
-rw-r--r-- | pyproject.toml | 90 |
1 files changed, 63 insertions, 27 deletions
diff --git a/pyproject.toml b/pyproject.toml index 74b7ec8e1e..d09e589bed 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,33 +26,69 @@ namespace_packages = true ignore_errors = true ignore_missing_imports = true -[[tool.mypy.overrides]] -module = 'spack.*' -ignore_errors = false -ignore_missing_imports = false - -[[tool.mypy.overrides]] -module = 'packages.*' -ignore_errors = false -ignore_missing_imports = false - -[[tool.mypy.overrides]] -module = 'llnl.*' -ignore_errors = false -ignore_missing_imports = false - -[[tool.mypy.overrides]] -module = 'spack.test.packages' -ignore_errors = true + [[tool.mypy.overrides]] + module = 'spack.*' + ignore_errors = false + ignore_missing_imports = false + + [[tool.mypy.overrides]] + module = 'packages.*' + ignore_errors = false + ignore_missing_imports = false + + [[tool.mypy.overrides]] + module = 'llnl.*' + ignore_errors = false + ignore_missing_imports = false + + [[tool.mypy.overrides]] + module = 'spack.test.packages' + ignore_errors = true -# ignore errors in fake import path for packages -[[tool.mypy.overrides]] -module = 'spack.pkg.*' + # ignore errors in fake import path for packages + [[tool.mypy.overrides]] + module = 'spack.pkg.*' + ignore_errors = true + ignore_missing_imports = true + + # jinja has syntax in it that requires python3 and causes a parse error + # skip importing it + [[tool.mypy.overrides]] + module = 'jinja2' + follow_imports = 'skip' + +[tool.coverage.run] +parallel = true +concurrency = ["multiprocessing"] +branch = true +source = ["bin", "lib"] +omit = [ + 'lib/spack/spack/test/*', + 'lib/spack/docs/*', + 'lib/spack/external/*', + 'share/spack/qa/*', +] + +[tool.coverage.report] +# Regexes for lines to exclude from consideration +exclude_lines = [ + # Have to re-enable the standard pragma + 'pragma: no cover', + + # Don't complain about missing debug-only code: + 'def __repr__', + 'if self\.debug', + + # Don't complain if tests don't hit defensive assertion code: + 'raise AssertionError', + 'raise NotImplementedError', + + # Don't complain if non-runnable code isn't run: + 'if 0:', + 'if False:', + 'if __name__ == .__main__.:', +] ignore_errors = true -ignore_missing_imports = true -# jinja has syntax in it that requires python3 and causes a parse error -# skip importing it -[[tool.mypy.overrides]] -module = 'jinja2' -follow_imports = 'skip' +[tool.coverage.html] +directory = "htmlcov" |