Issue #12618: fix py_compile unit tests to handle different drives on Windows
diff --git a/Lib/test/test_py_compile.py b/Lib/test/test_py_compile.py
index 6e6dc48..b919da2 100644
--- a/Lib/test/test_py_compile.py
+++ b/Lib/test/test_py_compile.py
@@ -13,11 +13,22 @@
self.directory = tempfile.mkdtemp()
self.source_path = os.path.join(self.directory, '_test.py')
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:
file.write('x = 123\n')
def tearDown(self):
shutil.rmtree(self.directory)
+ if self.cwd_drive:
+ os.chdir(self.cwd_drive)
def test_absolute_path(self):
py_compile.compile(self.source_path, self.pyc_path)