diff --git a/flake8/tests/test_hooks.py b/flake8/tests/test_hooks.py index db868bd..ba46794 100644 --- a/flake8/tests/test_hooks.py +++ b/flake8/tests/test_hooks.py @@ -17,21 +17,18 @@ def excluded(filename): class TestGitHook(unittest.TestCase): if is_windows: + # On Windows, absolute paths start with a drive letter, for example C: + # Here we build a fake absolute path starting with the current drive + # letter, for example C:\fake\temp current_drive, ignore_tail = os.path.splitdrive(os.getcwd()) - fake_path_at_root_of_filesystem = os.path.join(current_drive, - os.path.sep, - 'fake', - 'tmp') + fake_abs_path = os.path.join(current_drive, os.path.sep, 'fake', 'tmp') else: - fake_path_at_root_of_filesystem = os.path.join(os.path.sep, - 'fake', - 'tmp') + fake_abs_path = os.path.join(os.path.sep, 'fake', 'tmp') @mock.patch('os.makedirs') @mock.patch('flake8.hooks.open', create=True) @mock.patch('shutil.rmtree') - @mock.patch('tempfile.mkdtemp', - return_value=fake_path_at_root_of_filesystem) + @mock.patch('tempfile.mkdtemp', return_value=fake_abs_path) @mock.patch('flake8.hooks.run', return_value=(None, [os.path.join('foo', 'afile.py'), @@ -50,9 +47,10 @@ class TestGitHook(unittest.TestCase): dirname, filename = os.path.split( os.path.abspath(os.path.join('foo', 'bfile.py'))) if is_windows: + # In Windows, the absolute path in dirname will start with a drive + # letter. Here, we discad the drive letter. ignore_drive, dirname = os.path.splitdrive(dirname) - tmpdir = os.path.join(self.fake_path_at_root_of_filesystem, - dirname[1:]) + tmpdir = os.path.join(self.fake_abs_path, dirname[1:]) tmpfile = os.path.join(tmpdir, 'bfile.py') style_guide.check_files.assert_called_once_with([tmpfile])