# Additional pip requirements file for pywbem testing.
#
# The order of packages is significant, because pip processes them in the order
# of appearance.
#
# Make sure that the minimum versions required in this file are consistent with
# the minimum versions specified in minimum-constraints.txt.


-r requirements.txt

# Direct dependencies (just for "setup.py test")


# Unit test (imports into testcases):
packaging>=17.0
funcsigs>=1.0.2; python_version < '3.3'
# pytest 5.0.0 has removed support for Python < 3.5
# pytest 4.3.1 solves an issue on Python 3 with minimum package levels
# pytest==6.0.0 causes pylint to report "not-callable" issues
# pytest>=6.0.0 causes pylint to report "abstract-method" issues
# For both, see https://github.com/pytest-dev/pytest/issues/7591
pytest>=4.3.1,<5.0.0; python_version < '3.5'
pytest>=4.3.1,!=6.0; python_version >= '3.5' and python_version <= '3.6'
pytest>=4.4.0,!=6.0; python_version >= '3.7' and python_version <= '3.9'
pytest>=6.2.5; python_version >= '3.10'
testfixtures>=6.9.0
# colorama 0.4.0 removed support for Python 3.4
colorama>=0.3.9,<0.4.0; python_version <= '3.4'
colorama>=0.4.0; python_version >= '3.5'

# Easy-server packages
easy-vault>=0.7.0
easy-server>=0.8.0
pytest-easy-server>=0.8.0
jsonschema>=2.6.0,!=4.0.0

requests-mock>=1.6.0
requests-toolbelt>=0.8.0
yagot>=0.5.0
importlib-metadata<1,>=0.12; python_version <= '3.7'
# pytz before 2019.1 fails on Python 3.10 because it uses collections.Mapping
pytz>=2016.10; python_version <= '3.9'
pytz>=2019.1; python_version >= '3.10'

# Unit test (indirect dependencies):
# Pluggy 0.12.0 has a bug causing pytest plugins to fail loading on py38
pluggy>=0.7.1; python_version >= '2.7' and python_version <= '3.6'
pluggy>=0.13.0; python_version >= '3.7'

# Decorator version 5.0 no longer supports python < 3.5
decorator>=4.0.11,<5.0.0; python_version < '3.5'
decorator>=4.0.11; python_version >= '3.5'

backports.statistics>=0.1.0; python_version == '2.7'
# FormEncode is used for xml comparisons in unit test
# FormEncode 1.3.1 has no python_requires and fails install on Python 3.10 due to incorrect version checking
FormEncode>=1.3.1; python_version <= '3.9'
FormEncode>=2.0.0; python_version >= '3.10'

# Lxml
# lxml 4.4.0 removed Python 3.4 support
# lxml 4.4.3 added Python 3.8 support and exposed it correctly
# lxml 4.6.1 addressed safety issue 38892
# lxml 4.6.2 addressed safety issue 39194
# lxml 4.6.3 addressed safety issue 40072
lxml>=4.6.2; python_version == '2.7'
lxml>=4.2.4,<4.4.0; python_version == '3.4'
lxml>=4.6.2; python_version >= '3.5' and python_version <= '3.9'
lxml>=4.6.4; python_version >= '3.10'

# Virtualenv
# Virtualenv 20.0.19 has an issue where it does not install pip on Python 3.4.
virtualenv>=16.1.0,!=20.0.19; python_version < '3.5'
virtualenv>=16.1.0; python_version >= '3.5' and python_version < '3.8'
virtualenv>=20.0.0; python_version >= '3.8'
