Add issue 'import * only allowed at module level'

This commit is contained in:
Dave Halter
2017-07-25 22:23:38 +02:00
parent d6f5fcf439
commit 87ce5fa9a4
2 changed files with 6 additions and 0 deletions

View File

@@ -166,6 +166,10 @@ class ErrorFinder(Normalizer):
elif name not in ALLOWED_FUTURES:
message = "future feature %s is not defined" % name
self._add_syntax_error(message, node)
elif node.type == 'import_from':
if node.is_star_import() and self._context.parent_context is not None:
message = "import * only allowed at module level"
self._add_syntax_error(message, node)
elif node.type == 'import_as_names':
if node.children[-1] == ',':
# from foo import a,

View File

@@ -59,6 +59,7 @@ def test_indentation_errors(code, positions):
'code', [
'1 +',
'?',
# Python/compile.c
dedent('''\
for a in [1]:
try:
@@ -103,6 +104,7 @@ def test_indentation_errors(code, positions):
# SyntaxErrors from Python/symtable.c
'def f(x, x): pass',
'def x(): from math import *',
# IndentationError
' foo',