diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2015-11-11 06:26:59 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2015-11-11 06:26:59 (GMT) |
commit | 35abe19c24f91448bdb7c0c006b546ce5acf2061 (patch) | |
tree | 5a0cfc749b9bb131fa50224b62be2406a3bac994 | |
parent | c6ce13d9101f51af53101f63a789e252784395ea (diff) | |
download | cpython-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.py | 22 |
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')) |