cinder/tox.ini
Victor Stinner 3a1c871927 py3: Port pure driver test to Python 3
* Replace func.func_name with func.__name__: the func_name attribute
  was removed in Python 3, whereas the __name__ attribute exists on
  Python 2 and Python 3
* Create INITIATOR_TARGET_MAP using list(set()) to get the same order
  than the tested code. The exact order is not reliable, it depends
  on the hash function which is now randomized by default on
  Python 3. The hash function is also different between Python 2.7
  and 3.4.
* tox.ini: add test_pure to Python 3.4

Blueprint cinder-python3
Change-Id: I78601278259f1d34ad6ac3458d2dd0a3aca9d77a
2015-09-28 17:56:37 +02:00

178 lines
5.8 KiB
INI

[tox]
minversion = 1.6
skipsdist = True
envlist = py27,pep8
[testenv]
# Note the hash seed is set to 0 until cinder can be tested with a
# random hash seed successfully.
setenv = VIRTUAL_ENV={envdir}
PYTHONHASHSEED=0
usedevelop = True
install_command = pip install {opts} {packages}
deps = -r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
# By default ostestr will set concurrency
# to ncpu, to specify something else use
# the concurrency=<n> option.
# call ie: 'tox -epy27 -- --concurrency=4'
commands = ostestr {posargs}
whitelist_externals = bash
passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY
[tox:jenkins]
downloadcache = ~/cache/pip
[testenv:py34]
commands =
python -m testtools.run \
cinder.tests.unit.image.test_glance \
cinder.tests.unit.targets.test_base_iscsi_driver \
cinder.tests.unit.targets.test_cxt_driver \
cinder.tests.unit.targets.test_iser_driver \
cinder.tests.unit.targets.test_lio_driver \
cinder.tests.unit.targets.test_scst_driver \
cinder.tests.unit.targets.test_tgt_driver \
cinder.tests.unit.test_api \
cinder.tests.unit.test_api_urlmap \
cinder.tests.unit.test_backup \
cinder.tests.unit.test_backup_ceph \
cinder.tests.unit.test_backup_driver_base \
cinder.tests.unit.test_backup_swift \
cinder.tests.unit.test_backup_tsm \
cinder.tests.unit.test_block_device \
cinder.tests.unit.test_blockbridge \
cinder.tests.unit.test_cloudbyte \
cinder.tests.unit.test_cmd \
cinder.tests.unit.test_conf \
cinder.tests.unit.test_context \
cinder.tests.unit.test_db_api \
cinder.tests.unit.test_dellfc \
cinder.tests.unit.test_dellsc \
cinder.tests.unit.test_dellscapi \
cinder.tests.unit.test_dothill \
cinder.tests.unit.test_drbdmanagedrv \
cinder.tests.unit.test_emc_xtremio \
cinder.tests.unit.test_eqlx \
cinder.tests.unit.test_evaluator \
cinder.tests.unit.test_exception \
cinder.tests.unit.test_glusterfs \
cinder.tests.unit.test_gpfs \
cinder.tests.unit.test_hitachi_hbsd_horcm_fc \
cinder.tests.unit.test_hitachi_hbsd_snm2_fc \
cinder.tests.unit.test_hitachi_hbsd_snm2_iscsi \
cinder.tests.unit.test_hitachi_hnas_backend \
cinder.tests.unit.test_hitachi_hnas_iscsi \
cinder.tests.unit.test_hitachi_hnas_nfs \
cinder.tests.unit.test_hp_xp_fc \
cinder.tests.unit.test_hplefthand \
cinder.tests.unit.test_huawei_drivers \
cinder.tests.unit.test_huawei_drivers_compatibility \
cinder.tests.unit.test_ibm_flashsystem_iscsi \
cinder.tests.unit.test_ibmnas \
cinder.tests.unit.test_ibm_xiv_ds8k \
cinder.tests.unit.test_image_utils \
cinder.tests.unit.test_infortrend_cli \
cinder.tests.unit.test_migrations \
cinder.tests.unit.test_misc \
cinder.tests.unit.test_netapp_nfs \
cinder.tests.unit.test_nfs \
cinder.tests.unit.test_nimble \
cinder.tests.unit.test_pure \
cinder.tests.unit.test_qos_specs \
cinder.tests.unit.test_quota \
cinder.tests.unit.test_rbd \
cinder.tests.unit.test_remotefs \
cinder.tests.unit.test_replication \
cinder.tests.unit.test_san \
cinder.tests.unit.test_scality \
cinder.tests.unit.test_service \
cinder.tests.unit.test_sheepdog \
cinder.tests.unit.test_smbfs \
cinder.tests.unit.test_solidfire \
cinder.tests.unit.test_test \
cinder.tests.unit.test_test_utils \
cinder.tests.unit.test_v6000_common \
cinder.tests.unit.test_vmware_vmdk \
cinder.tests.unit.test_vmware_volumeops \
cinder.tests.unit.test_volume_configuration \
cinder.tests.unit.test_volume_glance_metadata \
cinder.tests.unit.test_volume_rpcapi \
cinder.tests.unit.test_volume_transfer \
cinder.tests.unit.test_volume_types \
cinder.tests.unit.test_volume_types_extra_specs \
cinder.tests.unit.test_volume_utils \
cinder.tests.unit.volume.flows.test_create_volume_flow \
cinder.tests.unit.windows.test_smbfs \
cinder.tests.unit.windows.test_vhdutils \
cinder.tests.unit.windows.test_windows \
cinder.tests.unit.windows.test_windows_remotefs \
cinder.tests.unit.windows.test_windows_utils
[testenv:pep8]
commands =
flake8 {posargs} . cinder/common
# Check that .po and .pot files are valid:
bash -c "find cinder -type f -regex '.*\.pot?' -print0|xargs -0 -n 1 msgfmt --check-format -o /dev/null"
{toxinidir}/tools/config/check_uptodate.sh
{toxinidir}/tools/check_exec.py {toxinidir}/cinder
[testenv:pylint]
deps = -r{toxinidir}/requirements.txt
pylint==0.26.0
commands = bash tools/lintstack.sh
[testenv:cover]
# Also do not run test_coverage_ext tests while gathering coverage as those
# tests conflict with coverage.
commands =
python setup.py testr --coverage \
--testr-args='^(?!.*test.*coverage).*$'
[testenv:genconfig]
sitepackages = False
envdir = {toxworkdir}/venv
commands = {toxinidir}/tools/config/generate_sample.sh from_tox
[testenv:venv]
commands = {posargs}
[testenv:docs]
commands = python setup.py build_sphinx
[testenv:gendriverlist]
sitepackages = False
envdir = {toxworkdir}/venv
commands = python {toxinidir}/tools/generate_driver_list.py
[testenv:bandit]
deps = -r{toxinidir}/test-requirements.txt
commands = bandit -c tools/bandit.yaml -r cinder -n 5 -ll
[flake8]
# Following checks are ignored on purpose.
#
# E251 unexpected spaces around keyword / parameter equals
# reason: no improvement in readability
#
# Due to the upgrade to hacking 0.9.2 the following checking are
# ignored on purpose for the moment and should be re-enabled.
#
# H405
# Due to the upgrade to hacking 0.10.0 the following checking are
# ignored on purpose for the moment and should be cleaned up and re-enabled.
#
# H105 Don't use author tags
#
ignore = E251,H105
exclude = .git,.venv,.tox,dist,tools,doc,common,*egg,build
max-complexity=30
[hacking]
local-check-factory = cinder.hacking.checks.factory
import_exceptions = cinder.i18n