From 35abe19c24f91448bdb7c0c006b546ce5acf2061 Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Wed, 11 Nov 2015 08:26:59 +0200 Subject: Issue #25595: Fixed test_deleted_cwd in test_importlib on AIX. --- Lib/test/test_importlib/import_/test_path.py | 22 ++++++++++++++-------- 1 file 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')) -- cgit v0.12