summaryrefslogtreecommitdiff
path: root/test_isort.py
diff options
context:
space:
mode:
authorAarni Koskela <akx@iki.fi>2019-01-25 16:10:59 +0200
committerAarni Koskela <akx@iki.fi>2019-01-25 20:42:00 +0200
commit3c71dda481ff5c4638da1e90a4da141a833d5439 (patch)
treeea7eb6e11ab7e9e6512bff87da70034a79c13974 /test_isort.py
parent27515dbf9ba2137bd62f766d930273232338d953 (diff)
downloadisort-3c71dda481ff5c4638da1e90a4da141a833d5439.tar.gz
Refuse to work in system/.tox/venv/... directories by default
Fixes #759
Diffstat (limited to 'test_isort.py')
-rw-r--r--test_isort.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/test_isort.py b/test_isort.py
index 25ad87e7..732812a6 100644
--- a/test_isort.py
+++ b/test_isort.py
@@ -25,11 +25,12 @@ from __future__ import absolute_import, division, print_function, unicode_litera
from tempfile import NamedTemporaryFile
import io
+import os
import sys
import pytest
-from isort import finders
+from isort import finders, main, settings
from isort.isort import SortImports
from isort.utils import exists_case_sensitive
from isort.main import is_python_file
@@ -2592,3 +2593,19 @@ def test_monkey_patched_urllib():
# Previous versions of isort monkey patched urllib which caused unusual
# importing for other projects.
from urllib import quote # noqa: F401
+
+
+@pytest.mark.parametrize('enabled', (False, True))
+def test_safety_excludes(tmpdir, enabled):
+ tmpdir.join("victim.py").write("# ...")
+ tmpdir.mkdir(".tox").join("verysafe.py").write("# ...")
+ tmpdir.mkdir("lib").mkdir("python3.7").join("importantsystemlibrary.py").write("# ...")
+ config = dict(settings.default.copy(), safety_excludes=enabled)
+ skipped = []
+ file_names = set(os.path.relpath(f, str(tmpdir)) for f in main.iter_source_code([str(tmpdir)], config, skipped))
+ if enabled:
+ assert file_names == {'victim.py'}
+ assert len(skipped) == 2
+ else:
+ assert file_names == {'.tox/verysafe.py', 'lib/python3.7/importantsystemlibrary.py', 'victim.py'}
+ assert not skipped