Skip to content

Commit d5a70c6

Browse files
authored
bpo-35661: Store the venv prompt in pyvenv.cfg (GH-11440)
1 parent 2aab5d3 commit d5a70c6

File tree

3 files changed

+9
-0
lines changed

3 files changed

+9
-0
lines changed

Lib/test/test_venv.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,16 @@ def test_prompt(self):
113113
builder = venv.EnvBuilder()
114114
context = builder.ensure_directories(self.env_dir)
115115
self.assertEqual(context.prompt, '(%s) ' % env_name)
116+
builder.create(self.env_dir)
117+
data = self.get_text_file_contents('pyvenv.cfg')
118+
self.assertNotIn("prompt = ", data)
116119

117120
builder = venv.EnvBuilder(prompt='My prompt')
118121
context = builder.ensure_directories(self.env_dir)
119122
self.assertEqual(context.prompt, '(My prompt) ')
123+
builder.create(self.env_dir)
124+
data = self.get_text_file_contents('pyvenv.cfg')
125+
self.assertIn("prompt = 'My prompt'\n", data)
120126

121127
@skipInVenv
122128
def test_prefixes(self):

Lib/venv/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,8 @@ def create_configuration(self, context):
154154
incl = 'false'
155155
f.write('include-system-site-packages = %s\n' % incl)
156156
f.write('version = %d.%d.%d\n' % sys.version_info[:3])
157+
if self.prompt is not None:
158+
f.write(f'prompt = {self.prompt!r}\n')
157159

158160
def symlink_or_copy(self, src, dst, relative_symlinks_ok=False):
159161
"""
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Store the venv prompt in pyvenv.cfg.

0 commit comments

Comments
 (0)