From: Vinay Sajip Date: Tue, 3 Jul 2012 15:56:40 +0000 (+0100) Subject: Issue #15241: Added test for venv prefixes. X-Git-Tag: v3.3.0b2~327 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3874e547b4779978952792bc19c438c28daca125;p=python Issue #15241: Added test for venv prefixes. --- diff --git a/Lib/test/test_venv.py b/Lib/test/test_venv.py index 705fd39471..3750c361a2 100644 --- a/Lib/test/test_venv.py +++ b/Lib/test/test_venv.py @@ -8,6 +8,7 @@ Licensed to the PSF under a contributor agreement. import os import os.path import shutil +import subprocess import sys import tempfile from test.support import (captured_stdout, captured_stderr, run_unittest, @@ -86,6 +87,30 @@ class BasicTest(BaseTest): print(' %r' % os.listdir(bd)) self.assertTrue(os.path.exists(fn), 'File %r should exist.' % fn) + def test_prefixes(self): + """ + Test that the prefix values are as expected. + """ + #check our prefixes + self.assertEqual(sys.base_prefix, sys.prefix) + self.assertEqual(sys.base_exec_prefix, sys.exec_prefix) + + # check a venv's prefixes + shutil.rmtree(self.env_dir) + self.run_with_capture(venv.create, self.env_dir) + envpy = os.path.join(self.env_dir, self.bindir, self.exe) + cmd = [envpy, '-c', None] + for prefix, expected in ( + ('prefix', self.env_dir), + ('prefix', self.env_dir), + ('base_prefix', sys.prefix), + ('base_exec_prefix', sys.exec_prefix)): + cmd[2] = 'import sys; print(sys.%s)' % prefix + p = subprocess.Popen(cmd, stdout=subprocess.PIPE, + stderr=subprocess.PIPE) + out, err = p.communicate() + self.assertEqual(out[:-1], expected.encode()) + def test_overwrite_existing(self): """ Test control of overwriting an existing environment directory.