To run the tests simply run `make test`. Some of the tests require certain environment variables to be set. `make` will set the variables for you. In addition you can set the variables in your local environment by running: ```shell eval $(make -s env-vars) ``` This role uses molecule for testing. Each molecule test is called a scenario. To list the scenarios defined for this role run `make list-scenarios`. You can run a single scenario by running `make test-`. Some tests rely on an environment variable, `MOLECULE_DOCKER_IMAGES`, to define the platforms for the test. `MOLECULE_DOCKER_IMAGES` will get set automatically by `make`, but can also be overridden by the user. `MOLECULE_DOCKER_IMAGES` should be defined as a space separated list of docker images. The test will be run all the images defined in `MOLECULE_DOCKER_IMAGES` in parallel. You can control the parallelism of the test by setting `CONCURRENT_MOLECULE_PLATFORMS` to the number of platforms you want to test at once. If `CONCURRENT_MOLECULE_PLATFORMS` is less than the total number of `MOLECULE_DOCKER_IMAGES` then the test will keep iterating over `MOLECULE_DOCKER_IMAGES` `CONCURRENT_MOLECULE_PLATFORMS`-at-a-time until all platforms have been tested. ### Vagrant Tests All of the vagrant scenarios (tests) in this collection uses libvirt (KVM/QEMU) for the hypervisor. We are unable to setup a KVM hypervisor in AWS for a reasonable price. Therefore, if you want to run the vagrant scenarios you must have access to a KVM hypervisor. In addition, for some of the tests you will also need access to GitLab and Artifactory which may require the hypervisor be connected to the AWS VPN.