summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLéni Gauffier <lenigauffier@gmail.com>2021-03-31 00:08:25 +0000
committerLéni Gauffier <lenigauffier@gmail.com>2021-03-31 00:08:25 +0000
commitead8c7c8ab73991796f2561605cc65d213b1c72d (patch)
tree299b82d76b68355afcb68ea8a8f1e5103334c1c9
parentf01a8e02dee3549d8942ebd117a20eb6d219d7e8 (diff)
downloadisort-ead8c7c8ab73991796f2561605cc65d213b1c72d.tar.gz
Fix --gitignore flag not working on relative subdir files
-rw-r--r--isort/files.py2
-rw-r--r--tests/unit/test_main.py22
2 files changed, 22 insertions, 2 deletions
diff --git a/isort/files.py b/isort/files.py
index 692c2011..313d16b7 100644
--- a/isort/files.py
+++ b/isort/files.py
@@ -34,7 +34,7 @@ def find(
for filename in filenames:
filepath = os.path.join(dirpath, filename)
if config.is_supported_filetype(filepath):
- if config.is_skipped(Path(filepath)):
+ if config.is_skipped(Path(os.path.abspath(filepath))):
skipped.append(filename)
else:
yield filepath
diff --git a/tests/unit/test_main.py b/tests/unit/test_main.py
index 86f62db3..581b3a56 100644
--- a/tests/unit/test_main.py
+++ b/tests/unit/test_main.py
@@ -1,4 +1,5 @@
import json
+import os
import subprocess
from datetime import datetime
from io import BytesIO, TextIOWrapper
@@ -352,7 +353,26 @@ import b
assert "Skipped" not in out
main.main([str(python_file), "--skip-gitignore", "--filter-files"])
out, error = capsys.readouterr()
- assert "Skipped" in out
+ assert "Skipped" in out and "has_imports.py" not in out
+
+ tmpdir.join(".gitignore").remove()
+
+ currentdir = os.getcwd()
+ os.chdir(tmpdir)
+
+ tmpdir.join(".gitignore").write("nested_dir/has_imports.py")
+ subpython_file = tmpdir.join("nested_dir/has_imports.py")
+ subpython_file.write(
+ """
+import b
+import a
+"""
+ )
+ main.main([".", "--skip-gitignore", "--filter-files"])
+ out, error = capsys.readouterr()
+ assert "nested_dir/has_imports.py" not in out
+
+ os.chdir(currentdir)
# warnings should be displayed if old flags are used
with pytest.warns(UserWarning):