From: Miguel Gaiowski Date: Tue, 15 May 2018 05:13:48 +0000 (-0700) Subject: Check for broken symlinks before checking file data (#202) X-Git-Url: https://git.madduck.net/etc/vim.git/commitdiff_plain/c667b85a7f8bb599f13fa169cb11a0dcc3eb9d98?ds=inline;hp=0da97417ed546dedc594172ec01fffd07a80180e Check for broken symlinks before checking file data (#202) --- diff --git a/black.py b/black.py index 913fe8d..a113169 100644 --- a/black.py +++ b/black.py @@ -2494,7 +2494,7 @@ def gen_python_files_in_dir(path: Path) -> Iterator[Path]: yield from gen_python_files_in_dir(child) - elif child.suffix in PYTHON_EXTENSIONS: + elif child.is_file() and child.suffix in PYTHON_EXTENSIONS: yield child diff --git a/tests/test_black.py b/tests/test_black.py index cf20945..bc133ca 100644 --- a/tests/test_black.py +++ b/tests/test_black.py @@ -695,6 +695,13 @@ class BlackTestCase(unittest.TestCase): result = CliRunner().invoke(black.main, []) self.assertEqual(result.exit_code, 0) + def test_broken_symlink(self) -> None: + with cache_dir() as workspace: + symlink = workspace / "broken_link.py" + symlink.symlink_to("nonexistent.py") + result = CliRunner().invoke(black.main, [str(workspace.resolve())]) + self.assertEqual(result.exit_code, 0) + def test_read_cache_line_lengths(self) -> None: with cache_dir() as workspace: path = (workspace / "file.py").resolve()