[tox] envlist = init_lint, init_unit, multipass skipsdist = True [testenv] basepython=python3 install_command = pip install {opts} {packages} setenv = PATH = /snap/bin:{env:PATH} passenv = HOME TERM whitelist_externals = sudo /snap/bin/snapcraft [testenv:snap] # Testing environment for the gerrit gate. Named 'snap' to conform to # the requirements of the snap friendly job that we inherit from in # .zuul.yaml. basepython=python3 deps = -r{toxinidir}/test-requirements.txt commands = {toxinidir}/tools/lxd_build.sh {toxinidir}/tests/basic-test.sh {toxinidir}/tests/test_horizonlogin.py [testenv:multipass] # Default testing environment for a human operated machine. Builds the # snap in a multipass instance, then runs tests in a separate multipass # instance. This makes the fewest changes to your personal computer, # but is heavier on system requirements. For a more lightweight test, # use the "snap" environment above. Beware that you will wind up with # a lot of things installed, including potentially the locally built # version of MicroStack! deps = -r{toxinidir}/test-requirements.txt commands = {toxinidir}/tools/multipass_build.sh {toxinidir}/tests/basic-test.sh -m [testenv:basic] # Just run basic_test.sh, with multipass support. commands = {toxinidir}/tests/basic-test.sh -m [testenv:init_lint] deps = -r{toxinidir}/tools/init/test-requirements.txt -r{toxinidir}/tools/init/requirements.txt commands = flake8 {toxinidir}/tools/init/init/ [testenv:init_unit] deps = -r{toxinidir}/tools/init/test-requirements.txt -r{toxinidir}/tools/init/requirements.txt commands = stestr run {posargs} [testenv:browser] # Run browser tests. Assumes that you have the snap installed and # initialized locally, and a valid DISPLAY (install xvfb for a virtual # one). # TODO: figure out how to integrate this w/ multipass. (e.g. setup # port forwarding and call into the mulitpass machine.) deps = -r{toxinidir}/test-requirements.txt commands = {toxinidir}/tests/test_horizonlogin.py