Skip to content

Commit

Permalink
Split namespace tests out for python3.3
Browse files Browse the repository at this point in the history
  • Loading branch information
dflook committed Aug 20, 2024
1 parent c471c9e commit aac14c2
Show file tree
Hide file tree
Showing 2 changed files with 718 additions and 66 deletions.
115 changes: 49 additions & 66 deletions test/test_bind_names.py
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ def namespace_name(node):
return s

def test_module_namespace():
if sys.version_info >= (3, 4):
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
Expand All @@ -68,26 +68,9 @@ def test_module_namespace():

assert_namespace_tree(source, expected_namespaces)

def test_module_namespace_python33():
if sys.version_info < (3, 4) and sys.version_info >= (3, 0):
pytest.skip('Test requires python 3.3')

source = '''
name_in_module = True
name_in_module = True
'''

expected_namespaces = '''
+ Module
- NameBinding(name='name_in_module', allow_rename=True) <references=2>
- BuiltinBinding(name='True', allow_rename=True) <references=2>
'''

assert_namespace_tree(source, expected_namespaces)

def test_lambda_namespace():
if sys.version_info < (3, 0):
pytest.skip('Test requires python 3.0 or later')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
name_in_module = True
Expand All @@ -108,8 +91,8 @@ def test_lambda_namespace():
assert_namespace_tree(source, expected_namespaces)

def test_function_namespace():
if sys.version_info < (3, 0):
pytest.skip('Test requires python 3.0 or later')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
name_in_module = True
Expand Down Expand Up @@ -141,8 +124,8 @@ def inner_func():
assert_namespace_tree(source, expected_namespaces)

def test_async_function_namespace():
if sys.version_info < (3, 5):
pytest.skip('No async functions in python < 3.5')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
name_in_module = True
Expand Down Expand Up @@ -176,8 +159,8 @@ async def inner_func():
# region generator namespace

def test_generator_namespace():
if sys.version_info < (3, 0):
pytest.skip('Test requires python 3.0 or later')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
a = (x for x in range(10))
Expand All @@ -194,8 +177,8 @@ def test_generator_namespace():
assert_namespace_tree(source, expected_namespaces)

def test_multi_generator_namespace():
if sys.version_info < (3, 0):
pytest.skip('Test requires python 3.0 or later')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
x = []
Expand All @@ -215,8 +198,8 @@ def test_multi_generator_namespace():
assert_namespace_tree(source, expected_namespaces)

def test_multi_generator_namespace_2():
if sys.version_info < (3, 0):
pytest.skip('Test requires python 3.0 or later')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
c = ''
Expand All @@ -239,8 +222,8 @@ def test_multi_generator_namespace_2():
assert_namespace_tree(source, expected_namespaces)

def test_nested_generator():
if sys.version_info < (3, 0):
pytest.skip('Test requires python 3.0 or later')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
c = ''
Expand All @@ -264,8 +247,8 @@ def test_nested_generator():
assert_namespace_tree(source, expected_namespaces)

def test_nested_generator_2():
if sys.version_info < (3, 0):
pytest.skip('Test requires python 3.0 or later')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
x = ''
Expand All @@ -290,8 +273,8 @@ def test_nested_generator_2():
# region setcomp

def test_setcomp_namespace():
if sys.version_info < (3, 0):
pytest.skip('Test requires python 3.0 or later')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
a = {x for x in range(10)}
Expand All @@ -308,8 +291,8 @@ def test_setcomp_namespace():
assert_namespace_tree(source, expected_namespaces)

def test_multi_setcomp_namespace():
if sys.version_info < (3, 0):
pytest.skip('Test requires python 3.0 or later')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
x = []
Expand All @@ -329,8 +312,8 @@ def test_multi_setcomp_namespace():
assert_namespace_tree(source, expected_namespaces)

