f6c44fb77a
Fixed issue where tests/framework.py was ignorning DISTRO env variable. Added SNAP_FILE env variable, which allows tests to be run on an abitrary .snap file. For example, one fetch with `snap download`. Change-Id: Ie6cce841e00d6d56d0525d0a81c4faad3c54e8e8
112 lines
2.7 KiB
INI
112 lines
2.7 KiB
INI
[tox]
|
|
envlist = lint, unit, multipass
|
|
skipsdist = True
|
|
|
|
[testenv]
|
|
basepython=python3
|
|
install_command = pip install {opts} {packages}
|
|
deps = -r{toxinidir}/test-requirements.txt
|
|
setenv =
|
|
PATH = /snap/bin:{env:PATH}
|
|
passenv = HOME TERM DISTRO INTERACTIVE_DEBUG USER SNAP_FILE
|
|
whitelist_externals =
|
|
sudo
|
|
/snap/bin/snapcraft
|
|
commands =
|
|
{toxinidir}/tools/basic_setup.sh
|
|
flake8 {toxinidir}/tests/
|
|
{toxinidir}/tests/test_basic.py
|
|
|
|
[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.
|
|
commands =
|
|
{toxinidir}/tools/lxd_build.sh
|
|
flake8 {toxinidir}/tests/
|
|
# Specify tests in sequence, as they can't run in parallel if not
|
|
# using multipass.
|
|
{toxinidir}/tests/test_basic.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!
|
|
setenv =
|
|
MULTIPASS=true
|
|
|
|
commands =
|
|
{toxinidir}/tools/multipass_build.sh
|
|
flake8 {toxinidir}/tests/
|
|
{toxinidir}/tests/test_basic.py
|
|
|
|
[testenv:basic]
|
|
# Run basic tests, with default distro.
|
|
setenv =
|
|
MULTIPASS=true
|
|
|
|
[testenv:refresh]
|
|
# Verify that we can refresh MicroStack
|
|
setenv =
|
|
MULTIPASS=true
|
|
|
|
commands =
|
|
{toxinidir}/tools/basic_setup.sh
|
|
flake8 {toxinidir}/tests/
|
|
{toxinidir}/tests/test_refresh.py
|
|
|
|
[testenv:xenial]
|
|
# Run basic tests, under xenial.
|
|
setenv =
|
|
MULTIPASS=true
|
|
DISTRO=xenial
|
|
|
|
[testenv:disco]
|
|
# Run basic tests, under disco.
|
|
setenv =
|
|
MULTIPASS=true
|
|
DISTRO=disco
|
|
|
|
[testenv:eoan]
|
|
# Run basic tests, under eoan.
|
|
setenv =
|
|
MULTIPASS=true
|
|
DISTRO=eoan
|
|
|
|
[testenv:cluster]
|
|
# Test out clustering!
|
|
# Requires multipass.
|
|
setenv =
|
|
MULTIPASS=true
|
|
|
|
commands =
|
|
{toxinidir}/tools/basic_setup.sh
|
|
flake8 {toxinidir}/tests/
|
|
{toxinidir}/tests/test_cluster.py
|
|
|
|
[testenv:build]
|
|
# Just build the snap, using multipass.
|
|
setenv =
|
|
MULTIPASS=true
|
|
|
|
commands =
|
|
{toxinidir}/tools/multipass_build.sh
|
|
|
|
[testenv:lint]
|
|
commands =
|
|
flake8 {toxinidir}/tests/
|
|
flake8 {toxinidir}/tools/
|
|
flake8 {toxinidir}/tools/init/init/
|
|
flake8 {toxinidir}/tools/launch/launch/
|
|
flake8 {toxinidir}/tools/cluster/cluster/
|
|
|
|
[testenv:unit]
|
|
deps = -r{toxinidir}/tools/init/test-requirements.txt
|
|
-r{toxinidir}/tools/init/requirements.txt
|
|
commands =
|
|
stestr run --top-dir=./tools/init/ --test-path=./tools/init/tests/ {posargs}
|