]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Issue #12618: fix py_compile unit tests to handle different drives on Windows
authorMeador Inge <meadori@gmail.com>
Sat, 26 Nov 2011 17:30:21 +0000 (11:30 -0600)
committerMeador Inge <meadori@gmail.com>
Sat, 26 Nov 2011 17:30:21 +0000 (11:30 -0600)
Lib/test/test_py_compile.py

index 6e6dc487b98f0887cd3407025a6d19d69b329f8f..b919da2221ad3db07f35d880b0721ac7cd8dc920 100644 (file)
@@ -13,11 +13,22 @@ class PyCompileTests(unittest.TestCase):
         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)