zulip/tools/coveragerc

58 lines
2.0 KiB
Plaintext

[report]
# Regexes for lines to exclude from consideration
exclude_lines =
# Re-enable the standard coverage pragma
nocoverage
# Don't complain if non-runnable code isn't run:
if False:
# Don't require coverage for base class NotImplementedErrors
raise NotImplementedError()
# Don't require coverage for test suite AssertionError -- they're usually for clarity
raise AssertionError
# Don't require coverage for __str__ statements just used for printing
def __str__[(]self[)] -> .*:
# Don't require coverage for errors about unsupported webhook event types
raise UnsupportedWebhookEventType
# Don't require coverage for blocks only run when type-checking
if TYPE_CHECKING:
# Don't require coverage for abstract methods; they're never called.
@abstractmethod
# PEP 484 overloading syntax
^\s*\.\.\.
# Skipped unit tests
@skip
[run]
data_file=var/.coverage
# dynamic_context=test_function, combined with using
# html_report(..., show_contexts=True), means the HTML report can detail
# which test(s) executed each line with coverage. This has modest
# overhead but is very useful for finding existing tests for a code path.
dynamic_context=test_function
omit =
*/zulip-venv-cache/*
*/migrations/*
*/management/commands/*
# Parts of the test runner infrastructure
tools/test-backend
zerver/lib/test_fixtures.py
zerver/lib/test_runner.py
# Has its own independent test suite
zerver/openapi/python_examples.py
# Debugging tools that don't lend themselves well to unit tests
zerver/lib/debug.py
# Part of provisioning/populate_db
zerver/lib/generate_test_data.py
# Excluded because its coverage state is flaky.
zerver/tornado/ioloop_logging.py
# Zulip's library for use in scripts
scripts/lib/zulip_tools.py
# Used only for the legacy Zephyr integration, and unlikely to ever be unit-tested
zerver/lib/ccache.py
# Settings.py files are hard to test
zproject/*settings.py
# https://github.com/davidhalter/jedi/issues/1122
blub