# Tox (http://tox.testrun.org/) is a tool for running tests # in multiple virtualenvs. This configuration file will run the # test suite on all supported python versions and providers. # To use it, "pip install tox" and then run "tox" from this directory. # You will have to set all required environment variables (below) before # running the tests. [tox] envlist = {py3.10,pypy}-{aws,azure,gcp,openstack,mock},lint [testenv] commands = # see setup.cfg for options sent to pytest and coverage coverage run --source=cloudbridge -m pytest -n 5 tests/ -v {posargs} setenv = # Fix for moto import issue: https://github.com/travis-ci/travis-ci/issues/7940 BOTO_CONFIG=/dev/null aws: CB_TEST_PROVIDER=aws azure: CB_TEST_PROVIDER=azure gcp: CB_TEST_PROVIDER=gcp openstack: CB_TEST_PROVIDER=openstack mock: CB_TEST_PROVIDER=mock # https://github.com/nedbat/coveragepy/issues/883#issuecomment-650562896 COVERAGE_FILE=.coverage.{envname} passenv = PYTHONUNBUFFERED aws: CB_IMAGE_AWS,CB_VM_TYPE_AWS,CB_PLACEMENT_AWS,AWS_ACCESS_KEY,AWS_SECRET_KEY azure: CB_IMAGE_AZURE,CB_VM_TYPE_AZURE,AZURE_SUBSCRIPTION_ID,AZURE_CLIENT_ID,AZURE_SECRET,AZURE_TENANT,AZURE_REGION_NAME,AZURE_RESOURCE_GROUP,AZURE_STORAGE_ACCOUNT,AZURE_VM_DEFAULT_USER_NAME,AZURE_PUBLIC_KEY_STORAGE_TABLE_NAME gcp: CB_IMAGE_GCP,CB_VM_TYPE_GCP,CB_PLACEMENT_GCP,GCP_DEFAULT_REGION,GCP_DEFAULT_ZONE,GCP_PROJECT_NAME,GCP_SERVICE_CREDS_FILE,GCP_SERVICE_CREDS_DICT openstack: CB_IMAGE_OS,CB_VM_TYPE_OS,CB_PLACEMENT_OS,OS_AUTH_URL,OS_PASSWORD,OS_PROJECT_NAME,OS_TENANT_NAME,OS_USERNAME,OS_REGION_NAME,OS_USER_DOMAIN_NAME,OS_PROJECT_DOMAIN_NAME,NOVA_SERVICE_NAME,OS_APPLICATION_CREDENTIAL_ID,OS_APPLICATION_CREDENTIAL_SECRET mock: CB_IMAGE_AWS,CB_VM_TYPE_AWS,CB_PLACEMENT_AWS,AWS_ACCESS_KEY,AWS_SECRET_KEY deps = -rrequirements.txt coverage pytest-xdist [testenv:lint] commands = flake8 cloudbridge tests setup.py deps = flake8