microproduct/dem-sentiral/ISCEApp/site-packages/tox/session/commands/provision.py

26 lines
897 B
Python

"""In case the tox environment is not correctly setup provision it and delegate execution"""
from __future__ import absolute_import, unicode_literals
import os
from tox.exception import InvocationError
def provision_tox(provision_venv, args):
ensure_meta_env_up_to_date(provision_venv)
with provision_venv.new_action("provision") as action:
provision_args = [str(provision_venv.envconfig.envpython), "-m", "tox"] + args
try:
env = os.environ.copy()
env[str("TOX_PROVISION")] = str("1")
env.pop("__PYVENV_LAUNCHER__", None)
action.popen(provision_args, redirect=False, report_fail=False, env=env)
return 0
except InvocationError as exception:
return exception.exit_code
def ensure_meta_env_up_to_date(provision_venv):
if provision_venv.setupenv():
provision_venv.finishvenv()