def test_multi_setcomp_namespace_2():
if sys.version_info < (3, 0):
pytest.skip('Test requires python 3.0 or later')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
c = ''
Expand All @@ -353,8 +336,8 @@ def test_multi_setcomp_namespace_2():
assert_namespace_tree(source, expected_namespaces)

def test_nested_setcomp():
if sys.version_info < (3, 0):
pytest.skip('Test requires python 3.0 or later')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
c = ''
Expand All @@ -378,8 +361,8 @@ def test_nested_setcomp():
assert_namespace_tree(source, expected_namespaces)

def test_nested_setcomp_2():
if sys.version_info < (3, 0):
pytest.skip('Test requires python 3.0 or later')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
x = ''
Expand All @@ -403,8 +386,8 @@ def test_nested_setcomp_2():
# region listcomp

def test_listcomp_namespace():
if sys.version_info < (3, 0):
pytest.skip('listcomp target bindings are different in python < 3.0')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
a = [x for x in range(10)]
Expand All @@ -421,8 +404,8 @@ def test_listcomp_namespace():
assert_namespace_tree(source, expected_namespaces)

def test_multi_listcomp_namespace():
if sys.version_info < (3, 0):
pytest.skip('listcomp target bindings are different in python < 3.0')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
x = []
Expand All @@ -442,8 +425,8 @@ def test_multi_listcomp_namespace():
assert_namespace_tree(source, expected_namespaces)

def test_multi_listcomp_namespace_2():
if sys.version_info < (3, 0):
pytest.skip('listcomp target bindings are different in python < 3.0')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
c = ''
Expand All @@ -466,8 +449,8 @@ def test_multi_listcomp_namespace_2():
assert_namespace_tree(source, expected_namespaces)

def test_nested_listcomp():
if sys.version_info < (3, 0):
pytest.skip('listcomp target bindings are different in python < 3.0')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
c = ''
Expand All @@ -491,8 +474,8 @@ def test_nested_listcomp():
assert_namespace_tree(source, expected_namespaces)

def test_nested_listcomp_2():
if sys.version_info < (3, 0):
pytest.skip('listcomp target bindings are different in python < 3.0')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
x = ''
Expand All @@ -516,8 +499,8 @@ def test_nested_listcomp_2():
# region dictcomp

def test_dictcomp_namespace():
if sys.version_info < (3, 0):
pytest.skip('Test requires python 3.0 or later')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
a = {x: x for x in range(10)}
Expand All @@ -534,8 +517,8 @@ def test_dictcomp_namespace():
assert_namespace_tree(source, expected_namespaces)

def test_multi_dictcomp_namespace():
if sys.version_info < (3, 0):
pytest.skip('Test requires python 3.0 or later')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
x = []
Expand All @@ -555,8 +538,8 @@ def test_multi_dictcomp_namespace():
assert_namespace_tree(source, expected_namespaces)

def test_multi_dictcomp_namespace_2():
if sys.version_info < (3, 0):
pytest.skip('Test requires python 3.0 or later')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
c = ''
Expand All @@ -579,8 +562,8 @@ def test_multi_dictcomp_namespace_2():
assert_namespace_tree(source, expected_namespaces)

def test_nested_dictcomp():
if sys.version_info < (3, 0):
pytest.skip('Test requires python 3.0 or later')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
c = ''
Expand All @@ -604,8 +587,8 @@ def test_nested_dictcomp():
assert_namespace_tree(source, expected_namespaces)

def test_nested_dictcomp_2():
if sys.version_info < (3, 0):
pytest.skip('Test requires python 3.0 or later')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
x = {}
Expand Down Expand Up @@ -663,8 +646,8 @@ class C:


def test_class_name_rebinding():
if sys.version_info < (3, 0):
pytest.skip('Test requires python 3.0 or later')
if sys.version_info < (3, 4):
pytest.skip('Test requires python 3.4 or later')

source = '''
OhALongName = 'Hello'
Expand Down
Loading

0 comments on commit aac14c2

Please sign in to comment.