From 9fb929f745fcb95bcf4faf20d1195605adeca1ca Mon Sep 17 00:00:00 2001 From: Kevin Bernal Date: Sat, 1 Feb 2025 14:30:06 +1100 Subject: [PATCH 1/2] feat: new COVERAGEPY_IGNORE_ERRORS env var --- CHANGELOG.md | 3 ++- python/private/python_bootstrap_template.txt | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cba9a8a8c5..d5d8750ca8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -78,7 +78,8 @@ Unreleased changes template. {#v0-0-0-added} ### Added -* Nothing added. +* (coverage) New COVERAGEPY_IGNORE_ERRORS environment var that adds the `--ignore-errors` + flag to coverage.py when producing the lcov output file. {#v0-0-0-removed} ### Removed diff --git a/python/private/python_bootstrap_template.txt b/python/private/python_bootstrap_template.txt index e3b39e30cd..ada4533214 100644 --- a/python/private/python_bootstrap_template.txt +++ b/python/private/python_bootstrap_template.txt @@ -461,6 +461,11 @@ relative_files = True kparams['stdout'] = sys.stderr kparams['stderr'] = sys.stderr + # Workaround for coveragepy having weird errors. + # See: https://github.com/bazelbuild/rules_python/issues/2575 + if os.getenv("COVERAGEPY_IGNORE_ERRORS"): + params.append("--ignore-errors") + ret_code = subprocess.call( params, **kparams From 8fdd869dae873193c7f78621399c8c0b94485653 Mon Sep 17 00:00:00 2001 From: Kevin Lloyd Bernal Date: Sun, 2 Feb 2025 13:55:47 +1100 Subject: [PATCH 2/2] Update description for coveragepy workaround Co-authored-by: Greg Roodt --- python/private/python_bootstrap_template.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/python/private/python_bootstrap_template.txt b/python/private/python_bootstrap_template.txt index ada4533214..3a5324cc11 100644 --- a/python/private/python_bootstrap_template.txt +++ b/python/private/python_bootstrap_template.txt @@ -461,7 +461,8 @@ relative_files = True kparams['stdout'] = sys.stderr kparams['stderr'] = sys.stderr - # Workaround for coveragepy having weird errors. + # Ignore errors finding source files during coverage.py reporting + # See https://coverage.readthedocs.io/en/7.6.10/cmd.html#reporting # See: https://github.com/bazelbuild/rules_python/issues/2575 if os.getenv("COVERAGEPY_IGNORE_ERRORS"): params.append("--ignore-errors")