tox.ini 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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
  33. azure: AZURE_SECRET
  34. azure: AZURE_TENANT
  35. azure: AZURE_REGION_NAME
  36. azure: AZURE_RESOURCE_GROUP
  37. azure: AZURE_STORAGE_ACCOUNT
  38. azure: AZURE_VM_DEFAULT_USER_NAME
  39. azure: AZURE_PUBLIC_KEY_STORAGE_TABLE_NAME
  40. gcp: CB_IMAGE_GCP
  41. gcp: CB_VM_TYPE_GCP
  42. gcp: CB_PLACEMENT_GCP
  43. gcp: GCP_DEFAULT_REGION
  44. gcp: GCP_DEFAULT_ZONE
  45. gcp: GCP_PROJECT_NAME
  46. gcp: GCP_SERVICE_CREDS_FILE
  47. gcp: GCP_SERVICE_CREDS_DICT
  48. openstack: CB_IMAGE_OS
  49. openstack: CB_VM_TYPE_OS
  50. openstack: CB_PLACEMENT_OS
  51. openstack: OS_AUTH_URL
  52. openstack: OS_PASSWORD
  53. openstack: OS_PROJECT_NAME
  54. openstack: OS_TENANT_NAME
  55. openstack: OS_USERNAME
  56. openstack: OS_REGION_NAME
  57. openstack: OS_USER_DOMAIN_NAME
  58. openstack: OS_PROJECT_DOMAIN_NAME
  59. openstack: NOVA_SERVICE_NAME
  60. openstack: OS_APPLICATION_CREDENTIAL_ID
  61. openstack: OS_APPLICATION_CREDENTIAL_SECRET
  62. mock: CB_IMAGE_AWS
  63. mock: CB_VM_TYPE_AWS
  64. mock: CB_PLACEMENT_AWS
  65. mock: AWS_ACCESS_KEY
  66. mock: AWS_SECRET_KEY
  67. deps =
  68. -rrequirements.txt
  69. coverage
  70. pytest-xdist
  71. [testenv:lint]
  72. commands = flake8 cloudbridge tests setup.py
  73. deps = flake8