summaryrefslogtreecommitdiff
path: root/tests/functional
diff options
context:
space:
mode:
authorNick Drozd <nicholasdrozd@gmail.com>2019-09-17 03:30:41 -0500
committerClaudiu Popa <pcmanticore@gmail.com>2019-09-17 03:30:41 -0500
commit8bf8fe1d2a68db880fee76e8fe964c5f28f10723 (patch)
treeadfac58ce324347389e078f444f1ee3eb0a84efd /tests/functional
parenta7f236528bb3758886b97285a56f3f9ce5b13a99 (diff)
downloadpylint-git-8bf8fe1d2a68db880fee76e8fe964c5f28f10723.tar.gz
New check: import-outside-toplevel (close #3067) (#3079)
Diffstat (limited to 'tests/functional')
-rw-r--r--tests/functional/g/globals.py2
-rw-r--r--tests/functional/i/invalid_exceptions_raised.py4
-rw-r--r--tests/functional/i/invalid_name.py2
-rw-r--r--tests/functional/import_outside_toplevel.py34
-rw-r--r--tests/functional/import_outside_toplevel.txt7
-rw-r--r--tests/functional/m/member_checks.py2
-rw-r--r--tests/functional/r/raising_format_tuple.py2
-rw-r--r--tests/functional/u/undefined_variable.py2
-rw-r--r--tests/functional/u/unused_variable.py2
-rw-r--r--tests/functional/w/wrong_import_position4.py2
10 files changed, 50 insertions, 9 deletions
diff --git a/tests/functional/g/globals.py b/tests/functional/g/globals.py
index 1a24ff736..e7f3cc85b 100644
--- a/tests/functional/g/globals.py
+++ b/tests/functional/g/globals.py
@@ -29,4 +29,4 @@ def define_constant():
def global_with_import():
"""should only warn for global-statement"""
global sys # [global-statement]
- import sys
+ import sys # pylint: disable=import-outside-toplevel
diff --git a/tests/functional/i/invalid_exceptions_raised.py b/tests/functional/i/invalid_exceptions_raised.py
index 78e6b65a0..34f740de4 100644
--- a/tests/functional/i/invalid_exceptions_raised.py
+++ b/tests/functional/i/invalid_exceptions_raised.py
@@ -1,4 +1,4 @@
-# pylint:disable=too-few-public-methods,no-init,import-error,missing-docstring, not-callable, useless-object-inheritance
+# pylint:disable=too-few-public-methods,no-init,import-error,missing-docstring, not-callable, useless-object-inheritance,import-outside-toplevel
"""test pb with exceptions and old/new style classes"""
@@ -77,7 +77,7 @@ def bad_case9():
def unknown_bases():
"""Don't emit when we don't know the bases."""
- from lala import bala
+ from lala import bala # pylint: disable=import-outside-toplevel
class MyException(bala):
pass
raise MyException
diff --git a/tests/functional/i/invalid_name.py b/tests/functional/i/invalid_name.py
index 1a949904e..83dd22360 100644
--- a/tests/functional/i/invalid_name.py
+++ b/tests/functional/i/invalid_name.py
@@ -1,5 +1,5 @@
""" Tests for invalid-name checker. """
-# pylint: disable=unused-import, no-absolute-import, wrong-import-position
+# pylint: disable=unused-import, no-absolute-import, wrong-import-position,import-outside-toplevel
AAA = 24
try:
diff --git a/tests/functional/import_outside_toplevel.py b/tests/functional/import_outside_toplevel.py
new file mode 100644
index 000000000..0575e59b2
--- /dev/null
+++ b/tests/functional/import_outside_toplevel.py
@@ -0,0 +1,34 @@
+# pylint: disable=unused-import,multiple-imports,no-self-use,missing-docstring,invalid-name,too-few-public-methods
+
+import abc
+
+if 4 == 5:
+ import ast
+
+
+def f():
+ import symtable # [import-outside-toplevel]
+
+
+def g():
+ import os, sys # [import-outside-toplevel]
+
+
+def h():
+ import time as thyme # [import-outside-toplevel]
+
+
+def i():
+ import random as rand, socket as sock # [import-outside-toplevel]
+
+
+class C:
+ import tokenize # [import-outside-toplevel]
+
+ def j(self):
+ import turtle # [import-outside-toplevel]
+
+
+def k(flag):
+ if flag:
+ import tabnanny # [import-outside-toplevel]
diff --git a/tests/functional/import_outside_toplevel.txt b/tests/functional/import_outside_toplevel.txt
new file mode 100644
index 000000000..53f9595d2
--- /dev/null
+++ b/tests/functional/import_outside_toplevel.txt
@@ -0,0 +1,7 @@
+import-outside-toplevel:10:f:Import outside toplevel (symtable)
+import-outside-toplevel:14:g:Import outside toplevel (os, sys)
+import-outside-toplevel:18:h:Import outside toplevel (time)
+import-outside-toplevel:22:i:Import outside toplevel (random, socket)
+import-outside-toplevel:26:C:Import outside toplevel (tokenize)
+import-outside-toplevel:29:C.j:Import outside toplevel (turtle)
+import-outside-toplevel:34:k:Import outside toplevel (tabnanny)
diff --git a/tests/functional/m/member_checks.py b/tests/functional/m/member_checks.py
index 8d1d636dc..ad7793fd5 100644
--- a/tests/functional/m/member_checks.py
+++ b/tests/functional/m/member_checks.py
@@ -1,5 +1,5 @@
# pylint: disable=print-statement,missing-docstring,no-self-use,too-few-public-methods,bare-except,broad-except, useless-object-inheritance
-# pylint: disable=using-constant-test,expression-not-assigned, assigning-non-slot, unused-variable,pointless-statement, wrong-import-order, wrong-import-position
+# pylint: disable=using-constant-test,expression-not-assigned, assigning-non-slot, unused-variable,pointless-statement, wrong-import-order, wrong-import-position,import-outside-toplevel
from __future__ import print_function
import six
class Provider(object):
diff --git a/tests/functional/r/raising_format_tuple.py b/tests/functional/r/raising_format_tuple.py
index cfdda1023..0f3a3349a 100644
--- a/tests/functional/r/raising_format_tuple.py
+++ b/tests/functional/r/raising_format_tuple.py
@@ -47,5 +47,5 @@ def bad_unicode(arg):
def raise_something_without_name(arg):
'''Regression test for nodes without .node attribute'''
- import standard_exceptions # pylint: disable=import-error
+ import standard_exceptions # pylint: disable=import-error,import-outside-toplevel
raise standard_exceptions.MyException(u'An %s', arg) # [raising-format-tuple]
diff --git a/tests/functional/u/undefined_variable.py b/tests/functional/u/undefined_variable.py
index 619794573..0967f7a30 100644
--- a/tests/functional/u/undefined_variable.py
+++ b/tests/functional/u/undefined_variable.py
@@ -1,4 +1,4 @@
-# pylint: disable=missing-docstring, multiple-statements, useless-object-inheritance
+# pylint: disable=missing-docstring, multiple-statements, useless-object-inheritance,import-outside-toplevel
# pylint: disable=too-few-public-methods, no-init, no-self-use,bare-except,broad-except, import-error
from __future__ import print_function
DEFINED = 1
diff --git a/tests/functional/u/unused_variable.py b/tests/functional/u/unused_variable.py
index e475a9038..cb5215d99 100644
--- a/tests/functional/u/unused_variable.py
+++ b/tests/functional/u/unused_variable.py
@@ -1,4 +1,4 @@
-# pylint: disable=missing-docstring, invalid-name, too-few-public-methods, no-self-use, useless-object-inheritance
+# pylint: disable=missing-docstring, invalid-name, too-few-public-methods, no-self-use, useless-object-inheritance,import-outside-toplevel
def test_regression_737():
import xml # [unused-import]
diff --git a/tests/functional/w/wrong_import_position4.py b/tests/functional/w/wrong_import_position4.py
index 3f1174f9d..c728241b7 100644
--- a/tests/functional/w/wrong_import_position4.py
+++ b/tests/functional/w/wrong_import_position4.py
@@ -1,5 +1,5 @@
"""Checks import position rule"""
-# pylint: disable=unused-import,relative-import,ungrouped-imports,import-error,no-name-in-module,relative-beyond-top-level,unused-variable
+# pylint: disable=unused-import,relative-import,ungrouped-imports,import-error,no-name-in-module,relative-beyond-top-level,unused-variable,import-outside-toplevel
def method1():
"""Method 1"""
import x