Files
zulip/tools/coveragerc
Anders Kaseorg 2d9b2a2a05 models: Remove type prefixes from __str__ values.
The Django convention is for __repr__ to include the type and __str__
to omit it.  In fact its default __repr__ implementation for models
automatically adds a type prefix to __str__, which has resulted in the
type being duplicated:

    >>> UserProfile.objects.first()
    <UserProfile: <UserProfile: emailgateway@zulip.com <Realm: zulipinternal 1>>>

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-03-08 22:56:55 -08:00

58 lines
2.1 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 __(repr|str)__[(]self[)] -> .*:
# Don't require coverage for errors about unsupported webhook event types
raise UnsupportedWebhookEventTypeError
# 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