diff --git a/testsuite/tests/create_project/test.py b/testsuite/tests/create_project/test.py index e58cb7ddf..4a478fdff 100644 --- a/testsuite/tests/create_project/test.py +++ b/testsuite/tests/create_project/test.py @@ -3,6 +3,9 @@ Test that the "create-project.py" script creates a valid Langkit project by generating it and building it. """ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path import subprocess import sys @@ -23,4 +26,4 @@ manage_py = os.path.join('mylang', 'manage.py') python(create_project_py, 'Mylang') python(manage_py, '-vnone', 'make') -print 'Done' +print('Done') diff --git a/testsuite/tests/grammar/invalid_list/test.out b/testsuite/tests/grammar/invalid_list/test.out index 82b86e51a..384239295 100644 --- a/testsuite/tests/grammar/invalid_list/test.out +++ b/testsuite/tests/grammar/invalid_list/test.out @@ -1,5 +1,5 @@ -File "test.py", line 30, In definition of grammar rule main_rule +File "test.py", line 33, In definition of grammar rule main_rule Error: List parsers only accept subparsers that yield AST nodes (TokenType provided here) -File "test.py", line 39, In definition of grammar rule main_rule +File "test.py", line 42, In definition of grammar rule main_rule Error: Invalid list type for List parser: ListNode. Not a list type Done diff --git a/testsuite/tests/grammar/invalid_list/test.py b/testsuite/tests/grammar/invalid_list/test.py index 993ee81de..ceb27916f 100644 --- a/testsuite/tests/grammar/invalid_list/test.py +++ b/testsuite/tests/grammar/invalid_list/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ASTNode, Field, root_grammar_class diff --git a/testsuite/tests/grammar/invalid_main_rule/test.out b/testsuite/tests/grammar/invalid_main_rule/test.out index fa3ad35c5..88eab1b31 100644 --- a/testsuite/tests/grammar/invalid_main_rule/test.out +++ b/testsuite/tests/grammar/invalid_main_rule/test.out @@ -1,3 +1,3 @@ -File "test.py", line 21, In definition of grammar +File "test.py", line 24, In definition of grammar Error: Invalid rule name specified for main rule: "main_rulezz". Did you mean "main_rule"? Done diff --git a/testsuite/tests/grammar/invalid_main_rule/test.py b/testsuite/tests/grammar/invalid_main_rule/test.py index a53beea6a..9b41781da 100644 --- a/testsuite/tests/grammar/invalid_main_rule/test.py +++ b/testsuite/tests/grammar/invalid_main_rule/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ASTNode, abstract, root_grammar_class from langkit.diagnostics import Diagnostics from langkit.parsers import Grammar, Row @@ -27,4 +30,4 @@ def lang_def(): emit_and_print_errors(lang_def) -print 'Done' +print('Done') diff --git a/testsuite/tests/grammar/invalid_row/test.out b/testsuite/tests/grammar/invalid_row/test.out index d11e06703..bf37aee0a 100644 --- a/testsuite/tests/grammar/invalid_row/test.out +++ b/testsuite/tests/grammar/invalid_row/test.out @@ -1,3 +1,3 @@ -File "test.py", line 30, In definition of grammar rule main_rule +File "test.py", line 33, In definition of grammar rule main_rule Error: Grammar rules must yield an AST node Done diff --git a/testsuite/tests/grammar/invalid_row/test.py b/testsuite/tests/grammar/invalid_row/test.py index 9260ad496..74d951a13 100644 --- a/testsuite/tests/grammar/invalid_row/test.py +++ b/testsuite/tests/grammar/invalid_row/test.py @@ -2,6 +2,9 @@ Test that top-level Row parsers are properly reported as errors. """ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ASTNode, Field, root_grammar_class diff --git a/testsuite/tests/grammar/invalid_rule_dup/test.out b/testsuite/tests/grammar/invalid_rule_dup/test.out index c4466efc7..1875a821b 100644 --- a/testsuite/tests/grammar/invalid_rule_dup/test.out +++ b/testsuite/tests/grammar/invalid_rule_dup/test.out @@ -1,3 +1,3 @@ -File "test.py", line 28, In definition of rule 'sec_rule' +File "test.py", line 31, In definition of rule 'sec_rule' Error: Rule 'sec_rule' is already present in the grammar Done diff --git a/testsuite/tests/grammar/invalid_rule_dup/test.py b/testsuite/tests/grammar/invalid_rule_dup/test.py index 56e63b6eb..6dfdd6043 100644 --- a/testsuite/tests/grammar/invalid_rule_dup/test.py +++ b/testsuite/tests/grammar/invalid_rule_dup/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ASTNode, abstract, root_grammar_class from langkit.diagnostics import Diagnostics from langkit.parsers import Grammar, Row @@ -29,4 +32,4 @@ def lang_def(): ) emit_and_print_errors(lang_def) -print 'Done' +print('Done') diff --git a/testsuite/tests/grammar/invalid_rule_usage/test.out b/testsuite/tests/grammar/invalid_rule_usage/test.out index f7b74b00a..fe8b06db0 100644 --- a/testsuite/tests/grammar/invalid_rule_usage/test.out +++ b/testsuite/tests/grammar/invalid_rule_usage/test.out @@ -1,3 +1,3 @@ -File "test.py", line 24, In definition of grammar rule main_rule +File "test.py", line 27, In definition of grammar rule main_rule Error: Wrong rule name: 'sec_rules'. Did you mean 'sec_rule'? Done diff --git a/testsuite/tests/grammar/invalid_rule_usage/test.py b/testsuite/tests/grammar/invalid_rule_usage/test.py index e6043b965..3930b6a33 100644 --- a/testsuite/tests/grammar/invalid_rule_usage/test.py +++ b/testsuite/tests/grammar/invalid_rule_usage/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ASTNode, abstract, root_grammar_class from langkit.diagnostics import Diagnostics from langkit.parsers import Grammar, Row @@ -27,4 +30,4 @@ def lang_def(): emit_and_print_errors(lang_def) -print 'Done' +print('Done') diff --git a/testsuite/tests/grammar/newline/main.py b/testsuite/tests/grammar/newline/main.py index 6719b6a2c..cdfac6552 100644 --- a/testsuite/tests/grammar/newline/main.py +++ b/testsuite/tests/grammar/newline/main.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import libfoolang ctx = libfoolang.AnalysisContext() @@ -6,9 +9,9 @@ ctx = libfoolang.AnalysisContext() def process(text): u = ctx.get_from_buffer('main.txt', text) if u.diagnostics: - print "Found errors:" + print("Found errors:") for d in u.diagnostics: - print "", d + print("", d) else: u.root.dump() diff --git a/testsuite/tests/grammar/newline/test.py b/testsuite/tests/grammar/newline/test.py index f64a0588a..ddbff08e6 100644 --- a/testsuite/tests/grammar/newline/test.py +++ b/testsuite/tests/grammar/newline/test.py @@ -2,6 +2,9 @@ Test that Bind works when binding from env elements. """ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ( @@ -94,4 +97,4 @@ foo_grammar.add_rules( main_rule=Or(A.comp, A.ind, A.nl) ) build_and_run(foo_grammar, 'main.py', lexer=foo_lexer) -print 'Done' +print('Done') diff --git a/testsuite/tests/grammar/recursive_list/test.py b/testsuite/tests/grammar/recursive_list/test.py index a963ad56d..5ba500a1c 100644 --- a/testsuite/tests/grammar/recursive_list/test.py +++ b/testsuite/tests/grammar/recursive_list/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ( ASTNode, Field, root_grammar_class ) @@ -35,4 +38,4 @@ def lang_def(): emit_and_print_errors(lang_def) -print 'Done' +print('Done') diff --git a/testsuite/tests/grammar/trailing_garbage/main.py b/testsuite/tests/grammar/trailing_garbage/main.py index e26641860..7dd7ba705 100644 --- a/testsuite/tests/grammar/trailing_garbage/main.py +++ b/testsuite/tests/grammar/trailing_garbage/main.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import libfoolang diff --git a/testsuite/tests/grammar/trailing_garbage/test.py b/testsuite/tests/grammar/trailing_garbage/test.py index c587edf25..9e05805b6 100644 --- a/testsuite/tests/grammar/trailing_garbage/test.py +++ b/testsuite/tests/grammar/trailing_garbage/test.py @@ -3,6 +3,9 @@ Test that garbage tokens left after the main parsing rule completes does not crash. It used to! """ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ASTNode, Field, root_grammar_class @@ -30,4 +33,4 @@ foo_grammar.add_rules( main_rule=Row(Tok(Token.Number, keep=True)) ^ Literal, ) build_and_run(foo_grammar, 'main.py') -print 'Done' +print('Done') diff --git a/testsuite/tests/grammar/unreferenced_node/test.out b/testsuite/tests/grammar/unreferenced_node/test.out index fde907152..6168217f8 100644 --- a/testsuite/tests/grammar/unreferenced_node/test.out +++ b/testsuite/tests/grammar/unreferenced_node/test.out @@ -1,3 +1,3 @@ -File "test.py", line 21, in UnreferencedNode +File "test.py", line 24, in UnreferencedNode Error: Unresolved ASTNode subclass. Use it in the grammar or provide a type annotation for all its fields Done diff --git a/testsuite/tests/grammar/unreferenced_node/test.py b/testsuite/tests/grammar/unreferenced_node/test.py index 1b622ba62..3e906a1b6 100644 --- a/testsuite/tests/grammar/unreferenced_node/test.py +++ b/testsuite/tests/grammar/unreferenced_node/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ASTNode, Field, abstract, root_grammar_class from langkit.diagnostics import Diagnostics from langkit.parsers import Grammar, Row @@ -29,4 +32,4 @@ def lang_def(): emit_and_print_errors(lang_def) -print 'Done' +print('Done') diff --git a/testsuite/tests/lexical_envs/env_hook_unbound/test.out b/testsuite/tests/lexical_envs/env_hook_unbound/test.out index 8278da220..7d805df6b 100644 --- a/testsuite/tests/lexical_envs/env_hook_unbound/test.out +++ b/testsuite/tests/lexical_envs/env_hook_unbound/test.out @@ -1,3 +1,3 @@ -File "test.py", line 20, in BarNode +File "test.py", line 23, in BarNode Error: Cannot invoke the environment hook if CompileContext.bind_env_hook has not been called Done diff --git a/testsuite/tests/lexical_envs/env_hook_unbound/test.py b/testsuite/tests/lexical_envs/env_hook_unbound/test.py index ebafd7c33..841cafe1e 100644 --- a/testsuite/tests/lexical_envs/env_hook_unbound/test.py +++ b/testsuite/tests/lexical_envs/env_hook_unbound/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ASTNode, root_grammar_class @@ -30,4 +33,4 @@ def lang_def(): emit_and_print_errors(lang_def) -print 'Done' +print('Done') diff --git a/testsuite/tests/lexical_envs/python_get/script.py b/testsuite/tests/lexical_envs/python_get/script.py index f93001338..e6aa83d1c 100644 --- a/testsuite/tests/lexical_envs/python_get/script.py +++ b/testsuite/tests/lexical_envs/python_get/script.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import sys import libfoolang @@ -38,4 +41,4 @@ for node in nodes: '') )) -print 'Done.' +print('Done.') diff --git a/testsuite/tests/lexical_envs/python_get/test.py b/testsuite/tests/lexical_envs/python_get/test.py index 0b8018116..bf5f8f19d 100644 --- a/testsuite/tests/lexical_envs/python_get/test.py +++ b/testsuite/tests/lexical_envs/python_get/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ( ASTNode, Field, Struct, abstract, env_metadata, root_grammar_class ) diff --git a/testsuite/tests/properties/analysis_unit/main.py b/testsuite/tests/properties/analysis_unit/main.py index e6b0ccd4f..a120aabbc 100644 --- a/testsuite/tests/properties/analysis_unit/main.py +++ b/testsuite/tests/properties/analysis_unit/main.py @@ -1,4 +1,7 @@ -print 'main.py: Running...' +from __future__ import (absolute_import, division, print_function, + unicode_literals) + +print('main.py: Running...') import sys @@ -8,7 +11,7 @@ import libfoolang ctx = libfoolang.AnalysisContext() for f in ('main.txt', ): - print '=== {} ==='.format(f) + print('=== {} ==='.format(f)) u = ctx.get_from_file(f) if u.diagnostics: for d in u.diagnostics: @@ -16,6 +19,6 @@ for f in ('main.txt', ): sys.exit(1) u.populate_lexical_env() - print 'result = {}'.format(u.root.p_result) + print('result = {}'.format(u.root.p_result)) -print 'main.py: Done.' +print('main.py: Done.') diff --git a/testsuite/tests/properties/analysis_unit/test.py b/testsuite/tests/properties/analysis_unit/test.py index 56a30de55..67e80761e 100644 --- a/testsuite/tests/properties/analysis_unit/test.py +++ b/testsuite/tests/properties/analysis_unit/test.py @@ -2,6 +2,9 @@ Test the handling of analysis units in the properties DSL. """ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ( @@ -62,4 +65,4 @@ foo_grammar.add_rules( ), ) build_and_run(foo_grammar, 'main.py') -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/analysis_unit_from_node/main.py b/testsuite/tests/properties/analysis_unit_from_node/main.py index 64f9bdc8d..929c828da 100644 --- a/testsuite/tests/properties/analysis_unit_from_node/main.py +++ b/testsuite/tests/properties/analysis_unit_from_node/main.py @@ -1,4 +1,7 @@ -print 'main.py: Running...' +from __future__ import (absolute_import, division, print_function, + unicode_literals) + +print('main.py: Running...') import sys @@ -15,6 +18,6 @@ if u.diagnostics: u.populate_lexical_env() for node in u.root.findall(lambda _: True): - print '{}.root = {}'.format(node, node.p_root_node) + print('{}.root = {}'.format(node, node.p_root_node)) -print 'main.py: Done.' +print('main.py: Done.') diff --git a/testsuite/tests/properties/analysis_unit_from_node/test.py b/testsuite/tests/properties/analysis_unit_from_node/test.py index 8ac1e5550..f3af1b6f7 100644 --- a/testsuite/tests/properties/analysis_unit_from_node/test.py +++ b/testsuite/tests/properties/analysis_unit_from_node/test.py @@ -2,6 +2,9 @@ Test getting the analysis unit of a node in the properties DSL. """ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ( @@ -48,4 +51,4 @@ foo_grammar.add_rules( atom=Row(Tok(Token.Number, keep=True)) ^ Literal, ) build_and_run(foo_grammar, 'main.py') -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/env_element_bind/main.py b/testsuite/tests/properties/env_element_bind/main.py index e69de29bb..800d82e7e 100644 --- a/testsuite/tests/properties/env_element_bind/main.py +++ b/testsuite/tests/properties/env_element_bind/main.py @@ -0,0 +1,2 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) diff --git a/testsuite/tests/properties/env_element_bind/test.py b/testsuite/tests/properties/env_element_bind/test.py index 2cdfdbc84..7b91fd929 100644 --- a/testsuite/tests/properties/env_element_bind/test.py +++ b/testsuite/tests/properties/env_element_bind/test.py @@ -2,6 +2,9 @@ Test that Bind works when binding from env elements. """ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ( @@ -43,4 +46,4 @@ foo_grammar.add_rules( main_rule=Row(Tok(Token.Number, keep=True)) ^ Literal, ) build_and_run(foo_grammar, 'main.py') -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/env_element_cast/main.py b/testsuite/tests/properties/env_element_cast/main.py index e69de29bb..800d82e7e 100644 --- a/testsuite/tests/properties/env_element_cast/main.py +++ b/testsuite/tests/properties/env_element_cast/main.py @@ -0,0 +1,2 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) diff --git a/testsuite/tests/properties/env_element_cast/test.py b/testsuite/tests/properties/env_element_cast/test.py index d92dbe3f8..5cd4ed742 100644 --- a/testsuite/tests/properties/env_element_cast/test.py +++ b/testsuite/tests/properties/env_element_cast/test.py @@ -3,6 +3,9 @@ Test that garbage tokens left after the main parsing rule completes does not crash. It used to! """ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ASTNode, Field, root_grammar_class @@ -45,4 +48,4 @@ foo_grammar.add_rules( main_rule=Row(Tok(Token.Number, keep=True)) ^ Literal, ) build_and_run(foo_grammar, 'main.py') -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/env_element_field_access/main.py b/testsuite/tests/properties/env_element_field_access/main.py index e69de29bb..800d82e7e 100644 --- a/testsuite/tests/properties/env_element_field_access/main.py +++ b/testsuite/tests/properties/env_element_field_access/main.py @@ -0,0 +1,2 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) diff --git a/testsuite/tests/properties/env_element_field_access/test.py b/testsuite/tests/properties/env_element_field_access/test.py index 2cc960075..1bd4d94cc 100644 --- a/testsuite/tests/properties/env_element_field_access/test.py +++ b/testsuite/tests/properties/env_element_field_access/test.py @@ -2,6 +2,9 @@ Tests that it is possible to call a property of type T on an EnvElement[T]. """ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ASTNode, Field, root_grammar_class, LongType @@ -44,4 +47,4 @@ foo_grammar.add_rules( main_rule=Row(Tok(Token.Number, keep=True)) ^ Literal, ) build_and_run(foo_grammar, 'main.py') -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/env_element_match/main.py b/testsuite/tests/properties/env_element_match/main.py index e69de29bb..800d82e7e 100644 --- a/testsuite/tests/properties/env_element_match/main.py +++ b/testsuite/tests/properties/env_element_match/main.py @@ -0,0 +1,2 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) diff --git a/testsuite/tests/properties/env_element_match/test.py b/testsuite/tests/properties/env_element_match/test.py index 7751db4f3..157abc201 100644 --- a/testsuite/tests/properties/env_element_match/test.py +++ b/testsuite/tests/properties/env_element_match/test.py @@ -3,6 +3,9 @@ Test that garbage tokens left after the main parsing rule completes does not crash. It used to! """ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ASTNode, Field, root_grammar_class @@ -47,4 +50,4 @@ foo_grammar.add_rules( main_rule=Row(Tok(Token.Number, keep=True)) ^ Literal, ) build_and_run(foo_grammar, 'main.py') -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/external/main.py b/testsuite/tests/properties/external/main.py index b15690232..2b9629122 100644 --- a/testsuite/tests/properties/external/main.py +++ b/testsuite/tests/properties/external/main.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import sys import libfoolang @@ -13,5 +16,5 @@ if u.diagnostics: sys.exit(1) u.populate_lexical_env() -print 'Evaluating {}'.format(text) -print 'result = {}'.format(u.root.p_result) +print('Evaluating {}'.format(text)) +print('result = {}'.format(u.root.p_result)) diff --git a/testsuite/tests/properties/external/test.py b/testsuite/tests/properties/external/test.py index c6f889be1..8fb2ffff5 100644 --- a/testsuite/tests/properties/external/test.py +++ b/testsuite/tests/properties/external/test.py @@ -2,6 +2,9 @@ Test that external properties build and run properly. """ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ( @@ -52,4 +55,4 @@ foo_grammar.add_rules( atom=Row(Tok(Token.Number, keep=True)) ^ Literal, ) build_and_run(foo_grammar, 'main.py') -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/implicit_env/test.out b/testsuite/tests/properties/implicit_env/test.out index 96d4fd185..98626cb4b 100644 --- a/testsuite/tests/properties/implicit_env/test.out +++ b/testsuite/tests/properties/implicit_env/test.out @@ -4,7 +4,7 @@ Code generation was successful ConcreteNode.p_prop: no implicit env == abstract: default, concrete: implicit env == -File "test.py", line 42, in ConcreteNode.prop +File "test.py", line 45, in ConcreteNode.prop Error: AbstractNode.p_prop has no implicit environment parameter, so should have ConcreteNode.p_prop == abstract: default, concrete: no implicit env == @@ -23,7 +23,7 @@ Code generation was successful ConcreteNode.p_prop: implicit env == abstract: implicit env, concrete: no implicit env == -File "test.py", line 42, in ConcreteNode.prop +File "test.py", line 45, in ConcreteNode.prop Error: AbstractNode.p_prop has an implicit environment parameter, so should have ConcreteNode.p_prop == abstract: no implicit env, concrete: default == @@ -32,7 +32,7 @@ Code generation was successful ConcreteNode.p_prop: no implicit env == abstract: no implicit env, concrete: implicit env == -File "test.py", line 42, in ConcreteNode.prop +File "test.py", line 45, in ConcreteNode.prop Error: AbstractNode.p_prop has no implicit environment parameter, so should have ConcreteNode.p_prop == abstract: no implicit env, concrete: no implicit env == diff --git a/testsuite/tests/properties/implicit_env/test.py b/testsuite/tests/properties/implicit_env/test.py index 67da01c49..2b49703e9 100644 --- a/testsuite/tests/properties/implicit_env/test.py +++ b/testsuite/tests/properties/implicit_env/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import itertools import os.path @@ -22,10 +25,10 @@ def run(abstract_has_implicit_env, concrete_has_implicit_env): True: 'implicit env', False: 'no implicit env', } - print '== abstract: {}, concrete: {} =='.format( + print('== abstract: {}, concrete: {} =='.format( fmt_value[abstract_has_implicit_env], fmt_value[concrete_has_implicit_env] - ) + )) Diagnostics.set_lang_source_dir(os.path.abspath(__file__)) @root_grammar_class() @@ -51,8 +54,8 @@ def run(abstract_has_implicit_env, concrete_has_implicit_env): if emit_and_print_errors(lang_def): for fld in (AbstractNode._fields['prop'], ConcreteNode._fields['prop']): - print ' {}: {}'.format(fld.qualname, - fmt_value[fld.has_implicit_env]) + print(' {}: {}'.format(fld.qualname, + fmt_value[fld.has_implicit_env])) print('') @@ -60,4 +63,4 @@ attribute_values = (None, True, False) for p1, p2 in itertools.product(attribute_values, attribute_values): run(p1, p2) -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/internal_decl/test.out b/testsuite/tests/properties/internal_decl/test.out index a87b82b4e..20d62f022 100644 --- a/testsuite/tests/properties/internal_decl/test.out +++ b/testsuite/tests/properties/internal_decl/test.out @@ -1,3 +1,3 @@ -File "test.py", line 17, in BarNode._prop +File "test.py", line 20, in BarNode._prop Error: Underscore-prefixed field names are not allowed Done diff --git a/testsuite/tests/properties/internal_decl/test.py b/testsuite/tests/properties/internal_decl/test.py index bd8377430..6f1305311 100644 --- a/testsuite/tests/properties/internal_decl/test.py +++ b/testsuite/tests/properties/internal_decl/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from os import path from langkit.compiled_types import ASTNode, root_grammar_class @@ -19,4 +22,4 @@ try: except DiagnosticError: pass -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/internal_use/test.out b/testsuite/tests/properties/internal_use/test.out index fc8c48fcd..8d261e840 100644 --- a/testsuite/tests/properties/internal_use/test.out +++ b/testsuite/tests/properties/internal_use/test.out @@ -1,4 +1,4 @@ -File "test.py", line 43, in Def.faulty_prop - line 43, in FieldAccess expression +File "test.py", line 46, in Def.faulty_prop + line 46, in FieldAccess expression Error: Def.internal_env_value_1 is for internal use only Done diff --git a/testsuite/tests/properties/internal_use/test.py b/testsuite/tests/properties/internal_use/test.py index 8fcbd283e..b3b8747d2 100644 --- a/testsuite/tests/properties/internal_use/test.py +++ b/testsuite/tests/properties/internal_use/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from os import path from langkit.compiled_types import ( @@ -69,4 +72,4 @@ def lang_def(): return foo_grammar emit_and_print_errors(lang_def) -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/invalid_analysis_unit_expr/test.out b/testsuite/tests/properties/invalid_analysis_unit_expr/test.out index a19d750d0..e2cb141b8 100644 --- a/testsuite/tests/properties/invalid_analysis_unit_expr/test.out +++ b/testsuite/tests/properties/invalid_analysis_unit_expr/test.out @@ -1,5 +1,5 @@ == Invalid field == -File "test.py", line 25, in Example.result +File "test.py", line 28, in Example.result Error: Invalid property for analysis unit: foobar Done diff --git a/testsuite/tests/properties/invalid_analysis_unit_expr/test.py b/testsuite/tests/properties/invalid_analysis_unit_expr/test.py index 069937ef4..e5ecd433d 100644 --- a/testsuite/tests/properties/invalid_analysis_unit_expr/test.py +++ b/testsuite/tests/properties/invalid_analysis_unit_expr/test.py @@ -3,6 +3,9 @@ Test that invalid uses of analysis unit in the properties DSL are properly detected and reported. """ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ASTNode, root_grammar_class @@ -33,4 +36,4 @@ def run(name, prop): run('Invalid field', Self.unit.foobar) -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/invalid_bind/test.out b/testsuite/tests/properties/invalid_bind/test.out index 087b954c2..d04e33019 100644 --- a/testsuite/tests/properties/invalid_bind/test.out +++ b/testsuite/tests/properties/invalid_bind/test.out @@ -1,16 +1,16 @@ == Incorrect bind eq_prop 1 == -File "test.py", line 31, in BarNode.main_prop - line 33, in Bind expression +File "test.py", line 34, in BarNode.main_prop + line 36, in Bind expression Error: Equality property must return boolean == Incorrect bind eq_prop 2 == -File "test.py", line 31, in BarNode.main_prop - line 33, in Bind expression +File "test.py", line 34, in BarNode.main_prop + line 36, in Bind expression Error: Expected 1 argument for eq_prop, got 0 == Incorrect bind eq_prop 3 == -File "test.py", line 31, in BarNode.main_prop - line 33, in Bind expression +File "test.py", line 34, in BarNode.main_prop + line 36, in Bind expression Error: Self and first argument should be of the same type == Correct bind eq_prop == diff --git a/testsuite/tests/properties/invalid_bind/test.py b/testsuite/tests/properties/invalid_bind/test.py index 6fe133b1b..a9c8f9bd0 100644 --- a/testsuite/tests/properties/invalid_bind/test.py +++ b/testsuite/tests/properties/invalid_bind/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ( ASTNode, root_grammar_class, LogicVarType, UserField, T ) @@ -59,4 +62,4 @@ run("Incorrect bind eq_prop 1", "BazNode.fields.prop") run("Incorrect bind eq_prop 2", "BazNode.fields.prop2") run("Incorrect bind eq_prop 3", "BazNode.fields.prop3") run("Correct bind eq_prop", "BazNode.fields.prop4") -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/invalid_call/test.out b/testsuite/tests/properties/invalid_call/test.out index e94a7dc98..40359c877 100644 --- a/testsuite/tests/properties/invalid_call/test.out +++ b/testsuite/tests/properties/invalid_call/test.out @@ -2,18 +2,18 @@ Code generation was successful == Incorrect call code 1 == -File "test.py", line 30, in BarNode.prop - line 44, in FieldAccess expression +File "test.py", line 33, in BarNode.prop + line 47, in FieldAccess expression Error: Type BarNode has no 'non_exisisting_prop' field or property == Incorrect call code 2 == -File "test.py", line 30, in BarNode.prop - line 45, in FieldAccess expression +File "test.py", line 33, in BarNode.prop + line 48, in FieldAccess expression Error: Invalid number of arguments in the call to BarNode.p_prop_2: 1 expected but got 2 == Incorrect call code 3 == -File "test.py", line 30, in BarNode.prop - line 46, in No expression +File "test.py", line 33, in BarNode.prop + line 49, in No expression Error: Invalid X actual (#1) for BarNode.p_prop_2: expected Integer but got FooNode Done diff --git a/testsuite/tests/properties/invalid_call/test.py b/testsuite/tests/properties/invalid_call/test.py index 6fc7a72e8..4e1e6c0b5 100644 --- a/testsuite/tests/properties/invalid_call/test.py +++ b/testsuite/tests/properties/invalid_call/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ( ASTNode, root_grammar_class, LongType ) @@ -44,4 +47,4 @@ run("Correct code", lambda: Self.prop_2(12)) run("Incorrect call code 1", lambda: Self.non_exisisting_prop(12)) run("Incorrect call code 2", lambda: Self.prop_2(12, 15)) run("Incorrect call code 3", lambda: Self.prop_2(No(FooNode))) -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/invalid_cast/test.out b/testsuite/tests/properties/invalid_cast/test.out index a423a30b1..9f099e6e7 100644 --- a/testsuite/tests/properties/invalid_cast/test.out +++ b/testsuite/tests/properties/invalid_cast/test.out @@ -2,12 +2,12 @@ Code generation was successful == Invalid cast 1 == -File "test.py", line 35, in ListNode.prop +File "test.py", line 38, in ListNode.prop Error: One can only cast to an ASTNode subtype or to an env_element == Invalid cast 2 == -File "test.py", line 35, in ListNode.prop - line 56, in FieldAccess expression +File "test.py", line 38, in ListNode.prop + line 59, in FieldAccess expression Error: Cannot cast BarNode to ListNode: only (up/down)casting is allowed Done diff --git a/testsuite/tests/properties/invalid_cast/test.py b/testsuite/tests/properties/invalid_cast/test.py index 6bb98caec..2301696ba 100644 --- a/testsuite/tests/properties/invalid_cast/test.py +++ b/testsuite/tests/properties/invalid_cast/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ( ASTNode, root_grammar_class, LongType, Field ) @@ -54,4 +57,4 @@ def run(name, expr): run("Correct code", lambda: Self.parent.cast(BarNode)) run("Invalid cast 1", lambda: Self.parent.cast(LongType)) run("Invalid cast 2", lambda: Self.bar_node_parent.cast(ListNode)) -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/invalid_env/test.out b/testsuite/tests/properties/invalid_env/test.out index 3c42e91c2..517059069 100644 --- a/testsuite/tests/properties/invalid_env/test.out +++ b/testsuite/tests/properties/invalid_env/test.out @@ -1,10 +1,10 @@ == , tok>)> == -File "test.py", line 32, in ExampleNode.prop +File "test.py", line 35, in ExampleNode.prop Error: This property has no implicit environment parameter: please use the eval_in_env construct to bind an environment first. == implicit_prop> == -File "test.py", line 32, in ExampleNode.prop - line 46, in FieldAccess expression +File "test.py", line 35, in ExampleNode.prop + line 49, in FieldAccess expression Error: This property has no implicit environment parameter whereas ExampleNode.p_implicit_prop expects one: please use the eval_in_env construct to bind an environment first. == node_env>, , tok>)>)> == diff --git a/testsuite/tests/properties/invalid_env/test.py b/testsuite/tests/properties/invalid_env/test.py index 4d67def43..d371d76c9 100644 --- a/testsuite/tests/properties/invalid_env/test.py +++ b/testsuite/tests/properties/invalid_env/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ( ASTNode, root_grammar_class, Field ) @@ -17,7 +20,7 @@ def run(expr): Diagnostics.set_lang_source_dir(path.abspath(__file__)) - print '== {} =='.format(expr) + print('== {} =='.format(expr)) @root_grammar_class() class FooNode(ASTNode): @@ -46,4 +49,4 @@ run(Env.get(Self.tok)) run(Self.implicit_prop) run(Self.node_env.eval_in_env(Env.get(Self.tok))) run(Self.node_env.eval_in_env(Self.implicit_prop)) -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/invalid_external/test.out b/testsuite/tests/properties/invalid_external/test.out index 8f4aec1f3..5863018fd 100644 --- a/testsuite/tests/properties/invalid_external/test.out +++ b/testsuite/tests/properties/invalid_external/test.out @@ -1,13 +1,13 @@ == Missing type == -File "test.py", line 42, in AbstractExample.p +File "test.py", line 45, in AbstractExample.p Error: This property requires an explicit return type == Invalid abstract == -File "test.py", line 45, in AbstractExample.p +File "test.py", line 48, in AbstractExample.p Error: An external property cannot be abstract == Invalid memoized == -File "test.py", line 49, in AbstractExample.p +File "test.py", line 52, in AbstractExample.p Error: An external property cannot be memoized Done diff --git a/testsuite/tests/properties/invalid_external/test.py b/testsuite/tests/properties/invalid_external/test.py index e8d32dfd8..956041993 100644 --- a/testsuite/tests/properties/invalid_external/test.py +++ b/testsuite/tests/properties/invalid_external/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ASTNode, T, abstract, root_grammar_class from langkit.diagnostics import Diagnostics from langkit.expressions import ExternalProperty, Property, Self @@ -47,4 +50,4 @@ run("Invalid abstract", run("Invalid memoized", lambda: ExternalProperty(memoized=True)) -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/invalid_let/test.out b/testsuite/tests/properties/invalid_let/test.out index b565aa3e7..88b11afaf 100644 --- a/testsuite/tests/properties/invalid_let/test.out +++ b/testsuite/tests/properties/invalid_let/test.out @@ -2,11 +2,11 @@ Code generation was successful == Missing var value == -File "test.py", line 29, in BarNode.prop +File "test.py", line 32, in BarNode.prop Error: All Let expression function arguments must have default values == Invalid args == -File "test.py", line 29, in BarNode.prop +File "test.py", line 32, in BarNode.prop Error: Invalid function for Let expression (*args and **kwargs not accepted) Done diff --git a/testsuite/tests/properties/invalid_let/test.py b/testsuite/tests/properties/invalid_let/test.py index 88823640d..d0399537b 100644 --- a/testsuite/tests/properties/invalid_let/test.py +++ b/testsuite/tests/properties/invalid_let/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ( ASTNode, root_grammar_class ) @@ -43,4 +46,4 @@ run("Correct code", lambda: Let(lambda a=Literal(1): a)) run("Missing var value", lambda: Let(lambda a: a)) run("Invalid args", lambda: Let(lambda a=Literal(1), *b, **c: a)) -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/invalid_map/test.out b/testsuite/tests/properties/invalid_map/test.out index cc07bf314..3a46c7496 100644 --- a/testsuite/tests/properties/invalid_map/test.out +++ b/testsuite/tests/properties/invalid_map/test.out @@ -2,15 +2,15 @@ Code generation was successful == Incorrect map code 1 == -File "test.py", line 34, in ListNode.prop +File "test.py", line 37, in ListNode.prop Error: Invalid collection iteration lambda: only one or two parameters expected == Incorrect map code 2 == -File "test.py", line 34, in ListNode.prop +File "test.py", line 37, in ListNode.prop Error: Invalid collection iteration lambda: No default values allowed for arguments == Incorrect map code 3 == -File "test.py", line 34, in ListNode.prop +File "test.py", line 37, in ListNode.prop Error: Invalid collection iteration lambda: no *args or **kwargs Done diff --git a/testsuite/tests/properties/invalid_map/test.py b/testsuite/tests/properties/invalid_map/test.py index d9c19263c..4c7006fc6 100644 --- a/testsuite/tests/properties/invalid_map/test.py +++ b/testsuite/tests/properties/invalid_map/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ( ASTNode, root_grammar_class, Field ) @@ -53,4 +56,4 @@ run("Correct code", lambda: Self.nb_list.map(lambda x: x)) run("Incorrect map code 1", lambda: Self.nb_list.map(lambda x, y, z: x)) run("Incorrect map code 2", lambda: Self.nb_list.map(lambda x=12: x)) run("Incorrect map code 3", lambda: Self.nb_list.map(lambda x, *y: x)) -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/invalid_matchers/test.out b/testsuite/tests/properties/invalid_matchers/test.out index 663db5a91..690192d3a 100644 --- a/testsuite/tests/properties/invalid_matchers/test.out +++ b/testsuite/tests/properties/invalid_matchers/test.out @@ -1,54 +1,54 @@ == Missing NullNode == -File "test.py", line 51, in ExampleNode.prop - line 79, in Match expression +File "test.py", line 54, in ExampleNode.prop + line 82, in Match expression Error: The following AST nodes have no handler: NullNode (all BodyNode subclasses require one) == Missing Expression == -File "test.py", line 51, in ExampleNode.prop - line 82, in Match expression +File "test.py", line 54, in ExampleNode.prop + line 85, in Match expression Error: The following AST nodes have no handler: Expression (all BodyNode subclasses require one) == Missing Compound == -File "test.py", line 51, in ExampleNode.prop - line 86, in Match expression +File "test.py", line 54, in ExampleNode.prop + line 89, in Match expression Error: The following AST nodes have no handler: Compound (all BodyNode subclasses require one) == Invalid type == -File "test.py", line 51, in ExampleNode.prop +File "test.py", line 54, in ExampleNode.prop Error: Invalid matching type: Boolean == Irrelevant AST node == -File "test.py", line 51, in ExampleNode.prop - line 98, in Match expression +File "test.py", line 54, in ExampleNode.prop + line 101, in Match expression Error: Cannot match FooNode (input type is BodyNode) == Default case after full coverage == -File "test.py", line 51, in ExampleNode.prop - line 104, in Match expression +File "test.py", line 54, in ExampleNode.prop + line 107, in Match expression Warning: The #2 matcher (default one) is unreachable as all previous matchers cover all the nodes it can match Code generation was successful == Node after default case (1) == -File "test.py", line 51, in ExampleNode.prop - line 109, in Match expression +File "test.py", line 54, in ExampleNode.prop + line 112, in Match expression Warning: The #2 matcher (BodyNode) is unreachable as all previous matchers cover all the nodes it can match Code generation was successful == Node after default case (2) == -File "test.py", line 51, in ExampleNode.prop - line 113, in Match expression +File "test.py", line 54, in ExampleNode.prop + line 116, in Match expression Warning: The #2 matcher (Number) is unreachable as all previous matchers cover all the nodes it can match Code generation was successful == Node after full coverage (1) == -File "test.py", line 51, in ExampleNode.prop - line 118, in Match expression +File "test.py", line 54, in ExampleNode.prop + line 121, in Match expression Warning: The #2 matcher (Number) is unreachable as all previous matchers cover all the nodes it can match Code generation was successful == Node after full coverage (2) == -File "test.py", line 51, in ExampleNode.prop - line 124, in Match expression +File "test.py", line 54, in ExampleNode.prop + line 127, in Match expression Warning: The #4 matcher (BodyNode) is unreachable as all previous matchers cover all the nodes it can match Code generation was successful diff --git a/testsuite/tests/properties/invalid_matchers/test.py b/testsuite/tests/properties/invalid_matchers/test.py index d39941292..ce9eebb99 100644 --- a/testsuite/tests/properties/invalid_matchers/test.py +++ b/testsuite/tests/properties/invalid_matchers/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ( ASTNode, BoolType, Field, abstract, root_grammar_class ) @@ -124,4 +127,4 @@ run('Node after full coverage (2)', lambda: Self.body.match( lambda e=BodyNode: e.prop, )) -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/invalid_new/test.out b/testsuite/tests/properties/invalid_new/test.out index 2564c65f1..6b1cfb8d7 100644 --- a/testsuite/tests/properties/invalid_new/test.out +++ b/testsuite/tests/properties/invalid_new/test.out @@ -2,18 +2,18 @@ Code generation was successful == Incorrect new 1 == -File "test.py", line 33, in BarNode.prop - line 46, in New expression +File "test.py", line 36, in BarNode.prop + line 49, in New expression Error: Values are missing for MyStruct fields: b == Incorrect new 2 == -File "test.py", line 33, in BarNode.prop - line 47, in No expression +File "test.py", line 36, in BarNode.prop + line 50, in No expression Error: Wrong type for field b: expected Integer, got FooNode == Incorrect new 1 == -File "test.py", line 33, in BarNode.prop - line 49, in New expression +File "test.py", line 36, in BarNode.prop + line 52, in New expression Error: Extraneous fields for MyStruct: c Done diff --git a/testsuite/tests/properties/invalid_new/test.py b/testsuite/tests/properties/invalid_new/test.py index dbb377bc5..384820cf4 100644 --- a/testsuite/tests/properties/invalid_new/test.py +++ b/testsuite/tests/properties/invalid_new/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ( ASTNode, root_grammar_class, LongType, Field, Struct ) @@ -47,4 +50,4 @@ run("Incorrect new 1", lambda: New(MyStruct, a=Literal(12))) run("Incorrect new 2", lambda: New(MyStruct, a=Literal(12), b=No(FooNode))) run("Incorrect new 1", lambda: New(MyStruct, a=Literal(12), b=Literal(15), c=Literal(19))) -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/invalid_new_node/test.out b/testsuite/tests/properties/invalid_new_node/test.out index 2a787b520..8544d38f8 100644 --- a/testsuite/tests/properties/invalid_new_node/test.out +++ b/testsuite/tests/properties/invalid_new_node/test.out @@ -1,11 +1,11 @@ == Not memoized == -File "test.py", line 33, in LiteralList.prop - line 50, in New expression +File "test.py", line 36, in LiteralList.prop + line 53, in New expression Error: Node synthetization can only happen inside a memoized property == List synthetization == -File "test.py", line 33, in LiteralList.prop - line 51, in New expression +File "test.py", line 36, in LiteralList.prop + line 54, in New expression Error: List node synthetization is not supported for now Done diff --git a/testsuite/tests/properties/invalid_new_node/test.py b/testsuite/tests/properties/invalid_new_node/test.py index b18ea669b..751377f2a 100644 --- a/testsuite/tests/properties/invalid_new_node/test.py +++ b/testsuite/tests/properties/invalid_new_node/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ASTNode, Field, T, root_grammar_class @@ -49,4 +52,4 @@ def run(name, prop_fn, prop_memoized): run("Not memoized", lambda: New(T.EmptyNode), False) run("List synthetization", lambda: New(T.LiteralList), True) -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/invalid_no/test.out b/testsuite/tests/properties/invalid_no/test.out index 342df0c55..b8942f91f 100644 --- a/testsuite/tests/properties/invalid_no/test.out +++ b/testsuite/tests/properties/invalid_no/test.out @@ -2,7 +2,7 @@ Code generation was successful == Incorrect No usage == -File "test.py", line 29, in BarNode.prop +File "test.py", line 32, in BarNode.prop Error: Invalid type for Null expression: Integer Done diff --git a/testsuite/tests/properties/invalid_no/test.py b/testsuite/tests/properties/invalid_no/test.py index 76a9eeed9..86f5fe0fa 100644 --- a/testsuite/tests/properties/invalid_no/test.py +++ b/testsuite/tests/properties/invalid_no/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ( ASTNode, root_grammar_class, LongType ) @@ -41,4 +44,4 @@ def run(name, expr): run("Correct code", lambda: No(FooNode)) run("Incorrect No usage", lambda: No(LongType)) -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/invalid_prop_def/test.out b/testsuite/tests/properties/invalid_prop_def/test.out index 5c7e717b1..2f9fc1ca0 100644 --- a/testsuite/tests/properties/invalid_prop_def/test.out +++ b/testsuite/tests/properties/invalid_prop_def/test.out @@ -2,27 +2,27 @@ Code generation was successful == Incorrect property definition 1 == -File "test.py", line 48, in BarNode.propyprop - Error: Invalid abstract expression: ['Lol this is obviously wrong'] +File "test.py", line 51, in BarNode.propyprop + Error: Invalid abstract expression: [u'Lol this is obviously wrong'] == Incorrect property definition 2 == -File "test.py", line 53, in BarNode.propyprop +File "test.py", line 56, in BarNode.propyprop Error: Invalid function signature: no *args nor **kwargs allowed == Incorrect property definition 3 == -File "test.py", line 58, in BarNode.propyprop +File "test.py", line 61, in BarNode.propyprop Error: All parameters must have an associated type as a default value == Incorrect property definition 4 == -File "test.py", line 63, in BarNode.propyprop +File "test.py", line 66, in BarNode.propyprop Error: Cannot define reserved arguments (node, lex_env) == Incorrect property definition 5 == -File "test.py", line 68, in BarNode.propyprop - Error: Type provided is neither a CompiledType, neither a defered type reference: ['Obviously wrong'] +File "test.py", line 71, in BarNode.propyprop + Error: Type provided is neither a CompiledType, neither a defered type reference: [u'Obviously wrong'] == Incorrect property definition 6 == -File "test.py", line 73, in BarNode.propyprop +File "test.py", line 76, in BarNode.propyprop Error: Type provided is neither a CompiledType, neither a defered type reference: Done diff --git a/testsuite/tests/properties/invalid_prop_def/test.py b/testsuite/tests/properties/invalid_prop_def/test.py index 04f469073..db3fb0572 100644 --- a/testsuite/tests/properties/invalid_prop_def/test.py +++ b/testsuite/tests/properties/invalid_prop_def/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ( ASTNode, root_grammar_class, NodeMacro, LongType ) @@ -73,4 +76,4 @@ class Macro6(NodeMacro): propyprop = Property(lambda a=NodeMacro: a) run("Incorrect property definition 6", Macro6) -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/invalid_prop_literal/test.out b/testsuite/tests/properties/invalid_prop_literal/test.out index 23bdb9fdc..3613bc400 100644 --- a/testsuite/tests/properties/invalid_prop_literal/test.out +++ b/testsuite/tests/properties/invalid_prop_literal/test.out @@ -3,7 +3,7 @@ Code generation was successful Valid case Code generation was successful Invalid case -File "test.py", line 17, in FooNode.b +File "test.py", line 20, in FooNode.b Error: Invalid abstract expression: 12.9 Done diff --git a/testsuite/tests/properties/invalid_prop_literal/test.py b/testsuite/tests/properties/invalid_prop_literal/test.py index 20d1ab568..53c35b712 100644 --- a/testsuite/tests/properties/invalid_prop_literal/test.py +++ b/testsuite/tests/properties/invalid_prop_literal/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ASTNode, root_grammar_class from langkit.diagnostics import Diagnostics from langkit.expressions import Property @@ -21,11 +24,11 @@ def make_lang_def(lit): return foo_grammar return lang_def -print 'Valid case' +print('Valid case') emit_and_print_errors(make_lang_def(12)) -print 'Valid case' -emit_and_print_errors(make_lang_def("lol")) -print 'Invalid case' +print('Valid case') +emit_and_print_errors(make_lang_def('lol')) +print('Invalid case') emit_and_print_errors(make_lang_def(12.90)) print('') -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/invalid_prop_type/test.out b/testsuite/tests/properties/invalid_prop_type/test.out index 8f4eed559..827b528da 100644 --- a/testsuite/tests/properties/invalid_prop_type/test.out +++ b/testsuite/tests/properties/invalid_prop_type/test.out @@ -1,6 +1,6 @@ -File "test.py", line 26, in BarNode.prop_2 - line 26, in FieldAccess expression - line 22, in BarCode.prop_1 +File "test.py", line 29, in BarNode.prop_2 + line 29, in FieldAccess expression + line 25, in BarCode.prop_1 Error: Recursion loop in type inference for property BarCode.p_prop_1. Try to specify its return type explicitly. Done diff --git a/testsuite/tests/properties/invalid_prop_type/test.py b/testsuite/tests/properties/invalid_prop_type/test.py index 14d932909..4f4310a23 100644 --- a/testsuite/tests/properties/invalid_prop_type/test.py +++ b/testsuite/tests/properties/invalid_prop_type/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ( ASTNode, root_grammar_class, Field ) @@ -36,4 +39,4 @@ def lang_def(): emit_and_print_errors(lang_def) print('') -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/invalid_then/test.out b/testsuite/tests/properties/invalid_then/test.out index 64958909b..ab3c3cdd8 100644 --- a/testsuite/tests/properties/invalid_then/test.out +++ b/testsuite/tests/properties/invalid_then/test.out @@ -1,13 +1,13 @@ == No argument == -File "test.py", line 30, in Example.prop +File "test.py", line 33, in Example.prop Error: Invalid lambda for Then expression: exactly one parameter is required, without a default value == Two arguments == -File "test.py", line 30, in Example.prop +File "test.py", line 33, in Example.prop Error: Invalid lambda for Then expression: exactly one parameter is required, without a default value == Default value == -File "test.py", line 30, in Example.prop +File "test.py", line 33, in Example.prop Error: Invalid lambda for Then expression: exactly one parameter is required, without a default value Done diff --git a/testsuite/tests/properties/invalid_then/test.py b/testsuite/tests/properties/invalid_then/test.py index aadf906f8..4b1d24f98 100644 --- a/testsuite/tests/properties/invalid_then/test.py +++ b/testsuite/tests/properties/invalid_then/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ( ASTNode, Field, abstract, root_grammar_class ) @@ -48,4 +51,4 @@ run('No argument', Self.name.then(lambda: Self)) run('Two arguments', Self.name.then(lambda x, y: x.foo(y))) run('Default value', Self.name.then(lambda name=None: name)) -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/let_underscore/main.py b/testsuite/tests/properties/let_underscore/main.py index e69de29bb..800d82e7e 100644 --- a/testsuite/tests/properties/let_underscore/main.py +++ b/testsuite/tests/properties/let_underscore/main.py @@ -0,0 +1,2 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) diff --git a/testsuite/tests/properties/let_underscore/test.py b/testsuite/tests/properties/let_underscore/test.py index 9f491f5b3..a0e365ec5 100644 --- a/testsuite/tests/properties/let_underscore/test.py +++ b/testsuite/tests/properties/let_underscore/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ( ASTNode, root_grammar_class ) @@ -24,4 +27,4 @@ class BarNode(FooNode): foo_grammar = Grammar('main_rule') foo_grammar.add_rules(main_rule=BarNode('example')) build_and_run(foo_grammar, 'main.py') -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/new_node/main.py b/testsuite/tests/properties/new_node/main.py index ef3a2f097..465eb8f18 100644 --- a/testsuite/tests/properties/new_node/main.py +++ b/testsuite/tests/properties/new_node/main.py @@ -1,4 +1,7 @@ -print 'main.py: Running...' +from __future__ import (absolute_import, division, print_function, + unicode_literals) + +print('main.py: Running...') import sys @@ -15,4 +18,4 @@ if u.diagnostics: u.populate_lexical_env() u.root.p_prop.dump() -print 'main.py: Done.' +print('main.py: Done.') diff --git a/testsuite/tests/properties/new_node/test.py b/testsuite/tests/properties/new_node/test.py index 06a3fd928..b3ce5247e 100644 --- a/testsuite/tests/properties/new_node/test.py +++ b/testsuite/tests/properties/new_node/test.py @@ -2,6 +2,9 @@ Test AST node synthetization and a basic use of it in the Python API. """ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ASTNode, Field, Token, root_grammar_class @@ -51,4 +54,4 @@ foo_grammar.add_rules( list_item=Row(Tok(LexToken.Number, keep=True)) ^ Literal, ) build_and_run(foo_grammar, 'main.py') -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/nop_cast/test.out b/testsuite/tests/properties/nop_cast/test.out index 949f5d4ae..c0f1a98dd 100644 --- a/testsuite/tests/properties/nop_cast/test.out +++ b/testsuite/tests/properties/nop_cast/test.out @@ -1,5 +1,5 @@ -File "test.py", line 19, in ExampleNode.prop - line 19, in Cast expression +File "test.py", line 22, in ExampleNode.prop + line 22, in Cast expression Warning: Casting to the same type Code generation was successful Done diff --git a/testsuite/tests/properties/nop_cast/test.py b/testsuite/tests/properties/nop_cast/test.py index 86e55fde2..bf19c098d 100644 --- a/testsuite/tests/properties/nop_cast/test.py +++ b/testsuite/tests/properties/nop_cast/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ASTNode, T, root_grammar_class from langkit.diagnostics import Diagnostics from langkit.expressions import Property, Self @@ -27,4 +30,4 @@ def lang_def(): return foo_grammar emit_and_print_errors(lang_def) -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/null_checks/main.py b/testsuite/tests/properties/null_checks/main.py index d25886569..055b02c29 100644 --- a/testsuite/tests/properties/null_checks/main.py +++ b/testsuite/tests/properties/null_checks/main.py @@ -1,4 +1,7 @@ -print 'main.py: Running...' +from __future__ import (absolute_import, division, print_function, + unicode_literals) + +print('main.py: Running...') import sys @@ -37,4 +40,4 @@ for node, prop in [ result = 'PropertyError' print('{}.{}: {}'.format(node, prop, result)) -print 'main.py: Done.' +print('main.py: Done.') diff --git a/testsuite/tests/properties/null_checks/test.py b/testsuite/tests/properties/null_checks/test.py index 719d3a388..91075bbd8 100644 --- a/testsuite/tests/properties/null_checks/test.py +++ b/testsuite/tests/properties/null_checks/test.py @@ -3,6 +3,9 @@ Test that property checks are properly emitted when null checks should trigger them. """ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ( @@ -84,4 +87,4 @@ foo_grammar.add_rules( ), ) build_and_run(foo_grammar, 'main.py') -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/override/test.out b/testsuite/tests/properties/override/test.out index 549c34762..27791f627 100644 --- a/testsuite/tests/properties/override/test.out +++ b/testsuite/tests/properties/override/test.out @@ -1,14 +1,14 @@ == FooNode == -File "test.py", line 38, in ExampleNode.get_random_node - line 38, in No expression +File "test.py", line 41, in ExampleNode.get_random_node + line 41, in No expression Error: expected type MiddleNode, got FooNode instead (expected type comes from overridden base property in MiddleNode) == MiddleNode == Code generation was successful == NullNode == -File "test.py", line 38, in ExampleNode.get_random_node - line 38, in No expression +File "test.py", line 41, in ExampleNode.get_random_node + line 41, in No expression Error: expected type MiddleNode, got NullNode instead (expected type comes from overridden base property in MiddleNode) Done diff --git a/testsuite/tests/properties/override/test.py b/testsuite/tests/properties/override/test.py index 7ad59a4e0..706d36f16 100644 --- a/testsuite/tests/properties/override/test.py +++ b/testsuite/tests/properties/override/test.py @@ -3,6 +3,9 @@ Test that when a property B overrides a property A, B's return type must be a subtype of A's. """ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ASTNode, T, abstract, root_grammar_class @@ -58,4 +61,4 @@ run('FooNode', lambda T: T.FooNode) run('MiddleNode', lambda T: T.MiddleNode) run('NullNode', lambda T: T.NullNode) -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/populate_error/script.py b/testsuite/tests/properties/populate_error/script.py index 7675a91f5..d44fabdc8 100644 --- a/testsuite/tests/properties/populate_error/script.py +++ b/testsuite/tests/properties/populate_error/script.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import sys import libfoolang @@ -10,11 +13,11 @@ if u.diagnostics: print(d) sys.exit(1) -print 'Calling AnalysisUnit.populate_lexical_env()...' +print('Calling AnalysisUnit.populate_lexical_env()...') try: u.populate_lexical_env() except libfoolang.PropertyError: - print 'Got a PropertyError as expected!' + print('Got a PropertyError as expected!') else: - print 'Got no PropertyError, which is unexpected!' -print 'Done.' + print('Got no PropertyError, which is unexpected!') +print('Done.') diff --git a/testsuite/tests/properties/populate_error/test.py b/testsuite/tests/properties/populate_error/test.py index 9d7e2185f..e6f9bca74 100644 --- a/testsuite/tests/properties/populate_error/test.py +++ b/testsuite/tests/properties/populate_error/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ASTNode, root_grammar_class diff --git a/testsuite/tests/properties/privacy/test.out b/testsuite/tests/properties/privacy/test.out index 16d8b8136..dc4dc99c9 100644 --- a/testsuite/tests/properties/privacy/test.out +++ b/testsuite/tests/properties/privacy/test.out @@ -4,7 +4,7 @@ Code generation was successful ConcreteNode.p_prop: private == abstract: default, concrete: public == -File "test.py", line 41, in ConcreteNode.prop +File "test.py", line 44, in ConcreteNode.prop Error: AbstractNode.p_prop is private, so should be ConcreteNode.p_prop == abstract: default, concrete: private == @@ -23,7 +23,7 @@ Code generation was successful ConcreteNode.p_prop: public == abstract: public, concrete: private == -File "test.py", line 41, in ConcreteNode.prop +File "test.py", line 44, in ConcreteNode.prop Error: AbstractNode.p_prop is public, so should be ConcreteNode.p_prop == abstract: private, concrete: default == @@ -32,7 +32,7 @@ Code generation was successful ConcreteNode.p_prop: private == abstract: private, concrete: public == -File "test.py", line 41, in ConcreteNode.prop +File "test.py", line 44, in ConcreteNode.prop Error: AbstractNode.p_prop is private, so should be ConcreteNode.p_prop == abstract: private, concrete: private == diff --git a/testsuite/tests/properties/privacy/test.py b/testsuite/tests/properties/privacy/test.py index 3c56a789d..88b9e55e6 100644 --- a/testsuite/tests/properties/privacy/test.py +++ b/testsuite/tests/properties/privacy/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import itertools import os.path @@ -22,10 +25,10 @@ def run(abstract_public, concrete_public): True: 'public', False: 'private', } - print '== abstract: {}, concrete: {} =='.format( + print('== abstract: {}, concrete: {} =='.format( fmt_privacy[abstract_public], fmt_privacy[concrete_public] - ) + )) Diagnostics.set_lang_source_dir(os.path.abspath(__file__)) @root_grammar_class() @@ -52,7 +55,7 @@ def run(abstract_public, concrete_public): if emit_and_print_errors(lang_def): for fld in (AbstractNode._fields['prop'], ConcreteNode._fields['prop']): - print ' {}: {}'.format(fld.qualname, fmt_privacy[fld.is_public]) + print(' {}: {}'.format(fld.qualname, fmt_privacy[fld.is_public])) print('') @@ -60,4 +63,4 @@ privacy_levels = (None, True, False) for p1, p2 in itertools.product(privacy_levels, privacy_levels): run(p1, p2) -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/unused_private_props/test.out b/testsuite/tests/properties/unused_private_props/test.out index 6b9ba52eb..73efe3174 100644 --- a/testsuite/tests/properties/unused_private_props/test.out +++ b/testsuite/tests/properties/unused_private_props/test.out @@ -1,6 +1,6 @@ -File "test.py", line 27, in FooNode.as_expr +File "test.py", line 30, in FooNode.as_expr Warning: This private property is unused -File "test.py", line 34, in Expression.result +File "test.py", line 37, in Expression.result Warning: This private abstraction is unused Code generation was successful Done diff --git a/testsuite/tests/properties/unused_private_props/test.py b/testsuite/tests/properties/unused_private_props/test.py index 02b52d136..01d2115d7 100644 --- a/testsuite/tests/properties/unused_private_props/test.py +++ b/testsuite/tests/properties/unused_private_props/test.py @@ -2,6 +2,9 @@ Test the handling of analysis units in the properties DSL. """ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ( @@ -87,4 +90,4 @@ foo_grammar.add_rules( ), ) emit_and_print_errors(lambda: foo_grammar) -print 'Done' +print('Done') diff --git a/testsuite/tests/properties/warn_unused/test.out b/testsuite/tests/properties/warn_unused/test.out index a58bf263a..fa7184390 100644 --- a/testsuite/tests/properties/warn_unused/test.out +++ b/testsuite/tests/properties/warn_unused/test.out @@ -1,16 +1,16 @@ -File "test.py", line 32, in ExampleList.unused_param +File "test.py", line 35, in ExampleList.unused_param Warning: The following bindings are not used: ex_param -File "test.py", line 32, in ExampleList.unused_param +File "test.py", line 35, in ExampleList.unused_param Warning: The following bindings are used even though they are supposed to be ignored: ex_wrongly_used_param -File "test.py", line 36, in ExampleList.unused_block_var +File "test.py", line 39, in ExampleList.unused_block_var Warning: The following bindings are not used: block_var -File "test.py", line 44, in ExampleList.unused_let_var +File "test.py", line 47, in ExampleList.unused_let_var Warning: The following bindings are not used: ex_list -File "test.py", line 50, in ExampleList.unused_loop_var +File "test.py", line 53, in ExampleList.unused_loop_var Warning: The following bindings are not used: ex_item -File "test.py", line 55, in ExampleList.unused_then_var +File "test.py", line 58, in ExampleList.unused_then_var Warning: The following bindings are not used: ex_items -File "test.py", line 68, in ExampleList.unused_match_var +File "test.py", line 71, in ExampleList.unused_match_var Warning: The following bindings are not used: ex Code generation was successful Done diff --git a/testsuite/tests/properties/warn_unused/test.py b/testsuite/tests/properties/warn_unused/test.py index 639e7749a..e8f77d82c 100644 --- a/testsuite/tests/properties/warn_unused/test.py +++ b/testsuite/tests/properties/warn_unused/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ( ASTNode, BoolType, Field, T, root_grammar_class ) @@ -82,4 +85,4 @@ def lang_def(): emit_and_print_errors(lang_def) -print 'Done' +print('Done') diff --git a/testsuite/tests/python-api/ghost_nodes/main.py b/testsuite/tests/python-api/ghost_nodes/main.py index 1a47bf2cf..9f8d18bba 100644 --- a/testsuite/tests/python-api/ghost_nodes/main.py +++ b/testsuite/tests/python-api/ghost_nodes/main.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import libfoolang @@ -10,4 +13,4 @@ for node in unit.root.findall(lambda _: True): )) assert not node.text or not node.is_ghost -print 'Done.' +print('Done.') diff --git a/testsuite/tests/python-api/ghost_nodes/test.py b/testsuite/tests/python-api/ghost_nodes/test.py index 6c1d82c31..c249bc559 100644 --- a/testsuite/tests/python-api/ghost_nodes/test.py +++ b/testsuite/tests/python-api/ghost_nodes/test.py @@ -2,6 +2,9 @@ Test the handling of analysis units in the properties DSL. """ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ASTNode, Field, T, root_grammar_class @@ -44,4 +47,4 @@ foo_grammar.add_rules( ), ) build_and_run(foo_grammar, 'main.py') -print 'Done' +print('Done') diff --git a/testsuite/tests/python-api/node_negative_index/main.py b/testsuite/tests/python-api/node_negative_index/main.py index 514950d58..52f88559d 100644 --- a/testsuite/tests/python-api/node_negative_index/main.py +++ b/testsuite/tests/python-api/node_negative_index/main.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import libfoolang diff --git a/testsuite/tests/python-api/node_negative_index/test.py b/testsuite/tests/python-api/node_negative_index/test.py index 3bf096181..869cc1f81 100644 --- a/testsuite/tests/python-api/node_negative_index/test.py +++ b/testsuite/tests/python-api/node_negative_index/test.py @@ -3,6 +3,9 @@ Test the handling of negative indexes in the Python binding of AST nodes child getters. """ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ASTNode, Field, T, root_grammar_class @@ -31,4 +34,4 @@ foo_grammar.add_rules( name=Name(Tok(Token.Identifier, keep=True)), ) build_and_run(foo_grammar, 'main.py') -print 'Done' +print('Done') diff --git a/testsuite/tests/structs/field_override/test.out b/testsuite/tests/structs/field_override/test.out index fe39bcdc4..d2b853d0e 100644 --- a/testsuite/tests/structs/field_override/test.out +++ b/testsuite/tests/structs/field_override/test.out @@ -1,4 +1,4 @@ -File "test.py", line 29, in Expr.name +File "test.py", line 32, in Expr.name Error: "name" must be renamed as it conflicts with RootNode.p_name Done diff --git a/testsuite/tests/structs/field_override/test.py b/testsuite/tests/structs/field_override/test.py index 202f907a6..daea54488 100644 --- a/testsuite/tests/structs/field_override/test.py +++ b/testsuite/tests/structs/field_override/test.py @@ -2,6 +2,9 @@ Test the handling of analysis units in the properties DSL. """ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ( @@ -37,5 +40,5 @@ try: run() except DiagnosticError: pass -print '' -print 'Done' +print('') +print('Done') diff --git a/testsuite/tests/structs/invalid_struct/test.out b/testsuite/tests/structs/invalid_struct/test.out index 5a7e61504..a59fa369b 100644 --- a/testsuite/tests/structs/invalid_struct/test.out +++ b/testsuite/tests/structs/invalid_struct/test.out @@ -1,4 +1,4 @@ -File "test.py", line 21, in StructB +File "test.py", line 24, in StructB Error: All Struct subclasses must directly derive from Struct itself Done diff --git a/testsuite/tests/structs/invalid_struct/test.py b/testsuite/tests/structs/invalid_struct/test.py index 0411234f8..24b46f031 100644 --- a/testsuite/tests/structs/invalid_struct/test.py +++ b/testsuite/tests/structs/invalid_struct/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ( ASTNode, Field, LongType, Struct, root_grammar_class ) @@ -23,5 +26,5 @@ try: except DiagnosticError: pass -print '' -print 'Done' +print('') +print('Done') diff --git a/testsuite/tests/structs/refcounted_fields/main.py b/testsuite/tests/structs/refcounted_fields/main.py index e260900d6..b406fcd40 100644 --- a/testsuite/tests/structs/refcounted_fields/main.py +++ b/testsuite/tests/structs/refcounted_fields/main.py @@ -1,4 +1,7 @@ -print 'main.py: Running...' +from __future__ import (absolute_import, division, print_function, + unicode_literals) + +print('main.py: Running...') import sys @@ -25,11 +28,11 @@ u.populate_lexical_env() name_lists = [name_list.p_to_struct for name_list in u.root.findall(libfoolang.ListDecl)] -print 'Name lists:' +print('Name lists:') for nl in name_lists: - print ' * {}: [{}]'.format( + print(' * {}: [{}]'.format( nl.f_label.f_tok.text, ', '.join(n.f_tok.text for n in nl.f_name_list) - ) + )) -print 'main.py: Done.' +print('main.py: Done.') diff --git a/testsuite/tests/structs/refcounted_fields/test.py b/testsuite/tests/structs/refcounted_fields/test.py index a2064239d..3a576aee3 100644 --- a/testsuite/tests/structs/refcounted_fields/test.py +++ b/testsuite/tests/structs/refcounted_fields/test.py @@ -2,6 +2,9 @@ Test that ref-counted fields in structs are properly bound in C/Python APIs. """ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import os.path from langkit.compiled_types import ( @@ -51,4 +54,4 @@ foo_grammar.add_rules( name=Name(Tok(Token.Identifier, keep=True)), ) build_and_run(foo_grammar, 'main.py') -print 'Done' +print('Done') diff --git a/testsuite/tests/structs/struct_env_spec/test.out b/testsuite/tests/structs/struct_env_spec/test.out index 0817650b3..0b25e4c67 100644 --- a/testsuite/tests/structs/struct_env_spec/test.out +++ b/testsuite/tests/structs/struct_env_spec/test.out @@ -1,4 +1,4 @@ -File "test.py", line 17, in StructA +File "test.py", line 20, in StructA Error: Structs cannot define lexical environment specifications Done diff --git a/testsuite/tests/structs/struct_env_spec/test.py b/testsuite/tests/structs/struct_env_spec/test.py index 52084e6c3..9ddcb3d98 100644 --- a/testsuite/tests/structs/struct_env_spec/test.py +++ b/testsuite/tests/structs/struct_env_spec/test.py @@ -1,3 +1,6 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + from langkit.compiled_types import ASTNode, Struct, root_grammar_class from langkit.diagnostics import DiagnosticError, Diagnostics from langkit.envs import EnvSpec @@ -19,5 +22,5 @@ try: except DiagnosticError: pass -print '' -print 'Done' +print('') +print('Done') diff --git a/testsuite/tests/stylechecks/test.py b/testsuite/tests/stylechecks/test.py index 2f6980886..142360b32 100644 --- a/testsuite/tests/stylechecks/test.py +++ b/testsuite/tests/stylechecks/test.py @@ -1,2 +1,5 @@ +from __future__ import (absolute_import, division, print_function, + unicode_literals) + import langkit.stylechecks langkit.stylechecks.localmain()