diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt index 140b430..5acb13e 100644 --- a/CONTRIBUTORS.txt +++ b/CONTRIBUTORS.txt @@ -21,3 +21,4 @@ Contributors (by order of appearance) : - Florent Xicluna - Austin Morton - Michael McNeil Forbes +- Christian Long diff --git a/flake8/tests/test_hooks.py b/flake8/tests/test_hooks.py index 42293ed..db868bd 100644 --- a/flake8/tests/test_hooks.py +++ b/flake8/tests/test_hooks.py @@ -8,6 +8,7 @@ except ImportError: import mock import flake8.hooks +from flake8.util import is_windows def excluded(filename): @@ -15,24 +16,43 @@ def excluded(filename): class TestGitHook(unittest.TestCase): + if is_windows: + 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') + else: + fake_path_at_root_of_filesystem = 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/tmp') + @mock.patch('tempfile.mkdtemp', + return_value=fake_path_at_root_of_filesystem) @mock.patch('flake8.hooks.run', - return_value=(None, ['foo/afile.py', 'foo/bfile.py'], None)) + return_value=(None, + [os.path.join('foo', 'afile.py'), + os.path.join('foo', 'bfile.py')], + None)) @mock.patch('flake8.hooks.get_style_guide') def test_prepends_tmp_directory_to_exclude(self, get_style_guide, run, *args): style_guide = get_style_guide.return_value = mock.Mock() - style_guide.options.exclude = ['foo/afile.py'] - style_guide.options.filename = ['foo/*'] + style_guide.options.exclude = [os.path.join('foo', 'afile.py')] + style_guide.options.filename = [os.path.join('foo', '*')] style_guide.excluded = excluded flake8.hooks.git_hook() - dirname, filename = os.path.split(os.path.abspath('foo/bfile.py')) - tmpdir = os.path.join('/fake/tmp', dirname[1:]) + dirname, filename = os.path.split( + os.path.abspath(os.path.join('foo', 'bfile.py'))) + if is_windows: + ignore_drive, dirname = os.path.splitdrive(dirname) + tmpdir = os.path.join(self.fake_path_at_root_of_filesystem, + dirname[1:]) tmpfile = os.path.join(tmpdir, 'bfile.py') style_guide.check_files.assert_called_once_with([tmpfile])