summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2015-11-11 06:26:59 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2015-11-11 06:26:59 (GMT)
commit35abe19c24f91448bdb7c0c006b546ce5acf2061 (patch)
tree5a0cfc749b9bb131fa50224b62be2406a3bac994
parentc6ce13d9101f51af53101f63a789e252784395ea (diff)
downloadcpython-35abe19c24f91448bdb7c0c006b546ce5acf2061.zip
cpython-35abe19c24f91448bdb7c0c006b546ce5acf2061.tar.gz
cpython-35abe19c24f91448bdb7c0c006b546ce5acf2061.tar.bz2
Issue #25595: Fixed test_deleted_cwd in test_importlib on AIX.
-rw-r--r--Lib/test/test_importlib/import_/test_path.py22
1 files changed, 14 insertions, 8 deletions
diff --git a/Lib/test/test_importlib/import_/test_path.py b/Lib/test/test_importlib/import_/test_path.py
index 4359dd9..b32a876 100644
--- a/Lib/test/test_importlib/import_/test_path.py
+++ b/Lib/test/test_importlib/import_/test_path.py
@@ -3,7 +3,6 @@ from .. import util
importlib = util.import_importlib('importlib')
machinery = util.import_importlib('importlib.machinery')
-import errno
import os
import sys
import tempfile
@@ -160,17 +159,24 @@ class FinderTests:
got = self.machinery.PathFinder.find_spec('whatever', [path])
self.assertEqual(got, success_finder.spec)
- @unittest.skipIf(sys.platform == 'win32', "cwd can't not exist on Windows")
def test_deleted_cwd(self):
# Issue #22834
- self.addCleanup(os.chdir, os.getcwd())
+ old_dir = os.getcwd()
+ self.addCleanup(os.chdir, old_dir)
+ new_dir = tempfile.mkdtemp()
try:
- with tempfile.TemporaryDirectory() as path:
- os.chdir(path)
- except OSError as exc:
- if exc.errno == errno.EINVAL:
- self.skipTest("platform does not allow the deletion of the cwd")
+ os.chdir(new_dir)
+ try:
+ os.rmdir(new_dir)
+ except OSError:
+ # EINVAL on Solaris, EBUSY on AIX, ENOTEMPTY on Windows
+ self.skipTest("platform does not allow "
+ "the deletion of the cwd")
+ except:
+ os.chdir(old_dir)
+ os.rmdir(new_dir)
raise
+
with util.import_state(path=['']):
# Do not want FileNotFoundError raised.
self.assertIsNone(self.machinery.PathFinder.find_spec('whatever'))