# ============================================================================
# PYTEST CONFIGURATION FILE: pytest.ini
# ============================================================================
# SEE ALSO:
#  * http://pytest.org/
#  * http://pytest.org/latest/customize.html
#  * http://pytest.org/latest/usage.html
#  * http://pytest.org/latest/example/pythoncollection.html#change-naming-conventions
# ============================================================================
# MORE OPTIONS:
#  addopts =
#  python_classes=*Test
#  python_functions=test
# ============================================================================

[pytest]
minversion    = 4.2
testpaths     = tests
python_files  = test_*.py
junit_family = xunit2
addopts = --metadata PACKAGE_UNDER_TEST parse_type
    --metadata PACKAGE_VERSION 0.5.3
    --html=build/testing/report.html --self-contained-html
    --junit-xml=build/testing/report.xml
# markers =
#    smoke
#    slow

# -- PREPARED:
# filterwarnings =
#    ignore:.*invalid escape sequence.*:DeprecationWarning

# -- BACKWARD COMPATIBILITY: pytest < 2.8
norecursedirs = .git .tox build dist .venv* tmp* _*
