[英]How to import all the environment variables in tox
我在setenv中使用以下命令從我運行的地方導入環境變量,但有沒有辦法導入所有變量,這樣我就不需要逐個導入了。
例如:{env:TEMPEST_CONFIG:}和{env:TEMPEST_CONFIG_DIR:}用於導入這兩個變量。
[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}
你可以使用passenv 。 如果傳遞catch all wildcard *
,則可以訪問父環境中的所有環境變量:
passenv =空格分隔-GLOBNAMES
2.0版中的新功能。
通配符環境變量名稱列表,在執行測試命令時應從tox調用環境復制到測試環境。 如果tox調用環境中不存在指定的環境變量,則忽略該變量。 你可以使用*和? 使用一個名稱匹配多個環境變量。
最小化tox.ini
重現(無需項目):
[tox]
skipsdist = True
[testenv]
passenv = *
skip_install = True
commands = python -c "print('computer says {env:MY_FANCY_ENV_VAR:}!')"
在linux / unix shell中調用:
MY_FANCY_ENV_VAR=no tox -qq
Windows cmd.exe上的調用:
set MY_FANCY_ENV_VAR=no & tox -qq
輸出:
computer says no!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.