[run]
source = .
branch = true
parallel = true
omit =
    */.tox/*
    */__main__.py
    */setup.py
    */venv*/*
    # TODO: separate the tests from the test data
    testsuite/E*.py
    testsuite/W*.py
    testsuite/latin-1.py
    testsuite/noqa.py
    testsuite/python*.py
    testsuite/utf-8-bom.py

[report]
show_missing = True
skip_covered = True
# TODO: increase this
fail_under = 90
exclude_lines =
    # a more strict default pragma
    \# pragma: no cover\b

    # allow defensive code
    ^\s*raise AssertionError\b
    ^\s*raise NotImplementedError\b
    ^\s*return NotImplemented\b
    ^\s*raise$

    # typing-related code
    ^if (False|TYPE_CHECKING):
    : \.\.\.$
    ^ +\.\.\.$
    -> ['"]?NoReturn['"]?:

    # non-runnable code
    if __name__ == ['"]__main__['"]:$
