]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-35661: Store the venv prompt in pyvenv.cfg (GH-11440)
authorCheryl Sabella <cheryl.sabella@gmail.com>
Fri, 8 Mar 2019 22:01:27 +0000 (17:01 -0500)
committerGitHub <noreply@github.com>
Fri, 8 Mar 2019 22:01:27 +0000 (17:01 -0500)
Lib/test/test_venv.py
Lib/venv/__init__.py
Misc/NEWS.d/next/Library/2019-01-05-16-16-20.bpo-35661.H_UOXc.rst [new file with mode: 0644]

index 347544a67722780ad3f5fec48bb5449bf62c2257..1ddec72927fa959e6dabddc07e6efe07c457a472 100644 (file)
@@ -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):
index d5ab38958bb2f112af7977dad7d5519160866de1..a309b861c5f4d81cb7db386408d31e1e0cc20ff4 100644 (file)
@@ -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 (file)
index 0000000..4318986
--- /dev/null
@@ -0,0 +1 @@
+Store the venv prompt in pyvenv.cfg.