summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCheryl Sabella <cheryl.sabella@gmail.com>2019-03-08 22:01:27 (GMT)
committerGitHub <noreply@github.com>2019-03-08 22:01:27 (GMT)
commitd5a70c6b0355f247931f6be80b78a0ff1869c56f (patch)
treea5c246fcebea6663773635616ab2523503b56535
parent2aab5d310ca752912d5e2f79658edb6684f928c7 (diff)
downloadcpython-d5a70c6b0355f247931f6be80b78a0ff1869c56f.zip
cpython-d5a70c6b0355f247931f6be80b78a0ff1869c56f.tar.gz
cpython-d5a70c6b0355f247931f6be80b78a0ff1869c56f.tar.bz2
bpo-35661: Store the venv prompt in pyvenv.cfg (GH-11440)
-rw-r--r--Lib/test/test_venv.py6
-rw-r--r--Lib/venv/__init__.py2
-rw-r--r--Misc/NEWS.d/next/Library/2019-01-05-16-16-20.bpo-35661.H_UOXc.rst1
3 files changed, 9 insertions, 0 deletions
diff --git a/Lib/test/test_venv.py b/Lib/test/test_venv.py
index 347544a..1ddec72 100644
--- a/Lib/test/test_venv.py
+++ b/Lib/test/test_venv.py
@@ -113,10 +113,16 @@ class BasicTest(BaseTest):
builder = venv.EnvBuilder()
context = builder.ensure_directories(self.env_dir)
self.assertEqual(context.prompt, '(%s) ' % env_name)
+ builder.create(self.env_dir)
+ data = self.get_text_file_contents('pyvenv.cfg')
+ self.assertNotIn("prompt = ", data)
builder = venv.EnvBuilder(prompt='My prompt')
context = builder.ensure_directories(self.env_dir)
self.assertEqual(context.prompt, '(My prompt) ')
+ builder.create(self.env_dir)
+ data = self.get_text_file_contents('pyvenv.cfg')
+ self.assertIn("prompt = 'My prompt'\n", data)
@skipInVenv
def test_prefixes(self):
diff --git a/Lib/venv/__init__.py b/Lib/venv/__init__.py
index d5ab389..a309b86 100644
--- a/Lib/venv/__init__.py
+++ b/Lib/venv/__init__.py
@@ -154,6 +154,8 @@ class EnvBuilder:
incl = 'false'
f.write('include-system-site-packages = %s\n' % incl)
f.write('version = %d.%d.%d\n' % sys.version_info[:3])
+ if self.prompt is not None:
+ f.write(f'prompt = {self.prompt!r}\n')
def symlink_or_copy(self, src, dst, relative_symlinks_ok=False):
"""
diff --git a/Misc/NEWS.d/next/Library/2019-01-05-16-16-20.bpo-35661.H_UOXc.rst b/Misc/NEWS.d/next/Library/2019-01-05-16-16-20.bpo-35661.H_UOXc.rst
new file mode 100644
index 0000000..4318986
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2019-01-05-16-16-20.bpo-35661.H_UOXc.rst
@@ -0,0 +1 @@
+Store the venv prompt in pyvenv.cfg.