bazel-contrib / bazel-contrib/rules_python
Allow customized coveragerc for Python coverage
- Lingua principale
- Starlark
- Stelle
- 688
- Fork
- 721
- Merge medio
- 15h 7m
- PR unite (30g)
- 76
Descrizione
### Description of the feature request:
For python coverage collection, `.coveragerc` is hardcoded in https://github.com/bazelbuild/bazel/blame/d435c6dd6e977a5c3ea1bc726557a9321948a317/tools/python/python_bootstrap_template.txt#L393-L397. To provide configurability, we'd like to introduce custom `.coveragerc` to set configurations including https://coverage.readthedocs.io/en/stable/excluding.html#advanced-exclusion.
### Which category does this issue belong to?
Configurability, Python Rules
### What underlying problem are you trying to solve with this feature?
Allow coverage configurations. In particular, we're interested in excluding import statements being collected as executable lines in coverage reports.
### Which operating system are you running Bazel on?
macOS, Linux
### What is the output of `bazel info release`?
release 6.3.0
### If `bazel info release` returns `development version` or `(@non-git)`, tell us how you built Bazel.
_No response_
### What's the output of `git remote get-url origin; git rev-parse master; git rev-parse HEAD` ?
_No response_
### Have you found anything relevant by searching the web?
_No response_
### Any other information, logs, or outputs that you want to share?
_No response_
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Start by reading tools/python/python_bootstrap_template.txt around lines 393-397, where the .coveragerc path is hardcoded, and trace how Python coverage is collected on macOS and Linux. Done means users can provide a custom .coveragerc and configure coverage exclusions, including import statements, without the default behavior becoming unusable.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- build-system
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100