Include path as a kwarg on activate and deactivate events

This commit is contained in:
Caleb Hattingh 2019-08-14 17:50:06 +10:00
parent 16edba8fe8
commit 220923f084
2 changed files with 6 additions and 6 deletions

View file

@ -95,12 +95,12 @@ def test_activate_non_vox_venv(xonsh_builtins, tmpdir):
@xonsh_builtins.events.vox_on_activate @xonsh_builtins.events.vox_on_activate
def activate(name, **_): def activate(name, **_):
nonlocal last_event nonlocal last_event
last_event = "activate", name last_event = "activate", name, _['path']
@xonsh_builtins.events.vox_on_deactivate @xonsh_builtins.events.vox_on_deactivate
def deactivate(name, **_): def deactivate(name, **_):
nonlocal last_event nonlocal last_event
last_event = "deactivate", name last_event = "deactivate", name, _['path']
with tmpdir.as_cwd(): with tmpdir.as_cwd():
venv_dirname = 'venv' venv_dirname = 'venv'
@ -114,12 +114,12 @@ def test_activate_non_vox_venv(xonsh_builtins, tmpdir):
assert env["PATH"][0] == vxv.bin assert env["PATH"][0] == vxv.bin
assert os.path.isabs(vxv.env) assert os.path.isabs(vxv.env)
assert env["VIRTUAL_ENV"] == vxv.env assert env["VIRTUAL_ENV"] == vxv.env
assert last_event == ("activate", venv_dirname) assert last_event == ("activate", venv_dirname, str(pathlib.Path(tmpdir) / 'venv'))
vox.deactivate() vox.deactivate()
assert not env["PATH"] assert not env["PATH"]
assert "VIRTUAL_ENV" not in env assert "VIRTUAL_ENV" not in env
assert last_event == ("deactivate", tmpdir.join(venv_dirname)) assert last_event == ("deactivate", tmpdir.join(venv_dirname), str(pathlib.Path(tmpdir) / 'venv'))
@skip_if_on_msys @skip_if_on_msys

View file

@ -363,7 +363,7 @@ class Vox(collections.abc.Mapping):
if "PYTHONHOME" in env: if "PYTHONHOME" in env:
type(self).oldvars["PYTHONHOME"] = env.pop("PYTHONHOME") type(self).oldvars["PYTHONHOME"] = env.pop("PYTHONHOME")
events.vox_on_activate.fire(name=name) events.vox_on_activate.fire(name=name, path=ve.env)
def deactivate(self): def deactivate(self):
""" """
@ -382,7 +382,7 @@ class Vox(collections.abc.Mapping):
env.pop("VIRTUAL_ENV") env.pop("VIRTUAL_ENV")
events.vox_on_deactivate.fire(name=env_name) events.vox_on_deactivate.fire(name=env_name, path=self[env_name].env)
return env_name return env_name
def __delitem__(self, name): def __delitem__(self, name):