[run]
branch = False

omit =
    # omit the following directory
    */pbr/*
    */site-packages/*
    /home/travis/virtualenv/*
    *.eggs/*
    */distutils/*
    PyFunceble/config/*

    # omit the following file
    PyFunceble/cli/dispatcher.py
    PyFunceble/cli/production.py
    PyFunceble/core/api.py
    PyFunceble/core/file.py
    PyFunceble/core/multiprocess.py
    PyFunceble/core/simple.py
    PyFunceble/downloader/*.py
    PyFunceble/engine/database/*
    PyFunceble/engine/auto_save.py
    PyFunceble/engine/mysql.py
    PyFunceble/engine/hashes_tracker.py
    PyFunceble/helpers/download.py
    PyFunceble/lookup/requests.py
    PyFunceble/lookup/ipv4_reputation.py
    PyFunceble/output/clean.py
    PyFunceble/output/constructor.py
    PyFunceble/output/generate.py
    PyFunceble/output/logs.py
    PyFunceble/status/*
    PyFunceble/engine/ci/*

[report]
# This should be False one we move into production
skip_covered = True

# Regexes for lines to exclude from consideration
exclude_lines =
    # Have to re-enable the standard pragma
    pragma: no cover

    # Never cover __init__
    def __init__

    # Don't complain about missing debug-only code:
    def __repr__
    if self\.debug

    # Don't complain if tests don't hit defensive assertion code:
    raise AssertionError
    raise NotImplementedError

    # Don't complain if non-runnable code isn't run:
    if __name__ == .__main__.:
    if tcp is None:

    # Don't complain for those blocks
    PyFunceble\.CONFIGURATION\.db_type == "mariadb"
    PyFunceble\.CONFIGURATION\.db_type in \["mariadb", "mysql"\]

    # Don't complain about those.
    _json
    _mysql
    _sqlite
    PyFunceble\.Logger\(\)
    Logger\(\)


ignore_errors = True

[html]
directory = coverage_html_report
