]> granicus.if.org Git - python/commitdiff
test_venv: use support.rmtree() instead of shutil.rmtree() to fix sporadic
authorVictor Stinner <victor.stinner@gmail.com>
Fri, 10 Oct 2014 12:23:00 +0000 (14:23 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Fri, 10 Oct 2014 12:23:00 +0000 (14:23 +0200)
failures on Windows

Lib/test/test_venv.py

index 8dfff519aa558562d16eb7ecda52713a2bd5ff24..b462588e34b2703633d62b97d0e8197f6079b80f 100644 (file)
@@ -8,13 +8,12 @@ Licensed to the PSF under a contributor agreement.
 import ensurepip
 import os
 import os.path
-import shutil
 import struct
 import subprocess
 import sys
 import tempfile
 from test.support import (captured_stdout, captured_stderr, run_unittest,
-                          can_symlink, EnvironmentVarGuard)
+                          can_symlink, EnvironmentVarGuard, rmtree)
 import textwrap
 import unittest
 import venv
@@ -56,7 +55,7 @@ class BaseTest(unittest.TestCase):
         self.exe = os.path.split(executable)[-1]
 
     def tearDown(self):
-        shutil.rmtree(self.env_dir)
+        rmtree(self.env_dir)
 
     def run_with_capture(self, func, *args, **kwargs):
         with captured_stdout() as output:
@@ -83,7 +82,7 @@ class BasicTest(BaseTest):
         """
         Test the create function with default arguments.
         """
-        shutil.rmtree(self.env_dir)
+        rmtree(self.env_dir)
         self.run_with_capture(venv.create, self.env_dir)
         self.isdir(self.bindir)
         self.isdir(self.include)
@@ -121,7 +120,7 @@ class BasicTest(BaseTest):
         self.assertEqual(sys.base_exec_prefix, sys.exec_prefix)
 
         # check a venv's prefixes
-        shutil.rmtree(self.env_dir)
+        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]
@@ -188,7 +187,7 @@ class BasicTest(BaseTest):
             if os.path.islink(fn) or os.path.isfile(fn):
                 os.remove(fn)
             elif os.path.isdir(fn):
-                shutil.rmtree(fn)
+                rmtree(fn)
 
     def test_unoverwritable_fails(self):
         #create a file clashing with directories in the env dir
@@ -254,7 +253,7 @@ class BasicTest(BaseTest):
         """
         Test that the sys.executable value is as expected.
         """
-        shutil.rmtree(self.env_dir)
+        rmtree(self.env_dir)
         self.run_with_capture(venv.create, self.env_dir)
         envpy = os.path.join(os.path.realpath(self.env_dir), self.bindir, self.exe)
         cmd = [envpy, '-c', 'import sys; print(sys.executable)']
@@ -268,7 +267,7 @@ class BasicTest(BaseTest):
         """
         Test that the sys.executable value is as expected.
         """
-        shutil.rmtree(self.env_dir)
+        rmtree(self.env_dir)
         builder = venv.EnvBuilder(clear=True, symlinks=True)
         builder.create(self.env_dir)
         envpy = os.path.join(os.path.realpath(self.env_dir), self.bindir, self.exe)
@@ -299,12 +298,12 @@ class EnsurePipTest(BaseTest):
 
 
     def test_no_pip_by_default(self):
-        shutil.rmtree(self.env_dir)
+        rmtree(self.env_dir)
         self.run_with_capture(venv.create, self.env_dir)
         self.assert_pip_not_installed()
 
     def test_explicit_no_pip(self):
-        shutil.rmtree(self.env_dir)
+        rmtree(self.env_dir)
         self.run_with_capture(venv.create, self.env_dir, with_pip=False)
         self.assert_pip_not_installed()
 
@@ -321,7 +320,7 @@ class EnsurePipTest(BaseTest):
     # Requesting pip fails without SSL (http://bugs.python.org/issue19744)
     @unittest.skipIf(ssl is None, ensurepip._MISSING_SSL_MESSAGE)
     def test_with_pip(self):
-        shutil.rmtree(self.env_dir)
+        rmtree(self.env_dir)
         with EnvironmentVarGuard() as envvars:
             # pip's cross-version compatibility may trigger deprecation
             # warnings in current versions of Python. Ensure related