paquetes - modulos python 3
Cómo importar todas las variables de entorno en tox. (1)
Puedes usar passenv . Si pasa el comodín catch *
, tiene acceso a todas las variables de entorno del entorno principal:
passenv = SPACE-SEPARATED-GLOBNAMES
Nuevo en la versión 2.0.
Una lista de nombres de variables de entorno comodín que se copiarán del entorno de invocación tox al entorno de prueba al ejecutar comandos de prueba. Si una variable de entorno especificada no existe en el entorno de invocación de tox, se ignora. Puedes usar * y? para hacer coincidir múltiples variables de entorno con un nombre.
Mínimo tox.ini
para reproducir:
[tox]
envlist = py27
skipsdist = True
[testenv]
passenv = *
whitelist_externals = echo
commands = echo {env:MY_FANCY_ENV_VAR:} from my fancy env var :)
invocación en linux / unix shell:
MY_FANCY_ENV_VAR=''hello'' tox
invocación en Windows cmd.exe:
set MY_FANCY_ENV_VAR=hello & tox
salida:
py27 create: /tmp/tt/.tox/py27
py27 installed:
py27 runtests: PYTHONHASHSEED=''2037875709''
py27 runtests: commands[0] | echo from my fancy env var :)
hello from my fancy env var :)
_______________________ summary __________________________
py27: commands succeeded
congratulations :)
Estoy usando seguir en setenv para importar la variable de entorno desde donde ejecuto, pero hay una manera de importar todas las variables para que no tenga que importar una por una.
por ejemplo: {env: TEMPEST_CONFIG:} y {env: TEMPEST_CONFIG_DIR:} utilizados para importar estas 2 variables.
[testenv:nosetests]
setenv =
TEMPEST_CONFIG={env:TEMPEST_CONFIG:}
TEMPEST_CONFIG_DIR={env:TEMPEST_CONFIG_DIR:}
deps = {[testenv]deps}
commands =
find . -type f -name "*.pyc" -delete
bash {toxinidir}/tools/setup.sh
nosetests --with-xunit {posargs}