Hasty Briefsbeta

Bilingual

Coverage.py Regex Pragmas

9 months ago
  • #Python
  • #Regex
  • #Code Coverage
  • Coverage.py uses regexes to define pragma syntax for excluding code from measurement.
  • Regex-based exclusions allow for pragma-less exclusions, like excluding all `__repr__` methods without individual comments.
  • Third-party plugins like `covdefaults` and `coverage-conditional-plugin` leverage regexes for custom exclusions and platform-specific syntaxes.
  • Multi-line regex patterns were introduced, enabling more powerful exclusions like excluding entire files or code between specific lines.
  • Example regex patterns include excluding entire files with `# pragma: exclude file` and code blocks between `# no cover: start` and `# no cover: stop`.
  • Regexes have limitations, such as difficulty handling string literals with pragma text or complex cases like empty placeholder methods.
  • Despite limitations, regexes offer a flexible and powerful balance for real-world code exclusions.