Skip to content

Commit b3b49cd

Browse files
committed
Refined venv tests.
1 parent 36432ea commit b3b49cd

File tree

1 file changed

+26
-9
lines changed

1 file changed

+26
-9
lines changed

Lib/test/test_venv.py

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,19 +52,19 @@ def get_text_file_contents(self, *args):
5252
class BasicTest(BaseTest):
5353
"""Test venv module functionality."""
5454

55+
def isdir(self, *args):
56+
fn = self.get_env_file(*args)
57+
self.assertTrue(os.path.isdir(fn))
58+
5559
def test_defaults(self):
5660
"""
5761
Test the create function with default arguments.
5862
"""
59-
def isdir(*args):
60-
fn = self.get_env_file(*args)
61-
self.assertTrue(os.path.isdir(fn))
62-
6363
shutil.rmtree(self.env_dir)
6464
self.run_with_capture(venv.create, self.env_dir)
65-
isdir(self.bindir)
66-
isdir(self.include)
67-
isdir(*self.lib)
65+
self.isdir(self.bindir)
66+
self.isdir(self.include)
67+
self.isdir(*self.lib)
6868
data = self.get_text_file_contents('pyvenv.cfg')
6969
if sys.platform == 'darwin' and ('__PYTHONV_LAUNCHER__'
7070
in os.environ):
@@ -77,8 +77,9 @@ def isdir(*args):
7777
self.assertTrue(data.startswith('#!%s%s' % (self.env_dir, os.sep)))
7878
fn = self.get_env_file(self.bindir, self.exe)
7979
if not os.path.exists(fn): # diagnostics for Windows buildbot failures
80-
print('Contents of %r:' % self.bindir)
81-
print(' %r' % os.listdir(self.bindir))
80+
bd = self.get_env_file(self.bindir)
81+
print('Contents of %r:' % bd)
82+
print(' %r' % os.listdir(bd))
8283
self.assertTrue(os.path.exists(fn), 'File %r should exist.' % fn)
8384

8485
def test_overwrite_existing(self):
@@ -89,6 +90,22 @@ def test_overwrite_existing(self):
8990
builder = venv.EnvBuilder(clear=True)
9091
builder.create(self.env_dir)
9192

93+
def test_upgrade(self):
94+
"""
95+
Test upgrading an existing environment directory.
96+
"""
97+
builder = venv.EnvBuilder(upgrade=True)
98+
self.run_with_capture(builder.create, self.env_dir)
99+
self.isdir(self.bindir)
100+
self.isdir(self.include)
101+
self.isdir(*self.lib)
102+
fn = self.get_env_file(self.bindir, self.exe)
103+
if not os.path.exists(fn): # diagnostics for Windows buildbot failures
104+
bd = self.get_env_file(self.bindir)
105+
print('Contents of %r:' % bd)
106+
print(' %r' % os.listdir(bd))
107+
self.assertTrue(os.path.exists(fn), 'File %r should exist.' % fn)
108+
92109
def test_isolation(self):
93110
"""
94111
Test isolation from system site-packages

0 commit comments

Comments
 (0)