diff --git a/tox.ini b/tox.ini index 4d5e5ca..1ed71d3 100644 --- a/tox.ini +++ b/tox.ini @@ -1,24 +1,36 @@ [tox] skipsdist = True envlist = pep8 +toxworkdir = /tmp/tox +# NOTE(beisner): Avoid build/test env pollution by not enabling sitepackages. +sitepackages = False +# NOTE(beisner): Avoid false positives by not skipping missing interpreters. +skip_missing_interpreters = False [testenv] -basepython = python2.7 +basepython = python3 setenv = VIRTUAL_ENV={envdir} PYTHONHASHSEED=0 TERM=linux - JUJU_REPOSITORY={toxinidir}/build + JUJU_REPOSITORY={envdir}/tmp/build passenv = http_proxy https_proxy install_command = pip install {opts} {packages} deps = -r{toxinidir}/requirements.txt -whitelist_externals = /bin/true /bin/echo +whitelist_externals = /bin/true /bin/echo /bin/mkdir /bin/ln [testenv:build] +# ``charm build`` refuses to output to a subdirectory to the source tree +# The gate check will look for and validate the built artifacts in the source +# tree. +# Build the artifats under /tmp and link back to source directory to alleviate. commands = /bin/echo 'WARNING: *build* target is for testing only.' - charm-build --log-level DEBUG -o {toxinidir}/build . + /bin/mkdir -p {envdir}/tmp + charm-build --log-level DEBUG -o {envdir}/tmp/build . + /bin/ln -s {envdir}/tmp/build/builds {envdir}/tmp/build/trusty + /bin/ln -s {envdir}/tmp/build {toxinidir}/build [testenv:venv] basepython = python3 @@ -48,6 +60,12 @@ deps = -r{toxinidir}/test-requirements.txt # TODO: Need to write unit tests then remove the following command. commands = /bin/true +[testenv:py37] +basepython = python3.7 +deps = -r{toxinidir}/test-requirements.txt +# TODO: Need to write unit tests then remove the following command. +commands = /bin/true + [testenv:pep8] basepython = python3 commands = /bin/true