# Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
# For details: https://bitbucket.org/ned/coveragepy/src/default/NOTICE.txt

# Settings to use when using coverage.py to measure itself.
[run]
branch = true
data_file = $COVERAGE_METAFILE
parallel = true
source =
    $COVERAGE_HOME/coverage
    $COVERAGE_HOME/tests

[report]
# We set a different pragma so our code won't be confused with test code.
exclude_lines =
    pragma: not covered

    # Lines in test code that isn't covered: we are nested inside ourselves.
    pragma: nested

    # Lines that are only executed when we are debugging coverage.py.
    def __repr__
    pragma: debugging

    # Lines that are only executed when we are not testing coverage.py.
    pragma: not testing

    # Lines that we can't run during metacov.
    pragma: no metacov

    # These lines only happen if tests fail.
    raise AssertionError
    pragma: only failure

    # OS error conditions that we can't (or don't care to) replicate.
    pragma: cant happen

    # Jython needs special care.
    pragma: only jython
    skip.*Jython

    # IronPython isn't included in metacoverage.
    pragma: only ironpython

partial_branches =
    pragma: part covered
    pragma: if failure
    if env.TESTING:
    if .* env.JYTHON
    if .* env.IRONPYTHON

ignore_errors = true
precision = 1

[paths]
source =
    .
    *\coverage\trunk
    */coverage/trunk
    *\coveragepy
