diff options
| author | spetafree <6402127+spetafree@users.noreply.github.com> | 2020-03-03 10:55:47 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-03-03 08:55:47 +0000 |
| commit | dd37c7d2af8a21026f4d4b7f43142e4e1e0faf86 (patch) | |
| tree | d772e034adf36131ed63d5ecdd6708ea960eaaaf | |
| parent | 7649968fcc673336e510a18d4d1d20feef48fe4b (diff) | |
| download | virtualenv-dd37c7d2af8a21026f4d4b7f43142e4e1e0faf86.tar.gz | |
Default prompt of environment name in batch shell (#1679)
* Default prompt of environment name in batch shell
* Handle batch prompt in activate.bat
* change test folder name to aviod bat escapes
* run activation tests with and without prompt
* test for correct prompt in batch (only, for now)
* Try to normalize path in batch tests
* update description
* Update 1679.bugfix.rst
* Update conftest.py
* Update conftest.py
Signed-off-by: Bernat Gabor <bgabor8@bloomberg.net>
* better names
Signed-off-by: Bernat Gabor <bgabor8@bloomberg.net>
Co-authored-by: Bernát Gábor <gaborjbernat@gmail.com>
| -rw-r--r-- | docs/changelog/1679.bugfix.rst | 1 | ||||
| -rw-r--r-- | src/virtualenv/activation/batch/activate.bat | 7 | ||||
| -rw-r--r-- | tests/unit/activation/conftest.py | 9 |
3 files changed, 13 insertions, 4 deletions
diff --git a/docs/changelog/1679.bugfix.rst b/docs/changelog/1679.bugfix.rst new file mode 100644 index 0000000..b42782b --- /dev/null +++ b/docs/changelog/1679.bugfix.rst @@ -0,0 +1 @@ +Fix Batch activation script shell prompt to display environment name by default - by :user:`spetafree`. diff --git a/src/virtualenv/activation/batch/activate.bat b/src/virtualenv/activation/batch/activate.bat index 96e835b..c0949ba 100644 --- a/src/virtualenv/activation/batch/activate.bat +++ b/src/virtualenv/activation/batch/activate.bat @@ -13,7 +13,12 @@ if defined _OLD_VIRTUAL_PROMPT ( ) ) if not defined VIRTUAL_ENV_DISABLE_PROMPT ( - set "PROMPT=__VIRTUAL_PROMPT__%PROMPT%" + set "ENV_PROMPT=__VIRTUAL_PROMPT__" + if NOT DEFINED ENV_PROMPT ( + for %%d in ("%VIRTUAL_ENV%") do set "ENV_PROMPT=(%%~nxd) " + ) + ) + set "PROMPT=%ENV_PROMPT%%PROMPT%" ) REM Don't use () to avoid problems with them in %PATH% diff --git a/tests/unit/activation/conftest.py b/tests/unit/activation/conftest.py index 712ee14..c016b40 100644 --- a/tests/unit/activation/conftest.py +++ b/tests/unit/activation/conftest.py @@ -205,10 +205,13 @@ def raise_on_non_source_class(): return RaiseOnNonSourceCall -@pytest.fixture(scope="session") -def activation_python(tmp_path_factory, special_char_name, current_fastest): +@pytest.fixture(scope="session", params=[True, False], ids=["with_prompt", "no_prompt"]) +def activation_python(request, tmp_path_factory, special_char_name, current_fastest): dest = os.path.join(ensure_text(str(tmp_path_factory.mktemp("activation-tester-env"))), special_char_name) - session = cli_run(["--without-pip", dest, "--prompt", special_char_name, "--creator", current_fastest, "-vv"]) + cmd = ["--without-pip", dest, "--creator", current_fastest, "-vv"] + if request.param: + cmd += ["--prompt", special_char_name] + session = cli_run(cmd) pydoc_test = session.creator.purelib / "pydoc_test.py" pydoc_test.write_text('"""This is pydoc_test.py"""') yield session |
