Trivial nits
This commit is contained in:
parent
2dfa69bb7f
commit
048efa7476
5
black.py
5
black.py
@ -2950,7 +2950,7 @@ def gen_python_files_in_dir(
|
|||||||
"""Generate all files under `path` whose paths are not excluded by the
|
"""Generate all files under `path` whose paths are not excluded by the
|
||||||
`exclude` regex, but are included by the `include` regex.
|
`exclude` regex, but are included by the `include` regex.
|
||||||
|
|
||||||
Symbolic links pointing outside of the root directory are ignored.
|
Symbolic links pointing outside of the `root` directory are ignored.
|
||||||
|
|
||||||
`report` is where output about exclusions goes.
|
`report` is where output about exclusions goes.
|
||||||
"""
|
"""
|
||||||
@ -2961,8 +2961,7 @@ def gen_python_files_in_dir(
|
|||||||
except ValueError:
|
except ValueError:
|
||||||
if child.is_symlink():
|
if child.is_symlink():
|
||||||
report.path_ignored(
|
report.path_ignored(
|
||||||
child,
|
child, f"is a symbolic link that points outside {root}"
|
||||||
"is a symbolic link that points outside of the root directory",
|
|
||||||
)
|
)
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
@ -136,7 +136,7 @@ def _partially_consume_prefix(self, prefix, column):
|
|||||||
elif char == '\t':
|
elif char == '\t':
|
||||||
current_column += 4
|
current_column += 4
|
||||||
elif char == '\n':
|
elif char == '\n':
|
||||||
# enexpected empty line
|
# unexpected empty line
|
||||||
current_column = 0
|
current_column = 0
|
||||||
else:
|
else:
|
||||||
# indent is finished
|
# indent is finished
|
||||||
|
@ -943,12 +943,10 @@ def test_check_diff_use_together(self) -> None:
|
|||||||
src1 = (THIS_DIR / "data" / "string_quotes.py").resolve()
|
src1 = (THIS_DIR / "data" / "string_quotes.py").resolve()
|
||||||
result = CliRunner().invoke(black.main, [str(src1), "--diff", "--check"])
|
result = CliRunner().invoke(black.main, [str(src1), "--diff", "--check"])
|
||||||
self.assertEqual(result.exit_code, 1, result.output)
|
self.assertEqual(result.exit_code, 1, result.output)
|
||||||
|
|
||||||
# Files which will not be reformatted.
|
# Files which will not be reformatted.
|
||||||
src2 = (THIS_DIR / "data" / "composition.py").resolve()
|
src2 = (THIS_DIR / "data" / "composition.py").resolve()
|
||||||
result = CliRunner().invoke(black.main, [str(src2), "--diff", "--check"])
|
result = CliRunner().invoke(black.main, [str(src2), "--diff", "--check"])
|
||||||
self.assertEqual(result.exit_code, 0, result.output)
|
self.assertEqual(result.exit_code, 0, result.output)
|
||||||
|
|
||||||
# Multi file command.
|
# Multi file command.
|
||||||
result = CliRunner().invoke(
|
result = CliRunner().invoke(
|
||||||
black.main, [str(src1), str(src2), "--diff", "--check"]
|
black.main, [str(src1), str(src2), "--diff", "--check"]
|
||||||
@ -1171,41 +1169,29 @@ def test_assert_equivalent_different_asts(self) -> None:
|
|||||||
black.assert_equivalent("{}", "None")
|
black.assert_equivalent("{}", "None")
|
||||||
|
|
||||||
def test_symlink_out_of_root_directory(self) -> None:
|
def test_symlink_out_of_root_directory(self) -> None:
|
||||||
# prepare argumens
|
|
||||||
path = MagicMock()
|
path = MagicMock()
|
||||||
root = THIS_DIR
|
root = THIS_DIR
|
||||||
child = MagicMock()
|
child = MagicMock()
|
||||||
include = re.compile(black.DEFAULT_INCLUDES)
|
include = re.compile(black.DEFAULT_INCLUDES)
|
||||||
exclude = re.compile(black.DEFAULT_EXCLUDES)
|
exclude = re.compile(black.DEFAULT_EXCLUDES)
|
||||||
report = black.Report()
|
report = black.Report()
|
||||||
|
# `child` should behave like a symlink which resolved path is clearly
|
||||||
# set the behavior of mock arguments
|
# outside of the `root` directory.
|
||||||
# child should behave like a symlink which resolved path is clearly
|
|
||||||
# outside of the root directory
|
|
||||||
path.iterdir.return_value = [child]
|
path.iterdir.return_value = [child]
|
||||||
child.resolve.return_value = Path("/a/b/c")
|
child.resolve.return_value = Path("/a/b/c")
|
||||||
child.is_symlink.return_value = True
|
child.is_symlink.return_value = True
|
||||||
|
try:
|
||||||
# call the method
|
list(black.gen_python_files_in_dir(path, root, include, exclude, report))
|
||||||
# it should not raise any error
|
except ValueError as ve:
|
||||||
list(black.gen_python_files_in_dir(path, root, include, exclude, report))
|
self.fail("`get_python_files_in_dir()` failed: {ve}")
|
||||||
|
|
||||||
# check the call of the methods of the mock objects
|
|
||||||
path.iterdir.assert_called_once()
|
path.iterdir.assert_called_once()
|
||||||
child.resolve.assert_called_once()
|
child.resolve.assert_called_once()
|
||||||
child.is_symlink.assert_called_once()
|
child.is_symlink.assert_called_once()
|
||||||
|
# `child` should behave like a strange file which resolved path is clearly
|
||||||
# set the behavior of mock arguments
|
# outside of the `root` directory.
|
||||||
# child should behave like a strange file which resolved path is clearly
|
|
||||||
# outside of the root directory
|
|
||||||
child.is_symlink.return_value = False
|
child.is_symlink.return_value = False
|
||||||
|
|
||||||
# call the method
|
|
||||||
# it should raise a ValueError
|
|
||||||
with self.assertRaises(ValueError):
|
with self.assertRaises(ValueError):
|
||||||
list(black.gen_python_files_in_dir(path, root, include, exclude, report))
|
list(black.gen_python_files_in_dir(path, root, include, exclude, report))
|
||||||
|
|
||||||
# check the call of the methods of the mock objects
|
|
||||||
path.iterdir.assert_called()
|
path.iterdir.assert_called()
|
||||||
self.assertEqual(path.iterdir.call_count, 2)
|
self.assertEqual(path.iterdir.call_count, 2)
|
||||||
child.resolve.assert_called()
|
child.resolve.assert_called()
|
||||||
|
Loading…
Reference in New Issue
Block a user