Issue #12618: fix py_compile unit tests to handle different drives on Windows
This commit is contained in:
parent
89749407af
commit
710671a722
|
@ -13,11 +13,22 @@ class PyCompileTests(unittest.TestCase):
|
||||||
self.directory = tempfile.mkdtemp()
|
self.directory = tempfile.mkdtemp()
|
||||||
self.source_path = os.path.join(self.directory, '_test.py')
|
self.source_path = os.path.join(self.directory, '_test.py')
|
||||||
self.pyc_path = self.source_path + 'c'
|
self.pyc_path = self.source_path + 'c'
|
||||||
|
self.cwd_drive = os.path.splitdrive(os.getcwd())[0]
|
||||||
|
# In these tests we compute relative paths. When using Windows, the
|
||||||
|
# current working directory path and the 'self.source_path' might be
|
||||||
|
# on different drives. Therefore we need to switch to the drive where
|
||||||
|
# the temporary source file lives.
|
||||||
|
drive = os.path.splitdrive(self.source_path)[0]
|
||||||
|
if drive:
|
||||||
|
os.chdir(drive)
|
||||||
|
|
||||||
with open(self.source_path, 'w') as file:
|
with open(self.source_path, 'w') as file:
|
||||||
file.write('x = 123\n')
|
file.write('x = 123\n')
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
shutil.rmtree(self.directory)
|
shutil.rmtree(self.directory)
|
||||||
|
if self.cwd_drive:
|
||||||
|
os.chdir(self.cwd_drive)
|
||||||
|
|
||||||
def test_absolute_path(self):
|
def test_absolute_path(self):
|
||||||
py_compile.compile(self.source_path, self.pyc_path)
|
py_compile.compile(self.source_path, self.pyc_path)
|
||||||
|
|
Loading…
Reference in New Issue