2
0

tox.ini 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. # Tox (http://tox.testrun.org/) is a tool for running tests
  2. # in multiple virtualenvs. This configuration file will run the
  3. # test suite on all supported python versions and providers.
  4. # To use it, "pip install tox" and then run "tox" from this directory.
  5. # You will have to set all required environment variables (below) before
  6. # running the tests.
  7. [tox]
  8. envlist = {py3.10,pypy}-{aws,azure,gcp,openstack,mock},lint
  9. [testenv]
  10. commands = # see setup.cfg for options sent to pytest and coverage
  11. coverage run --source=cloudbridge -m pytest -n 5 tests/ -v {posargs}
  12. setenv =
  13. # Fix for moto import issue: https://github.com/travis-ci/travis-ci/issues/7940
  14. BOTO_CONFIG=/dev/null
  15. aws: CB_TEST_PROVIDER=aws
  16. azure: CB_TEST_PROVIDER=azure
  17. gcp: CB_TEST_PROVIDER=gcp
  18. openstack: CB_TEST_PROVIDER=openstack
  19. mock: CB_TEST_PROVIDER=mock
  20. # https://github.com/nedbat/coveragepy/issues/883#issuecomment-650562896
  21. COVERAGE_FILE=.coverage.{envname}
  22. passenv =
  23. PYTHONUNBUFFERED
  24. aws: CB_IMAGE_AWS
  25. aws: CB_VM_TYPE_AWS
  26. aws: CB_PLACEMENT_AWS
  27. aws: AWS_ACCESS_KEY
  28. aws: AWS_SECRET_KEY
  29. azure: CB_IMAGE_AZURE
  30. azure: CB_VM_TYPE_AZURE
  31. azure: AZURE_SUBSCRIPTION_ID
  32. azure: AZURE_CLIENT_ID,AZURE_SECRET
  33. azure: AZURE_TENANT
  34. azure: AZURE_REGION_NAME
  35. azure: AZURE_RESOURCE_GROUP
  36. azure: AZURE_STORAGE_ACCOUNT
  37. azure: AZURE_VM_DEFAULT_USER_NAME
  38. azure: AZURE_PUBLIC_KEY_STORAGE_TABLE_NAME
  39. gcp: CB_IMAGE_GCP
  40. gcp: CB_VM_TYPE_GCP
  41. gcp: CB_PLACEMENT_GCP
  42. gcp: GCP_DEFAULT_REGION
  43. gcp: GCP_DEFAULT_ZONE
  44. gcp: GCP_PROJECT_NAME
  45. gcp: GCP_SERVICE_CREDS_FILE
  46. gcp: GCP_SERVICE_CREDS_DICT
  47. openstack: CB_IMAGE_OS
  48. openstack: CB_VM_TYPE_OS
  49. openstack: CB_PLACEMENT_OS
  50. openstack: OS_AUTH_URL
  51. openstack: OS_PASSWORD
  52. openstack: OS_PROJECT_NAME
  53. openstack: OS_TENANT_NAME
  54. openstack: OS_USERNAME
  55. openstack: OS_REGION_NAME
  56. openstack: OS_USER_DOMAIN_NAME
  57. openstack: OS_PROJECT_DOMAIN_NAME
  58. openstack: NOVA_SERVICE_NAME
  59. openstack: OS_APPLICATION_CREDENTIAL_ID
  60. openstack: OS_APPLICATION_CREDENTIAL_SECRET
  61. mock: CB_IMAGE_AWS
  62. mock: CB_VM_TYPE_AWS
  63. mock: CB_PLACEMENT_AWS
  64. mock: AWS_ACCESS_KEY
  65. mock: AWS_SECRET_KEY
  66. deps =
  67. -rrequirements.txt
  68. coverage
  69. pytest-xdist
  70. [testenv:lint]
  71. commands = flake8 cloudbridge tests setup.py
  72. deps = flake8