Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test failures with Python 3.8.0a2 #287

Closed
hroncok opened this issue Mar 20, 2019 · 21 comments
Closed

Test failures with Python 3.8.0a2 #287

hroncok opened this issue Mar 20, 2019 · 21 comments

Comments

@hroncok
Copy link
Contributor

hroncok commented Mar 20, 2019

Those are the test failures I get with Python 3.8.0a2:

(I needed to apply #286 first.)

$ tox -e py37
...
459 passed, 5 skipped, 2 warnings in 11.29 seconds
  py37: commands succeeded
  congratulations :)
$ tox -e py38
...
FAILED test/test_ast.py::AstParseTest::test_argument_list
FAILED test/test_ast.py::AstParseTest::test_expr_generate
FAILED test/test_cache.py::CacheTest::test_dynamic_key_with_funcargs
FAILED test/test_cache.py::BeakerCacheTest::test_dynamic_key_with_funcargs
FAILED test/test_cache.py::DogpileCacheTest::test_dynamic_key_with_funcargs
FAILED test/test_cmd.py::CmdTest::test_file_rt_err
FAILED test/test_cmd.py::CmdTest::test_file_syntax_err
FAILED test/test_cmd.py::CmdTest::test_stdin_rt_err
FAILED test/test_cmd.py::CmdTest::test_stdin_syntax_err
FAILED test/test_def.py::DefTest::test_def_py3k_args
FAILED test/test_def.py::NestedDefTest::test_nested_with_args
FAILED test/test_exceptions.py::ExceptionsTest::test_custom_tback
FAILED test/test_exceptions.py::ExceptionsTest::test_format_closures
FAILED test/test_exceptions.py::ExceptionsTest::test_format_exceptions_no_pygments
FAILED test/test_exceptions.py::ExceptionsTest::test_format_exceptions_pygments
FAILED test/test_exceptions.py::ExceptionsTest::test_html_error_template
FAILED test/test_exceptions.py::ExceptionsTest::test_py_unicode_error_html_error_template
FAILED test/test_exceptions.py::ExceptionsTest::test_py_utf8_html_error_template
FAILED test/test_exceptions.py::ExceptionsTest::test_tback_no_trace_from_py_file
FAILED test/test_exceptions.py::ExceptionsTest::test_tback_trace_from_py_file
FAILED test/test_exceptions.py::ExceptionsTest::test_text_error_template
FAILED test/test_exceptions.py::ExceptionsTest::test_utf8_format_exceptions_no_pygments
FAILED test/test_exceptions.py::ExceptionsTest::test_utf8_format_exceptions_pygments
FAILED test/test_exceptions.py::ExceptionsTest::test_utf8_html_error_template_no_pygments
FAILED test/test_exceptions.py::ExceptionsTest::test_utf8_html_error_template_pygments
FAILED test/test_inheritance.py::InheritanceTest::test_pageargs
FAILED test/test_inheritance.py::InheritanceTest::test_pageargs_2
FAILED test/test_inheritance.py::InheritanceTest::test_pageargs_err
FAILED test/test_lexer.py::LexerTest::test_crlf
FAILED test/test_template.py::EncodingTest::test_escapes_html_tags
FAILED test/test_template.py::EncodingTest::test_unicode_file_lookup
FAILED test/test_template.py::EncodingTest::test_unicode_literal_in_def
FAILED test/test_template.py::PageArgsTest::test_basic
FAILED test/test_template.py::PageArgsTest::test_builtin_names_dont_clobber_defaults_in_includes
FAILED test/test_template.py::PageArgsTest::test_with_context
...
35 failed, 424 passed, 5 skipped, 1 warnings in 11.02 seconds
...
ERROR:   py38: commands failed
Full log
$ tox -e py38
GLOB sdist-make: .../mako/setup.py
py38 create: .../mako/.tox/py38
py38 installdeps: pytest, mock, beaker, markupsafe, pygments, babel, dogpile.cache, lingua<4
py38 inst: .../mako/.tox/dist/Mako-1.0.8.dev0.zip
py38 installed: atomicwrites==1.3.0,attrs==19.1.0,Babel==2.6.0,Beaker==1.10.1,Chameleon==3.6,decorator==4.4.0,dogpile.cache==0.7.1,lingua==3.12,Mako==1.0.8.dev0,MarkupSafe==1.1.1,mock==2.0.0,more-itertools==6.0.0,pbr==5.1.3,pluggy==0.9.0,polib==1.1.0,py==1.8.0,Pygments==2.3.1,pytest==4.3.1,pytz==2018.9,six==1.12.0
py38 run-test-pre: PYTHONHASHSEED='442732848'
py38 runtests: commands[0] | py.test
================================== test session starts ===================================
platform linux -- Python 3.8.0a2, pytest-4.3.1, py-1.8.0, pluggy-0.9.0 -- .../mako/.tox/py38/bin/python
cachedir: .tox/py38/.pytest_cache
rootdir: .../mako, inifile: setup.cfg
collected 464 items                                                                      

test/test_ast.py::AstParseTest::test_argument_list FAILED                          [  0%]
test/test_ast.py::AstParseTest::test_expr_generate FAILED                          [  0%]
test/test_ast.py::AstParseTest::test_function_decl PASSED                          [  0%]
test/test_ast.py::AstParseTest::test_function_decl_2 PASSED                        [  0%]
test/test_ast.py::AstParseTest::test_function_decl_3 PASSED                        [  1%]
test/test_ast.py::AstParseTest::test_locate_identifiers PASSED                     [  1%]
test/test_ast.py::AstParseTest::test_locate_identifiers_10 PASSED                  [  1%]
test/test_ast.py::AstParseTest::test_locate_identifiers_11 PASSED                  [  1%]
test/test_ast.py::AstParseTest::test_locate_identifiers_12 PASSED                  [  1%]
test/test_ast.py::AstParseTest::test_locate_identifiers_13 PASSED                  [  2%]
test/test_ast.py::AstParseTest::test_locate_identifiers_14 PASSED                  [  2%]
test/test_ast.py::AstParseTest::test_locate_identifiers_15 SKIPPED                 [  2%]
test/test_ast.py::AstParseTest::test_locate_identifiers_16 PASSED                  [  2%]
test/test_ast.py::AstParseTest::test_locate_identifiers_17 PASSED                  [  3%]
test/test_ast.py::AstParseTest::test_locate_identifiers_2 PASSED                   [  3%]
test/test_ast.py::AstParseTest::test_locate_identifiers_3 PASSED                   [  3%]
test/test_ast.py::AstParseTest::test_locate_identifiers_4 PASSED                   [  3%]
test/test_ast.py::AstParseTest::test_locate_identifiers_5 PASSED                   [  3%]
test/test_ast.py::AstParseTest::test_locate_identifiers_6 PASSED                   [  4%]
test/test_ast.py::AstParseTest::test_locate_identifiers_7 PASSED                   [  4%]
test/test_ast.py::AstParseTest::test_locate_identifiers_8 PASSED                   [  4%]
test/test_ast.py::AstParseTest::test_locate_identifiers_9 PASSED                   [  4%]
test/test_ast.py::AstParseTest::test_no_global_imports PASSED                      [  4%]
test/test_ast.py::AstParseTest::test_python_fragment PASSED                        [  5%]
test/test_block.py::BlockTest::test_anon_in_anon PASSED                            [  5%]
test/test_block.py::BlockTest::test_anon_in_named PASSED                           [  5%]
test/test_block.py::BlockTest::test_anonymous_block_in_call PASSED                 [  5%]
test/test_block.py::BlockTest::test_anonymous_block_namespace_raises PASSED        [  6%]
test/test_block.py::BlockTest::test_block_args PASSED                              [  6%]
test/test_block.py::BlockTest::test_block_args_contextual PASSED                   [  6%]
test/test_block.py::BlockTest::test_block_overridden_by_def PASSED                 [  6%]
test/test_block.py::BlockTest::test_block_pageargs PASSED                          [  6%]
test/test_block.py::BlockTest::test_block_pageargs_contextual PASSED               [  7%]
test/test_block.py::BlockTest::test_block_variables_contextual PASSED              [  7%]
test/test_block.py::BlockTest::test_conditional PASSED                             [  7%]
test/test_block.py::BlockTest::test_def_overridden_by_block PASSED                 [  7%]
test/test_block.py::BlockTest::test_filter PASSED                                  [  7%]
test/test_block.py::BlockTest::test_inherited_block_nested_both PASSED             [  8%]
test/test_block.py::BlockTest::test_inherited_block_nested_inner_only PASSED       [  8%]
test/test_block.py::BlockTest::test_inherited_block_no_render PASSED               [  8%]
test/test_block.py::BlockTest::test_iteration PASSED                               [  8%]
test/test_block.py::BlockTest::test_name_collision_block_def_toplevel PASSED       [  9%]
test/test_block.py::BlockTest::test_name_collision_blocks_nested_block PASSED      [  9%]
test/test_block.py::BlockTest::test_name_collision_blocks_nested_def PASSED        [  9%]
test/test_block.py::BlockTest::test_name_collision_blocks_toplevel PASSED          [  9%]
test/test_block.py::BlockTest::test_name_collision_def_block_toplevel PASSED       [  9%]
test/test_block.py::BlockTest::test_named_block_in_call PASSED                     [ 10%]
test/test_block.py::BlockTest::test_named_block_renders PASSED                     [ 10%]
test/test_block.py::BlockTest::test_named_in_anon PASSED                           [ 10%]
test/test_block.py::BlockTest::test_named_in_named PASSED                          [ 10%]
test/test_block.py::BlockTest::test_nested_dupe_names_raise PASSED                 [ 10%]
test/test_block.py::BlockTest::test_no_conflict_nested_one PASSED                  [ 11%]
test/test_block.py::BlockTest::test_no_named_in_def PASSED                         [ 11%]
test/test_block.py::BlockTest::test_noninherited_block_no_render PASSED            [ 11%]
test/test_block.py::BlockTest::test_two_levels_one PASSED                          [ 11%]
test/test_cache.py::CacheTest::test_args_complete PASSED                           [ 12%]
test/test_cache.py::CacheTest::test_buffered PASSED                                [ 12%]
test/test_cache.py::CacheTest::test_cache_enable PASSED                            [ 12%]
test/test_cache.py::CacheTest::test_custom_args_block PASSED                       [ 12%]
test/test_cache.py::CacheTest::test_custom_args_def PASSED                         [ 12%]
test/test_cache.py::CacheTest::test_custom_args_page PASSED                        [ 13%]
test/test_cache.py::CacheTest::test_def PASSED                                     [ 13%]
test/test_cache.py::CacheTest::test_dynamic_key_with_context PASSED                [ 13%]
test/test_cache.py::CacheTest::test_dynamic_key_with_funcargs FAILED               [ 13%]
test/test_cache.py::CacheTest::test_dynamic_key_with_imports PASSED                [ 14%]
test/test_cache.py::CacheTest::test_fileargs_deftag PASSED                         [ 14%]
test/test_cache.py::CacheTest::test_fileargs_implicit PASSED                       [ 14%]
test/test_cache.py::CacheTest::test_fileargs_lookup PASSED                         [ 14%]
test/test_cache.py::CacheTest::test_fileargs_pagetag PASSED                        [ 14%]
test/test_cache.py::CacheTest::test_invalidate PASSED                              [ 15%]
test/test_cache.py::CacheTest::test_load_from_expired PASSED                       [ 15%]
test/test_cache.py::CacheTest::test_lookup PASSED                                  [ 15%]
test/test_cache.py::CacheTest::test_namespace_access PASSED                        [ 15%]
test/test_cache.py::CacheTest::test_nested_def PASSED                              [ 15%]
test/test_cache.py::CacheTest::test_page PASSED                                    [ 16%]
test/test_cache.py::CacheTest::test_pass_context PASSED                            [ 16%]
test/test_cache.py::BeakerCacheTest::test_args_complete PASSED                     [ 16%]
test/test_cache.py::BeakerCacheTest::test_buffered PASSED                          [ 16%]
test/test_cache.py::BeakerCacheTest::test_cache_enable PASSED                      [ 17%]
test/test_cache.py::BeakerCacheTest::test_cache_uses_current_context PASSED        [ 17%]
test/test_cache.py::BeakerCacheTest::test_custom_args_block PASSED                 [ 17%]
test/test_cache.py::BeakerCacheTest::test_custom_args_def PASSED                   [ 17%]
test/test_cache.py::BeakerCacheTest::test_custom_args_page PASSED                  [ 17%]
test/test_cache.py::BeakerCacheTest::test_def PASSED                               [ 18%]
test/test_cache.py::BeakerCacheTest::test_dynamic_key_with_context PASSED          [ 18%]
test/test_cache.py::BeakerCacheTest::test_dynamic_key_with_funcargs FAILED         [ 18%]
test/test_cache.py::BeakerCacheTest::test_dynamic_key_with_imports PASSED          [ 18%]
test/test_cache.py::BeakerCacheTest::test_fileargs_deftag PASSED                   [ 18%]
test/test_cache.py::BeakerCacheTest::test_fileargs_implicit PASSED                 [ 19%]
test/test_cache.py::BeakerCacheTest::test_fileargs_lookup PASSED                   [ 19%]
test/test_cache.py::BeakerCacheTest::test_fileargs_pagetag PASSED                  [ 19%]
test/test_cache.py::BeakerCacheTest::test_invalidate PASSED                        [ 19%]
test/test_cache.py::BeakerCacheTest::test_load_from_expired PASSED                 [ 20%]
test/test_cache.py::BeakerCacheTest::test_lookup PASSED                            [ 20%]
test/test_cache.py::BeakerCacheTest::test_namespace_access PASSED                  [ 20%]
test/test_cache.py::BeakerCacheTest::test_nested_def PASSED                        [ 20%]
test/test_cache.py::BeakerCacheTest::test_page PASSED                              [ 20%]
test/test_cache.py::BeakerCacheTest::test_pass_context PASSED                      [ 21%]
test/test_cache.py::BeakerCacheTest::test_region PASSED                            [ 21%]
test/test_cache.py::DogpileCacheTest::test_args_complete PASSED                    [ 21%]
test/test_cache.py::DogpileCacheTest::test_buffered PASSED                         [ 21%]
test/test_cache.py::DogpileCacheTest::test_cache_enable PASSED                     [ 21%]
test/test_cache.py::DogpileCacheTest::test_cache_uses_current_context PASSED       [ 22%]
test/test_cache.py::DogpileCacheTest::test_custom_args_block PASSED                [ 22%]
test/test_cache.py::DogpileCacheTest::test_custom_args_def PASSED                  [ 22%]
test/test_cache.py::DogpileCacheTest::test_custom_args_page PASSED                 [ 22%]
test/test_cache.py::DogpileCacheTest::test_def PASSED                              [ 23%]
test/test_cache.py::DogpileCacheTest::test_dynamic_key_with_context PASSED         [ 23%]
test/test_cache.py::DogpileCacheTest::test_dynamic_key_with_funcargs FAILED        [ 23%]
test/test_cache.py::DogpileCacheTest::test_dynamic_key_with_imports PASSED         [ 23%]
test/test_cache.py::DogpileCacheTest::test_fileargs_deftag PASSED                  [ 23%]
test/test_cache.py::DogpileCacheTest::test_fileargs_implicit PASSED                [ 24%]
test/test_cache.py::DogpileCacheTest::test_fileargs_lookup PASSED                  [ 24%]
test/test_cache.py::DogpileCacheTest::test_fileargs_pagetag PASSED                 [ 24%]
test/test_cache.py::DogpileCacheTest::test_invalidate PASSED                       [ 24%]
test/test_cache.py::DogpileCacheTest::test_load_from_expired PASSED                [ 25%]
test/test_cache.py::DogpileCacheTest::test_lookup PASSED                           [ 25%]
test/test_cache.py::DogpileCacheTest::test_namespace_access PASSED                 [ 25%]
test/test_cache.py::DogpileCacheTest::test_nested_def PASSED                       [ 25%]
test/test_cache.py::DogpileCacheTest::test_page PASSED                             [ 25%]
test/test_cache.py::DogpileCacheTest::test_pass_context PASSED                     [ 26%]
test/test_cache.py::DogpileCacheTest::test_region PASSED                           [ 26%]
test/test_call.py::CallTest::test_call PASSED                                      [ 26%]
test/test_call.py::CallTest::test_call_in_nested PASSED                            [ 26%]
test/test_call.py::CallTest::test_call_in_nested_2 PASSED                          [ 26%]
test/test_call.py::CallTest::test_ccall_caller PASSED                              [ 27%]
test/test_call.py::CallTest::test_chained_call PASSED                              [ 27%]
test/test_call.py::CallTest::test_chained_call_in_nested PASSED                    [ 27%]
test/test_call.py::CallTest::test_composed_def PASSED                              [ 27%]
test/test_call.py::CallTest::test_compound_call PASSED                             [ 28%]
test/test_call.py::CallTest::test_conditional_call PASSED                          [ 28%]
test/test_call.py::CallTest::test_nested_call PASSED                               [ 28%]
test/test_call.py::CallTest::test_nested_call_2 PASSED                             [ 28%]
test/test_call.py::CallTest::test_nested_call_3 PASSED                             [ 28%]
test/test_call.py::CallTest::test_nested_call_4 PASSED                             [ 29%]
test/test_call.py::CallTest::test_new_syntax PASSED                                [ 29%]
test/test_call.py::CallTest::test_regular_defs PASSED                              [ 29%]
test/test_call.py::CallTest::test_stack_pop PASSED                                 [ 29%]
test/test_call.py::SelfCacheTest::test_basic PASSED                                [ 29%]
test/test_cmd.py::CmdTest::test_file_notfound PASSED                               [ 30%]
test/test_cmd.py::CmdTest::test_file_rt_err FAILED                                 [ 30%]
test/test_cmd.py::CmdTest::test_file_success PASSED                                [ 30%]
test/test_cmd.py::CmdTest::test_file_syntax_err FAILED                             [ 30%]
test/test_cmd.py::CmdTest::test_stdin_rt_err FAILED                                [ 31%]
test/test_cmd.py::CmdTest::test_stdin_success PASSED                               [ 31%]
test/test_cmd.py::CmdTest::test_stdin_syntax_err FAILED                            [ 31%]
test/test_decorators.py::DecoratorTest::test_nested PASSED                         [ 31%]
test/test_decorators.py::DecoratorTest::test_nested_decorated_name PASSED          [ 31%]
test/test_decorators.py::DecoratorTest::test_toplevel PASSED                       [ 32%]
test/test_decorators.py::DecoratorTest::test_toplevel_contextual PASSED            [ 32%]
test/test_decorators.py::DecoratorTest::test_toplevel_decorated_name PASSED        [ 32%]
test/test_def.py::DefTest::test_def_args PASSED                                    [ 32%]
test/test_def.py::DefTest::test_def_blankargs PASSED                               [ 32%]
test/test_def.py::DefTest::test_def_noargs PASSED                                  [ 33%]
test/test_def.py::DefTest::test_def_operations PASSED                              [ 33%]
test/test_def.py::DefTest::test_def_py3k_args FAILED                               [ 33%]
test/test_def.py::DefTest::test_inter_def PASSED                                   [ 33%]
test/test_def.py::DefTest::test_toplevel PASSED                                    [ 34%]
test/test_def.py::ScopeTest::test_canget_kwargs PASSED                             [ 34%]
test/test_def.py::ScopeTest::test_inline_expression_from_arg_one PASSED            [ 34%]
test/test_def.py::ScopeTest::test_interpret_expression_from_arg_two PASSED         [ 34%]
test/test_def.py::ScopeTest::test_scope_eight PASSED                               [ 34%]
test/test_def.py::ScopeTest::test_scope_eleven PASSED                              [ 35%]
test/test_def.py::ScopeTest::test_scope_five PASSED                                [ 35%]
test/test_def.py::ScopeTest::test_scope_four PASSED                                [ 35%]
test/test_def.py::ScopeTest::test_scope_nine PASSED                                [ 35%]
test/test_def.py::ScopeTest::test_scope_one PASSED                                 [ 35%]
test/test_def.py::ScopeTest::test_scope_seven PASSED                               [ 36%]
test/test_def.py::ScopeTest::test_scope_six PASSED                                 [ 36%]
test/test_def.py::ScopeTest::test_scope_ten PASSED                                 [ 36%]
test/test_def.py::ScopeTest::test_scope_two PASSED                                 [ 36%]
test/test_def.py::ScopeTest::test_unbound_scope PASSED                             [ 37%]
test/test_def.py::ScopeTest::test_unbound_scope_two PASSED                         [ 37%]
test/test_def.py::NestedDefTest::test_nested_2 PASSED                              [ 37%]
test/test_def.py::NestedDefTest::test_nested_def PASSED                            [ 37%]
test/test_def.py::NestedDefTest::test_nested_def_2 PASSED                          [ 37%]
test/test_def.py::NestedDefTest::test_nested_nested_def PASSED                     [ 38%]
test/test_def.py::NestedDefTest::test_nested_nested_def_2 PASSED                   [ 38%]
test/test_def.py::NestedDefTest::test_nested_with_args FAILED                      [ 38%]
test/test_def.py::NestedDefTest::test_outer_scope PASSED                           [ 38%]
test/test_def.py::ExceptionTest::test_handler PASSED                               [ 39%]
test/test_def.py::ExceptionTest::test_raise PASSED                                 [ 39%]
test/test_exceptions.py::ExceptionsTest::test_custom_tback FAILED                  [ 39%]
test/test_exceptions.py::ExceptionsTest::test_format_closures FAILED               [ 39%]
test/test_exceptions.py::ExceptionsTest::test_format_exceptions_no_pygments FAILED [ 39%]
test/test_exceptions.py::ExceptionsTest::test_format_exceptions_pygments FAILED    [ 40%]
test/test_exceptions.py::ExceptionsTest::test_html_error_template FAILED           [ 40%]
test/test_exceptions.py::ExceptionsTest::test_py_unicode_error_html_error_template FAILED [ 40%]
test/test_exceptions.py::ExceptionsTest::test_py_utf8_html_error_template FAILED   [ 40%]
test/test_exceptions.py::ExceptionsTest::test_tback_no_trace_from_py_file FAILED   [ 40%]
test/test_exceptions.py::ExceptionsTest::test_tback_trace_from_py_file FAILED      [ 41%]
test/test_exceptions.py::ExceptionsTest::test_text_error_template FAILED           [ 41%]
test/test_exceptions.py::ExceptionsTest::test_utf8_format_exceptions_no_pygments FAILED [ 41%]
test/test_exceptions.py::ExceptionsTest::test_utf8_format_exceptions_pygments FAILED [ 41%]
test/test_exceptions.py::ExceptionsTest::test_utf8_html_error_template_no_pygments FAILED [ 42%]
test/test_exceptions.py::ExceptionsTest::test_utf8_html_error_template_pygments FAILED [ 42%]
test/test_filters.py::FilterTest::test_basic PASSED                                [ 42%]
test/test_filters.py::FilterTest::test_block_via_context PASSED                    [ 42%]
test/test_filters.py::FilterTest::test_builtins PASSED                             [ 42%]
test/test_filters.py::FilterTest::test_convert_str PASSED                          [ 43%]
test/test_filters.py::FilterTest::test_custom_default PASSED                       [ 43%]
test/test_filters.py::FilterTest::test_def PASSED                                  [ 43%]
test/test_filters.py::FilterTest::test_def_via_context PASSED                      [ 43%]
test/test_filters.py::FilterTest::test_encode_filter PASSED                        [ 43%]
test/test_filters.py::FilterTest::test_encode_filter_non_str PASSED                [ 44%]
test/test_filters.py::FilterTest::test_encode_filter_non_str_we_return_bytes SKIPPED [ 44%]
test/test_filters.py::FilterTest::test_entity PASSED                               [ 44%]
test/test_filters.py::FilterTest::test_expr PASSED                                 [ 44%]
test/test_filters.py::FilterTest::test_global PASSED                               [ 45%]
test/test_filters.py::FilterTest::test_import PASSED                               [ 45%]
test/test_filters.py::FilterTest::test_import_2 PASSED                             [ 45%]
test/test_filters.py::FilterTest::test_nflag PASSED                                [ 45%]
test/test_filters.py::FilterTest::test_non_expression PASSED                       [ 45%]
test/test_filters.py::FilterTest::test_quoting PASSED                              [ 46%]
test/test_filters.py::FilterTest::test_quoting_non_unicode SKIPPED                 [ 46%]
test/test_filters.py::FilterTest::test_text_via_context PASSED                     [ 46%]
test/test_filters.py::FilterTest::test_url_escaping PASSED                         [ 46%]
test/test_filters.py::FilterTest::test_url_escaping_non_unicode SKIPPED            [ 46%]
test/test_filters.py::BufferTest::test_buffered_def PASSED                         [ 47%]
test/test_filters.py::BufferTest::test_buffered_exception PASSED                   [ 47%]
test/test_filters.py::BufferTest::test_capture PASSED                              [ 47%]
test/test_filters.py::BufferTest::test_capture_ccall PASSED                        [ 47%]
test/test_filters.py::BufferTest::test_capture_exception PASSED                    [ 48%]
test/test_filters.py::BufferTest::test_unbuffered_def PASSED                       [ 48%]
test/test_inheritance.py::InheritanceTest::test_basic PASSED                       [ 48%]
test/test_inheritance.py::InheritanceTest::test_dynamic PASSED                     [ 48%]
test/test_inheritance.py::InheritanceTest::test_in_call PASSED                     [ 48%]
test/test_inheritance.py::InheritanceTest::test_includes PASSED                    [ 49%]
test/test_inheritance.py::InheritanceTest::test_multilevel_nesting PASSED          [ 49%]
test/test_inheritance.py::InheritanceTest::test_namespaces PASSED                  [ 49%]
test/test_inheritance.py::InheritanceTest::test_pageargs FAILED                    [ 49%]
test/test_inheritance.py::InheritanceTest::test_pageargs_2 FAILED                  [ 50%]
test/test_inheritance.py::InheritanceTest::test_pageargs_err FAILED                [ 50%]
test/test_inheritance.py::InheritanceTest::test_toplevel PASSED                    [ 50%]
test/test_lexer.py::LexerTest::test_code PASSED                                    [ 50%]
test/test_lexer.py::LexerTest::test_code_and_tags PASSED                           [ 50%]
test/test_lexer.py::LexerTest::test_comment_after_statement PASSED                 [ 51%]
test/test_lexer.py::LexerTest::test_comments PASSED                                [ 51%]
test/test_lexer.py::LexerTest::test_control_lines PASSED                           [ 51%]
test/test_lexer.py::LexerTest::test_control_lines_2 PASSED                         [ 51%]
test/test_lexer.py::LexerTest::test_crlf FAILED                                    [ 51%]
test/test_lexer.py::LexerTest::test_def_syntax PASSED                              [ 52%]
test/test_lexer.py::LexerTest::test_def_syntax_2 PASSED                            [ 52%]
test/test_lexer.py::LexerTest::test_docs PASSED                                    [ 52%]
test/test_lexer.py::LexerTest::test_expr_in_attribute PASSED                       [ 52%]
test/test_lexer.py::LexerTest::test_expression PASSED                              [ 53%]
test/test_lexer.py::LexerTest::test_integration PASSED                             [ 53%]
test/test_lexer.py::LexerTest::test_long_control_lines PASSED                      [ 53%]
test/test_lexer.py::LexerTest::test_nesting PASSED                                 [ 53%]
test/test_lexer.py::LexerTest::test_noexpr_allowed PASSED                          [ 53%]
test/test_lexer.py::LexerTest::test_nonexistent_tag PASSED                         [ 54%]
test/test_lexer.py::LexerTest::test_ns_tag_closed PASSED                           [ 54%]
test/test_lexer.py::LexerTest::test_ns_tag_empty PASSED                            [ 54%]
test/test_lexer.py::LexerTest::test_ns_tag_open PASSED                             [ 54%]
test/test_lexer.py::LexerTest::test_old_multiline_comment PASSED                   [ 54%]
test/test_lexer.py::LexerTest::test_onlyclosed_tag PASSED                          [ 55%]
test/test_lexer.py::LexerTest::test_pagetag PASSED                                 [ 55%]
test/test_lexer.py::LexerTest::test_percent_escape PASSED                          [ 55%]
test/test_lexer.py::LexerTest::test_preprocess PASSED                              [ 55%]
test/test_lexer.py::LexerTest::test_ternary_control PASSED                         [ 56%]
test/test_lexer.py::LexerTest::test_text_and_tag PASSED                            [ 56%]
test/test_lexer.py::LexerTest::test_text_tag PASSED                                [ 56%]
test/test_lexer.py::LexerTest::test_tricky_code PASSED                             [ 56%]
test/test_lexer.py::LexerTest::test_tricky_code_2 PASSED                           [ 56%]
test/test_lexer.py::LexerTest::test_tricky_code_3 PASSED                           [ 57%]
test/test_lexer.py::LexerTest::test_tricky_code_4 PASSED                           [ 57%]
test/test_lexer.py::LexerTest::test_tricky_code_5 PASSED                           [ 57%]
test/test_lexer.py::LexerTest::test_tricky_code_6 PASSED                           [ 57%]
test/test_lexer.py::LexerTest::test_tricky_expression PASSED                       [ 57%]
test/test_lexer.py::LexerTest::test_unclosed_tag PASSED                            [ 58%]
test/test_lexer.py::LexerTest::test_unmatched_control PASSED                       [ 58%]
test/test_lexer.py::LexerTest::test_unmatched_control_2 PASSED                     [ 58%]
test/test_lexer.py::LexerTest::test_unmatched_control_3 PASSED                     [ 58%]
test/test_lexer.py::LexerTest::test_unmatched_tag PASSED                           [ 59%]
test/test_lexer.py::LexerTest::test_whitespace_equals PASSED                       [ 59%]
test/test_lexer.py::LexerTest::test_wrongcase_tag PASSED                           [ 59%]
test/test_lookup.py::LookupTest::test_basic PASSED                                 [ 59%]
test/test_lookup.py::LookupTest::test_check_not_found PASSED                       [ 59%]
test/test_lookup.py::LookupTest::test_directory_lookup PASSED                      [ 60%]
test/test_lookup.py::LookupTest::test_dont_accept_relative_outside_of_root PASSED  [ 60%]
test/test_lookup.py::LookupTest::test_no_lookup PASSED                             [ 60%]
test/test_lookup.py::LookupTest::test_subdir PASSED                                [ 60%]
test/test_lookup.py::LookupTest::test_updir PASSED                                 [ 60%]
test/test_lookup.py::LookupTest::test_uri_adjust PASSED                            [ 61%]
test/test_lookup.py::LookupTest::test_uri_cache PASSED                             [ 61%]
test/test_loop.py::TestLoop::test__FOR_LOOP PASSED                                 [ 61%]
test/test_loop.py::TestLoop::test_loop_demo PASSED                                 [ 61%]
test/test_loop.py::TestLoop::test_nested_loops PASSED                              [ 62%]
test/test_loop.py::TestLoop::test_no_loop PASSED                                   [ 62%]
test/test_loop.py::TestLoop::test_out_of_context_access PASSED                     [ 62%]
test/test_loop.py::TestLoop::test_parent_loops PASSED                              [ 62%]
test/test_loop.py::TestLoopStack::test__pop PASSED                                 [ 62%]
test/test_loop.py::TestLoopStack::test__push PASSED                                [ 63%]
test/test_loop.py::TestLoopStack::test__top PASSED                                 [ 63%]
test/test_loop.py::TestLoopStack::test_enter PASSED                                [ 63%]
test/test_loop.py::TestLoopStack::test_exit PASSED                                 [ 63%]
test/test_loop.py::TestLoopContext::test___len__ PASSED                            [ 64%]
test/test_loop.py::TestLoopContext::test_cycle PASSED                              [ 64%]
test/test_loop.py::TestLoopContext::test_even PASSED                               [ 64%]
test/test_loop.py::TestLoopContext::test_first PASSED                              [ 64%]
test/test_loop.py::TestLoopContext::test_index PASSED                              [ 64%]
test/test_loop.py::TestLoopContext::test_last PASSED                               [ 65%]
test/test_loop.py::TestLoopContext::test_odd PASSED                                [ 65%]
test/test_loop.py::TestLoopContext::test_reverse_index PASSED                      [ 65%]
test/test_loop.py::TestLoopFlags::test_loop_disabled_lookup PASSED                 [ 65%]
test/test_loop.py::TestLoopFlags::test_loop_disabled_override_lookup PASSED        [ 65%]
test/test_loop.py::TestLoopFlags::test_loop_disabled_override_template PASSED      [ 66%]
test/test_loop.py::TestLoopFlags::test_loop_disabled_template PASSED               [ 66%]
test/test_loop.py::TestLoopFlags::test_loop_enabled_override_lookup PASSED         [ 66%]
test/test_loop.py::TestLoopFlags::test_loop_enabled_override_template PASSED       [ 66%]
test/test_lru.py::LRUTest::testlru PASSED                                          [ 67%]
test/test_namespace.py::NamespaceTest::test_attr PASSED                            [ 67%]
test/test_namespace.py::NamespaceTest::test_attr_raise PASSED                      [ 67%]
test/test_namespace.py::NamespaceTest::test_ccall PASSED                           [ 67%]
test/test_namespace.py::NamespaceTest::test_ccall_2 PASSED                         [ 67%]
test/test_namespace.py::NamespaceTest::test_ccall_import PASSED                    [ 68%]
test/test_namespace.py::NamespaceTest::test_closure_import PASSED                  [ 68%]
test/test_namespace.py::NamespaceTest::test_context PASSED                         [ 68%]
test/test_namespace.py::NamespaceTest::test_custom_tag_1 PASSED                    [ 68%]
test/test_namespace.py::NamespaceTest::test_custom_tag_2 PASSED                    [ 68%]
test/test_namespace.py::NamespaceTest::test_custom_tag_3 PASSED                    [ 69%]
test/test_namespace.py::NamespaceTest::test_custom_tag_case_sensitive PASSED       [ 69%]
test/test_namespace.py::NamespaceTest::test_dont_pollute_self PASSED               [ 69%]
test/test_namespace.py::NamespaceTest::test_dynamic PASSED                         [ 69%]
test/test_namespace.py::NamespaceTest::test_expr_grouping PASSED                   [ 70%]
test/test_namespace.py::NamespaceTest::test_getattr PASSED                         [ 70%]
test/test_namespace.py::NamespaceTest::test_import PASSED                          [ 70%]
test/test_namespace.py::NamespaceTest::test_import_calledfromdef PASSED            [ 70%]
test/test_namespace.py::NamespaceTest::test_import_local PASSED                    [ 70%]
test/test_namespace.py::NamespaceTest::test_in_def PASSED                          [ 71%]
test/test_namespace.py::NamespaceTest::test_in_remote_def PASSED                   [ 71%]
test/test_namespace.py::NamespaceTest::test_inheritance PASSED                     [ 71%]
test/test_namespace.py::NamespaceTest::test_inheritance_two PASSED                 [ 71%]
test/test_namespace.py::NamespaceTest::test_inline_arguments PASSED                [ 71%]
test/test_namespace.py::NamespaceTest::test_inline_assignment PASSED               [ 72%]
test/test_namespace.py::NamespaceTest::test_inline_crossreference PASSED           [ 72%]
test/test_namespace.py::NamespaceTest::test_inline_not_duped PASSED                [ 72%]
test/test_namespace.py::NamespaceTest::test_module PASSED                          [ 72%]
test/test_namespace.py::NamespaceTest::test_module_2 PASSED                        [ 73%]
test/test_namespace.py::NamespaceTest::test_module_imports PASSED                  [ 73%]
test/test_namespace.py::NamespaceTest::test_module_imports_2 PASSED                [ 73%]
test/test_namespace.py::NamespaceTest::test_overload PASSED                        [ 73%]
test/test_namespace.py::NamespaceTest::test_template PASSED                        [ 73%]
test/test_pygen.py::GeneratePythonTest::test_backslash_line PASSED                 [ 74%]
test/test_pygen.py::GeneratePythonTest::test_false_unindentor PASSED               [ 74%]
test/test_pygen.py::GeneratePythonTest::test_generate_adjusted PASSED              [ 74%]
test/test_pygen.py::GeneratePythonTest::test_generate_combo PASSED                 [ 74%]
test/test_pygen.py::GeneratePythonTest::test_generate_normal PASSED                [ 75%]
test/test_pygen.py::GeneratePythonTest::test_multi_line PASSED                     [ 75%]
test/test_pygen.py::WhitespaceTest::test_basic PASSED                              [ 75%]
test/test_pygen.py::WhitespaceTest::test_blank_lines PASSED                        [ 75%]
test/test_pygen.py::WhitespaceTest::test_open_quotes_with_pound PASSED             [ 75%]
test/test_pygen.py::WhitespaceTest::test_quote_with_comments PASSED                [ 76%]
test/test_pygen.py::WhitespaceTest::test_quotes PASSED                             [ 76%]
test/test_pygen.py::WhitespaceTest::test_quotes_with_pound PASSED                  [ 76%]
test/test_runtime.py::ContextTest::test_locals_kwargs PASSED                       [ 76%]
test/test_template.py::EncodingTest::test_bytestring_passthru SKIPPED              [ 76%]
test/test_template.py::EncodingTest::test_encoding PASSED                          [ 77%]
test/test_template.py::EncodingTest::test_encoding_doesnt_conflict PASSED          [ 77%]
test/test_template.py::EncodingTest::test_encoding_errors PASSED                   [ 77%]
test/test_template.py::EncodingTest::test_escapes_html_tags FAILED                 [ 77%]
test/test_template.py::EncodingTest::test_input_encoding PASSED                    [ 78%]
test/test_template.py::EncodingTest::test_raw_strings PASSED                       [ 78%]
test/test_template.py::EncodingTest::test_read_unicode PASSED                      [ 78%]
test/test_template.py::EncodingTest::test_unicode PASSED                           [ 78%]
test/test_template.py::EncodingTest::test_unicode_arg PASSED                       [ 78%]
test/test_template.py::EncodingTest::test_unicode_bom PASSED                       [ 79%]
test/test_template.py::EncodingTest::test_unicode_file PASSED                      [ 79%]
test/test_template.py::EncodingTest::test_unicode_file_code PASSED                 [ 79%]
test/test_template.py::EncodingTest::test_unicode_file_lookup FAILED               [ 79%]
test/test_template.py::EncodingTest::test_unicode_literal_in_code PASSED           [ 79%]
test/test_template.py::EncodingTest::test_unicode_literal_in_controlline PASSED    [ 80%]
test/test_template.py::EncodingTest::test_unicode_literal_in_def FAILED            [ 80%]
test/test_template.py::EncodingTest::test_unicode_literal_in_expr PASSED           [ 80%]
test/test_template.py::EncodingTest::test_unicode_literal_in_expr_file PASSED      [ 80%]
test/test_template.py::EncodingTest::test_unicode_literal_in_tag PASSED            [ 81%]
test/test_template.py::EncodingTest::test_unicode_memory PASSED                    [ 81%]
test/test_template.py::EncodingTest::test_unicode_text PASSED                      [ 81%]
test/test_template.py::EncodingTest::test_unicode_text_ccall PASSED                [ 81%]
test/test_template.py::PageArgsTest::test_basic FAILED                             [ 81%]
test/test_template.py::PageArgsTest::test_builtin_names_dont_clobber_defaults_in_includes FAILED [ 82%]
test/test_template.py::PageArgsTest::test_canuse_builtin_names PASSED              [ 82%]
test/test_template.py::PageArgsTest::test_context_small PASSED                     [ 82%]
test/test_template.py::PageArgsTest::test_dict_locals PASSED                       [ 82%]
test/test_template.py::PageArgsTest::test_includes PASSED                          [ 82%]
test/test_template.py::PageArgsTest::test_inherits PASSED                          [ 83%]
test/test_template.py::PageArgsTest::test_overrides_builtins PASSED                [ 83%]
test/test_template.py::PageArgsTest::test_with_context FAILED                      [ 83%]
test/test_template.py::IncludeTest::test_basic PASSED                              [ 83%]
test/test_template.py::IncludeTest::test_include_error_handler PASSED              [ 84%]
test/test_template.py::IncludeTest::test_include_withargs PASSED                   [ 84%]
test/test_template.py::IncludeTest::test_localargs PASSED                          [ 84%]
test/test_template.py::IncludeTest::test_viakwargs PASSED                          [ 84%]
test/test_template.py::IncludeTest::test_within_ccall PASSED                       [ 84%]
test/test_template.py::UndefinedVarsTest::test_expression_declared PASSED          [ 85%]
test/test_template.py::UndefinedVarsTest::test_list_comprehensions_plus_undeclared_nonstrict PASSED [ 85%]
test/test_template.py::UndefinedVarsTest::test_list_comprehensions_plus_undeclared_strict PASSED [ 85%]
test/test_template.py::UndefinedVarsTest::test_strict PASSED                       [ 85%]
test/test_template.py::UndefinedVarsTest::test_traditional_assignment_plus_undeclared PASSED [ 85%]
test/test_template.py::UndefinedVarsTest::test_undefined PASSED                    [ 86%]
test/test_template.py::StopRenderingTest::test_return_in_template PASSED           [ 86%]
test/test_template.py::ReservedNameTest::test_exclude_loop_context PASSED          [ 86%]
test/test_template.py::ReservedNameTest::test_exclude_loop_template PASSED         [ 86%]
test/test_template.py::ReservedNameTest::test_names_in_template PASSED             [ 87%]
test/test_template.py::ReservedNameTest::test_names_on_context PASSED              [ 87%]
test/test_template.py::ControlTest::test_blank_control_1 PASSED                    [ 87%]
test/test_template.py::ControlTest::test_blank_control_2 PASSED                    [ 87%]
test/test_template.py::ControlTest::test_blank_control_3 PASSED                    [ 87%]
test/test_template.py::ControlTest::test_blank_control_4 PASSED                    [ 88%]
test/test_template.py::ControlTest::test_blank_control_5 PASSED                    [ 88%]
test/test_template.py::ControlTest::test_blank_control_6 PASSED                    [ 88%]
test/test_template.py::ControlTest::test_blank_control_7 PASSED                    [ 88%]
test/test_template.py::ControlTest::test_blank_control_8 PASSED                    [ 89%]
test/test_template.py::ControlTest::test_commented_blank_control_1 PASSED          [ 89%]
test/test_template.py::ControlTest::test_commented_blank_control_2 PASSED          [ 89%]
test/test_template.py::ControlTest::test_commented_blank_control_3 PASSED          [ 89%]
test/test_template.py::ControlTest::test_commented_blank_control_4 PASSED          [ 89%]
test/test_template.py::ControlTest::test_commented_blank_control_5 PASSED          [ 90%]
test/test_template.py::ControlTest::test_commented_blank_control_6 PASSED          [ 90%]
test/test_template.py::ControlTest::test_commented_blank_control_7 PASSED          [ 90%]
test/test_template.py::ControlTest::test_commented_blank_control_8 PASSED          [ 90%]
test/test_template.py::ControlTest::test_control PASSED                            [ 90%]
test/test_template.py::ControlTest::test_multiline_control PASSED                  [ 91%]
test/test_template.py::GlobalsTest::test_globals PASSED                            [ 91%]
test/test_template.py::RichTracebackTest::test_unicode_file_runtime PASSED         [ 91%]
test/test_template.py::RichTracebackTest::test_unicode_file_syntax PASSED          [ 91%]
test/test_template.py::RichTracebackTest::test_unicode_memory_runtime PASSED       [ 92%]
test/test_template.py::RichTracebackTest::test_unicode_memory_syntax PASSED        [ 92%]
test/test_template.py::RichTracebackTest::test_utf8_file_runtime PASSED            [ 92%]
test/test_template.py::RichTracebackTest::test_utf8_file_syntax PASSED             [ 92%]
test/test_template.py::RichTracebackTest::test_utf8_memory_runtime PASSED          [ 92%]
test/test_template.py::RichTracebackTest::test_utf8_memory_syntax PASSED           [ 93%]
test/test_template.py::ModuleDirTest::test_basic PASSED                            [ 93%]
test/test_template.py::ModuleDirTest::test_callable PASSED                         [ 93%]
test/test_template.py::ModuleDirTest::test_custom_writer PASSED                    [ 93%]
test/test_template.py::FilenameToURITest::test_dont_accept_relative_outside_of_root PASSED [ 93%]
test/test_template.py::FilenameToURITest::test_posix_paths PASSED                  [ 94%]
test/test_template.py::FilenameToURITest::test_windows_paths PASSED                [ 94%]
test/test_template.py::ModuleTemplateTest::test_module_roundtrip PASSED            [ 94%]
test/test_template.py::TestTemplateAPI::test_metadata PASSED                       [ 94%]
test/test_template.py::TestTemplateAPI::test_metadata_two PASSED                   [ 95%]
test/test_template.py::PreprocessTest::test_old_comments PASSED                    [ 95%]
test/test_template.py::LexerTest::test_via_lookup PASSED                           [ 95%]
test/test_template.py::LexerTest::test_via_template PASSED                         [ 95%]
test/test_template.py::FuturesTest::test_future_import PASSED                      [ 95%]
test/test_tgplugin.py::TestTGPlugin::test_basic PASSED                             [ 96%]
test/test_tgplugin.py::TestTGPlugin::test_basic_dot PASSED                         [ 96%]
test/test_tgplugin.py::TestTGPlugin::test_render PASSED                            [ 96%]
test/test_tgplugin.py::TestTGPlugin::test_string PASSED                            [ 96%]
test/test_tgplugin.py::TestTGPlugin::test_subdir PASSED                            [ 96%]
test/test_tgplugin.py::TestTGPlugin::test_subdir_dot PASSED                        [ 97%]
test/test_util.py::UtilTest::test_fast_buffer_encoded PASSED                       [ 97%]
test/test_util.py::UtilTest::test_fast_buffer_truncate PASSED                      [ 97%]
test/test_util.py::UtilTest::test_fast_buffer_write PASSED                         [ 97%]
test/test_util.py::UtilTest::test_load_module PASSED                               [ 98%]
test/test_util.py::UtilTest::test_load_plugin_failure PASSED                       [ 98%]
test/test_util.py::UtilTest::test_read_file PASSED                                 [ 98%]
test/ext/test_babelplugin.py::Test_extract::test_parse_python_expression PASSED    [ 98%]
test/ext/test_babelplugin.py::Test_extract::test_python_gettext_call PASSED        [ 98%]
test/ext/test_babelplugin.py::Test_extract::test_translator_comment PASSED         [ 99%]
test/ext/test_babelplugin.py::ExtractMakoTestCase::test_extract PASSED             [ 99%]
test/ext/test_babelplugin.py::ExtractMakoTestCase::test_extract_cp1251 PASSED      [ 99%]
test/ext/test_babelplugin.py::ExtractMakoTestCase::test_extract_utf8 PASSED        [ 99%]
test/ext/test_linguaplugin.py::ExtractMakoTestCase::test_extract PASSED            [100%]

======================================== FAILURES ========================================
____________________________ AstParseTest.test_argument_list _____________________________
Traceback (most recent call last):
  File ".../mako/test/test_ast.py", line 273, in test_argument_list
    eq_([x for x in parsed.args],
  File ".../mako/test/__init__.py", line 66, in eq_
    assert a == b, msg or "%r != %r" % (a, b)
AssertionError: ['', '', '', '(x + )', 'context.get()'] != ['3', '5', "'hi'", '(x + 5)', "context.get('lala')"]
____________________________ AstParseTest.test_expr_generate _____________________________
Traceback (most recent call last):
  File ".../mako/test/test_ast.py", line 327, in test_expr_generate
    eq_(eval(code, local_dict), eval(newcode, local_dict))
  File "<string>", line 1
    (str(((x + ( * y)) / foo.bar(, ))) + lala())
                                 ^
SyntaxError: invalid syntax
________________________ CacheTest.test_dynamic_key_with_funcargs ________________________
Traceback (most recent call last):
  File ".../mako/test/test_cache.py", line 216, in test_dynamic_key_with_funcargs
    t = Template("""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc497670", line 20
    def foo(num=):
                ^
SyntaxError: invalid syntax
_____________________ BeakerCacheTest.test_dynamic_key_with_funcargs _____________________
Traceback (most recent call last):
  File ".../mako/test/test_cache.py", line 216, in test_dynamic_key_with_funcargs
    t = Template("""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc4bfdc0", line 20
    def foo(num=):
                ^
SyntaxError: invalid syntax
____________________ DogpileCacheTest.test_dynamic_key_with_funcargs _____________________
Traceback (most recent call last):
  File ".../mako/test/test_cache.py", line 216, in test_dynamic_key_with_funcargs
    t = Template("""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc48e100", line 20
    def foo(num=):
                ^
SyntaxError: invalid syntax
________________________________ CmdTest.test_file_rt_err ________________________________
Traceback (most recent call last):
  File ".../mako/mako/cmd.py", line 67, in cmdline
    sys.stdout.write(template.render(**kw))
  File ".../mako/mako/template.py", line 462, in render
    return runtime._render(self, self.callable_, args, data)
  File ".../mako/mako/runtime.py", line 837, in _render
    _render_context(template, callable_, context, *args,
  File ".../mako/mako/runtime.py", line 873, in _render_context
    _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
  File ".../mako/mako/runtime.py", line 899, in _exec_template
    callable_(context, *args, **kwargs)
  File "_home_churchyard_Dokumenty_RedHat_mako_test_templates_cmd_runtime_mako", line 21, in render_body
  File ".../mako/mako/runtime.py", line 226, in __str__
    raise NameError("Undefined")
NameError: Undefined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../mako/test/test_cmd.py", line 62, in test_file_rt_err
    cmdline(["--var", "x=5",
  File ".../mako/mako/cmd.py", line 69, in cmdline
    _exit()
  File ".../mako/mako/cmd.py", line 21, in _exit
    sys.stderr.write(exceptions.text_error_template().render())
  File ".../mako/mako/exceptions.py", line 236, in text_error_template
    return mako.template.Template(r"""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc367cd0", line 19
    def render_body(context,error=,traceback=,**pageargs):
                                  ^
SyntaxError: invalid syntax
______________________________ CmdTest.test_file_syntax_err ______________________________
Traceback (most recent call last):
  File ".../mako/mako/cmd.py", line 61, in cmdline
    template = Template(filename=filename, lookup=lookup, output_encoding=output_encoding)
  File ".../mako/mako/template.py", line 338, in __init__
    module = self._compile_from_file(path, filename)
  File ".../mako/mako/template.py", line 413, in _compile_from_file
    code, module = _compile_text(
  File ".../mako/mako/template.py", line 704, in _compile_text
    source, lexer = _compile(template, text, filename,
  File ".../mako/mako/template.py", line 685, in _compile
    node = lexer.parse()
  File ".../mako/mako/lexer.py", line 241, in parse
    if self.match_expression():
  File ".../mako/mako/lexer.py", line 393, in match_expression
    text, end = self.parse_until_text(True, r'\|', r'}')
  File ".../mako/mako/lexer.py", line 130, in parse_until_text
    raise exceptions.SyntaxException(
mako.exceptions.SyntaxException: Expected: \|,} in file '.../mako/test/templates/cmd_syntax.mako' at line: 1 char: 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../mako/test/test_cmd.py", line 53, in test_file_syntax_err
    cmdline(["--var", "x=5",
  File ".../mako/mako/cmd.py", line 63, in cmdline
    _exit()
  File ".../mako/mako/cmd.py", line 21, in _exit
    sys.stderr.write(exceptions.text_error_template().render())
  File ".../mako/mako/exceptions.py", line 236, in text_error_template
    return mako.template.Template(r"""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc319490", line 19
    def render_body(context,error=,traceback=,**pageargs):
                                  ^
SyntaxError: invalid syntax
_______________________________ CmdTest.test_stdin_rt_err ________________________________
Traceback (most recent call last):
  File ".../mako/mako/cmd.py", line 67, in cmdline
    sys.stdout.write(template.render(**kw))
  File ".../mako/mako/template.py", line 462, in render
    return runtime._render(self, self.callable_, args, data)
  File ".../mako/mako/runtime.py", line 837, in _render
    _render_context(template, callable_, context, *args,
  File ".../mako/mako/runtime.py", line 873, in _render_context
    _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
  File ".../mako/mako/runtime.py", line 899, in _exec_template
    callable_(context, *args, **kwargs)
  File "memory:0x7fbfbc338cd0", line 21, in render_body
  File ".../mako/mako/runtime.py", line 226, in __str__
    raise NameError("Undefined")
NameError: Undefined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../mako/test/test_cmd.py", line 38, in test_stdin_rt_err
    cmdline(["--var", "x=5", "-"])
  File ".../mako/mako/cmd.py", line 69, in cmdline
    _exit()
  File ".../mako/mako/cmd.py", line 21, in _exit
    sys.stderr.write(exceptions.text_error_template().render())
  File ".../mako/mako/exceptions.py", line 236, in text_error_template
    return mako.template.Template(r"""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc33d370", line 19
    def render_body(context,error=,traceback=,**pageargs):
                                  ^
SyntaxError: invalid syntax
_____________________________ CmdTest.test_stdin_syntax_err ______________________________
Traceback (most recent call last):
  File ".../mako/mako/cmd.py", line 51, in cmdline
    template = Template(sys.stdin.read(), lookup=lookup, output_encoding=output_encoding)
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 704, in _compile_text
    source, lexer = _compile(template, text, filename,
  File ".../mako/mako/template.py", line 685, in _compile
    node = lexer.parse()
  File ".../mako/mako/lexer.py", line 241, in parse
    if self.match_expression():
  File ".../mako/mako/lexer.py", line 393, in match_expression
    text, end = self.parse_until_text(True, r'\|', r'}')
  File ".../mako/mako/lexer.py", line 130, in parse_until_text
    raise exceptions.SyntaxException(
mako.exceptions.SyntaxException: Expected: \|,} at line: 1 char: 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../mako/test/test_cmd.py", line 26, in test_stdin_syntax_err
    cmdline(["--var", "x=5", "-"])
  File ".../mako/mako/cmd.py", line 53, in cmdline
    _exit()
  File ".../mako/mako/cmd.py", line 21, in _exit
    sys.stderr.write(exceptions.text_error_template().render())
  File ".../mako/mako/exceptions.py", line 236, in text_error_template
    return mako.template.Template(r"""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc2d0910", line 19
    def render_body(context,error=,traceback=,**pageargs):
                                  ^
SyntaxError: invalid syntax
_______________________________ DefTest.test_def_py3k_args _______________________________
Traceback (most recent call last):
  File ".../mako/test/test_def.py", line 50, in test_def_py3k_args
    template = Template("""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc2e34c0", line 19
    def kwonly(one,two,*three,four,five=,**six):
                                        ^
SyntaxError: invalid syntax
__________________________ NestedDefTest.test_nested_with_args ___________________________
Traceback (most recent call last):
  File ".../mako/test/test_def.py", line 585, in test_nested_with_args
    t = Template("""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc2eddc0", line 34
    def b(x,y=):
              ^
SyntaxError: invalid syntax
____________________________ ExceptionsTest.test_custom_tback ____________________________
Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 255, in test_custom_tback
    raise RuntimeError("error 2")
RuntimeError: error 2

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 257, in test_custom_tback
    html_error = exceptions.html_error_template().\
  File ".../mako/mako/exceptions.py", line 290, in html_error_template
    return mako.template.Template(r"""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc2ed5e0", line 20
    def render_body(context,full=,css=,error=,traceback=,**pageargs):
                                 ^
SyntaxError: invalid syntax
__________________________ ExceptionsTest.test_format_closures ___________________________
Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 151, in test_format_closures
    foo()
NameError: name 'foo' is not defined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 153, in test_format_closures
    html_error = exceptions.html_error_template().render()
  File ".../mako/mako/exceptions.py", line 290, in html_error_template
    return mako.template.Template(r"""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc4a52b0", line 20
    def render_body(context,full=,css=,error=,traceback=,**pageargs):
                                 ^
SyntaxError: invalid syntax
___________________ ExceptionsTest.test_format_exceptions_no_pygments ____________________
Traceback (most recent call last):
  File ".../mako/mako/runtime.py", line 892, in _exec_template
    callable_(context, *args, **kwargs)
  File "base_html", line 22, in render_body
  File "foo_html", line 34, in render_body
  File ".../mako/mako/runtime.py", line 226, in __str__
    raise NameError("Undefined")
NameError: Undefined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 205, in test_format_exceptions_no_pygments
    assert '<div class="sourceline">${foobar}</div>' in \
  File ".../mako/mako/template.py", line 467, in render_unicode
    return runtime._render(self,
  File ".../mako/mako/runtime.py", line 837, in _render
    _render_context(template, callable_, context, *args,
  File ".../mako/mako/runtime.py", line 873, in _render_context
    _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
  File ".../mako/mako/runtime.py", line 894, in _exec_template
    _render_error(template, context, compat.exception_as())
  File ".../mako/mako/runtime.py", line 908, in _render_error
    error_template = exceptions.html_error_template()
  File ".../mako/mako/exceptions.py", line 290, in html_error_template
    return mako.template.Template(r"""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc2e3220", line 20
    def render_body(context,full=,css=,error=,traceback=,**pageargs):
                                 ^
SyntaxError: invalid syntax
_____________________ ExceptionsTest.test_format_exceptions_pygments _____________________
Traceback (most recent call last):
  File ".../mako/mako/runtime.py", line 892, in _exec_template
    callable_(context, *args, **kwargs)
  File "base_html", line 22, in render_body
  File "foo_html", line 34, in render_body
  File ".../mako/mako/runtime.py", line 226, in __str__
    raise NameError("Undefined")
NameError: Undefined

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 189, in test_format_exceptions_pygments
    assert '<div class="sourceline"><table class="syntax-highlightedtable">' in \
  File ".../mako/mako/template.py", line 467, in render_unicode
    return runtime._render(self,
  File ".../mako/mako/runtime.py", line 837, in _render
    _render_context(template, callable_, context, *args,
  File ".../mako/mako/runtime.py", line 873, in _render_context
    _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
  File ".../mako/mako/runtime.py", line 894, in _exec_template
    _render_error(template, context, compat.exception_as())
  File ".../mako/mako/runtime.py", line 908, in _render_error
    error_template = exceptions.html_error_template()
  File ".../mako/mako/exceptions.py", line 290, in html_error_template
    return mako.template.Template(r"""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc3597f0", line 20
    def render_body(context,full=,css=,error=,traceback=,**pageargs):
                                 ^
SyntaxError: invalid syntax
________________________ ExceptionsTest.test_html_error_template _________________________
Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 19, in test_html_error_template
    template = Template(code)
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 704, in _compile_text
    source, lexer = _compile(template, text, filename,
  File ".../mako/mako/template.py", line 685, in _compile
    node = lexer.parse()
  File ".../mako/mako/lexer.py", line 243, in parse
    if self.match_control_line():
  File ".../mako/mako/lexer.py", line 435, in match_control_line
    self.append_node(parsetree.ControlLine, keyword, isend, text)
  File ".../mako/mako/lexer.py", line 140, in append_node
    node = nodecls(*args, **kwargs)
  File ".../mako/mako/parsetree.py", line 83, in __init__
    code = ast.PythonFragment(text, **self.exception_kwargs)
  File ".../mako/mako/ast.py", line 85, in __init__
    raise exceptions.CompileException(
mako.exceptions.CompileException: Fragment 'i = 0' is not a partial control statement at line: 2 char: 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 23, in test_html_error_template
    html_error = exceptions.html_error_template().render_unicode()
  File ".../mako/mako/exceptions.py", line 290, in html_error_template
    return mako.template.Template(r"""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc33d640", line 20
    def render_body(context,full=,css=,error=,traceback=,**pageargs):
                                 ^
SyntaxError: invalid syntax
________________ ExceptionsTest.test_py_unicode_error_html_error_template ________________
Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 171, in test_py_unicode_error_html_error_template
    raise RuntimeError(u('日本'))
RuntimeError: 日本

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 173, in test_py_unicode_error_html_error_template
    html_error = exceptions.html_error_template().render()
  File ".../mako/mako/exceptions.py", line 290, in html_error_template
    return mako.template.Template(r"""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc338370", line 20
    def render_body(context,full=,css=,error=,traceback=,**pageargs):
                                 ^
SyntaxError: invalid syntax
____________________ ExceptionsTest.test_py_utf8_html_error_template _____________________
Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 159, in test_py_utf8_html_error_template
    raise RuntimeError('test')
RuntimeError: test

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 161, in test_py_utf8_html_error_template
    html_error = exceptions.html_error_template().render()
  File ".../mako/mako/exceptions.py", line 290, in html_error_template
    return mako.template.Template(r"""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc30c6d0", line 20
    def render_body(context,full=,css=,error=,traceback=,**pageargs):
                                 ^
SyntaxError: invalid syntax
____________________ ExceptionsTest.test_tback_no_trace_from_py_file _____________________
Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 276, in test_tback_no_trace_from_py_file
    html_error = exceptions.html_error_template().\
  File ".../mako/mako/exceptions.py", line 290, in html_error_template
    return mako.template.Template(r"""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc313970", line 20
    def render_body(context,full=,css=,error=,traceback=,**pageargs):
                                 ^
SyntaxError: invalid syntax
______________________ ExceptionsTest.test_tback_trace_from_py_file ______________________
Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 283, in test_tback_trace_from_py_file
    t.render()
  File ".../mako/mako/template.py", line 462, in render
    return runtime._render(self, self.callable_, args, data)
  File ".../mako/mako/runtime.py", line 837, in _render
    _render_context(template, callable_, context, *args,
  File ".../mako/mako/runtime.py", line 873, in _render_context
    _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
  File ".../mako/mako/runtime.py", line 899, in _exec_template
    callable_(context, *args, **kwargs)
  File ".../mako/test/templates/modules/runtimeerr.html.py", line 22, in render_body
    print(y)
UnboundLocalError: local variable 'y' referenced before assignment

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 286, in test_tback_trace_from_py_file
    html_error = exceptions.html_error_template().\
  File ".../mako/mako/exceptions.py", line 290, in html_error_template
    return mako.template.Template(r"""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc30cdf0", line 20
    def render_body(context,full=,css=,error=,traceback=,**pageargs):
                                 ^
SyntaxError: invalid syntax
________________________ ExceptionsTest.test_text_error_template _________________________
Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 48, in test_text_error_template
    template = Template(code)
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 704, in _compile_text
    source, lexer = _compile(template, text, filename,
  File ".../mako/mako/template.py", line 685, in _compile
    node = lexer.parse()
  File ".../mako/mako/lexer.py", line 243, in parse
    if self.match_control_line():
  File ".../mako/mako/lexer.py", line 435, in match_control_line
    self.append_node(parsetree.ControlLine, keyword, isend, text)
  File ".../mako/mako/lexer.py", line 140, in append_node
    node = nodecls(*args, **kwargs)
  File ".../mako/mako/parsetree.py", line 83, in __init__
    code = ast.PythonFragment(text, **self.exception_kwargs)
  File ".../mako/mako/ast.py", line 85, in __init__
    raise exceptions.CompileException(
mako.exceptions.CompileException: Fragment 'i = 0' is not a partial control statement at line: 2 char: 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 52, in test_text_error_template
    text_error = exceptions.text_error_template().render_unicode()
  File ".../mako/mako/exceptions.py", line 236, in text_error_template
    return mako.template.Template(r"""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc313b80", line 19
    def render_body(context,error=,traceback=,**pageargs):
                                  ^
SyntaxError: invalid syntax
_________________ ExceptionsTest.test_utf8_format_exceptions_no_pygments _________________
Traceback (most recent call last):
  File ".../mako/mako/runtime.py", line 892, in _exec_template
    callable_(context, *args, **kwargs)
  File "foo_html", line 21, in render_body
TypeError: can only concatenate str (not "Undefined") to str

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 239, in test_utf8_format_exceptions_no_pygments
    assert '<div class="sourceline">${&#39;привет&#39; + foobar}</div>'\
  File ".../mako/mako/template.py", line 462, in render
    return runtime._render(self, self.callable_, args, data)
  File ".../mako/mako/runtime.py", line 837, in _render
    _render_context(template, callable_, context, *args,
  File ".../mako/mako/runtime.py", line 873, in _render_context
    _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
  File ".../mako/mako/runtime.py", line 894, in _exec_template
    _render_error(template, context, compat.exception_as())
  File ".../mako/mako/runtime.py", line 908, in _render_error
    error_template = exceptions.html_error_template()
  File ".../mako/mako/exceptions.py", line 290, in html_error_template
    return mako.template.Template(r"""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc3135b0", line 20
    def render_body(context,full=,css=,error=,traceback=,**pageargs):
                                 ^
SyntaxError: invalid syntax
__________________ ExceptionsTest.test_utf8_format_exceptions_pygments ___________________
Traceback (most recent call last):
  File ".../mako/mako/runtime.py", line 892, in _exec_template
    callable_(context, *args, **kwargs)
  File "foo_html", line 21, in render_body
TypeError: can only concatenate str (not "Undefined") to str

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 220, in test_utf8_format_exceptions_pygments
    assert '&#39;привет&#39;</span>' in \
  File ".../mako/mako/template.py", line 462, in render
    return runtime._render(self, self.callable_, args, data)
  File ".../mako/mako/runtime.py", line 837, in _render
    _render_context(template, callable_, context, *args,
  File ".../mako/mako/runtime.py", line 873, in _render_context
    _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
  File ".../mako/mako/runtime.py", line 894, in _exec_template
    _render_error(template, context, compat.exception_as())
  File ".../mako/mako/runtime.py", line 908, in _render_error
    error_template = exceptions.html_error_template()
  File ".../mako/mako/exceptions.py", line 290, in html_error_template
    return mako.template.Template(r"""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc4a52b0", line 20
    def render_body(context,full=,css=,error=,traceback=,**pageargs):
                                 ^
SyntaxError: invalid syntax
________________ ExceptionsTest.test_utf8_html_error_template_no_pygments ________________
Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 121, in test_utf8_html_error_template_no_pygments
    template = Template(code)
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 704, in _compile_text
    source, lexer = _compile(template, text, filename,
  File ".../mako/mako/template.py", line 685, in _compile
    node = lexer.parse()
  File ".../mako/mako/lexer.py", line 243, in parse
    if self.match_control_line():
  File ".../mako/mako/lexer.py", line 435, in match_control_line
    self.append_node(parsetree.ControlLine, keyword, isend, text)
  File ".../mako/mako/lexer.py", line 140, in append_node
    node = nodecls(*args, **kwargs)
  File ".../mako/mako/parsetree.py", line 83, in __init__
    code = ast.PythonFragment(text, **self.exception_kwargs)
  File ".../mako/mako/ast.py", line 85, in __init__
    raise exceptions.CompileException(
mako.exceptions.CompileException: Fragment 'if 2 == 2: /an error' is not a partial control statement at line: 2 char: 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 124, in test_utf8_html_error_template_no_pygments
    html_error = exceptions.html_error_template().render()
  File ".../mako/mako/exceptions.py", line 290, in html_error_template
    return mako.template.Template(r"""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc2c1040", line 20
    def render_body(context,full=,css=,error=,traceback=,**pageargs):
                                 ^
SyntaxError: invalid syntax
_________________ ExceptionsTest.test_utf8_html_error_template_pygments __________________
Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 75, in test_utf8_html_error_template_pygments
    template = Template(code)
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 704, in _compile_text
    source, lexer = _compile(template, text, filename,
  File ".../mako/mako/template.py", line 685, in _compile
    node = lexer.parse()
  File ".../mako/mako/lexer.py", line 243, in parse
    if self.match_control_line():
  File ".../mako/mako/lexer.py", line 435, in match_control_line
    self.append_node(parsetree.ControlLine, keyword, isend, text)
  File ".../mako/mako/lexer.py", line 140, in append_node
    node = nodecls(*args, **kwargs)
  File ".../mako/mako/parsetree.py", line 83, in __init__
    code = ast.PythonFragment(text, **self.exception_kwargs)
  File ".../mako/mako/ast.py", line 85, in __init__
    raise exceptions.CompileException(
mako.exceptions.CompileException: Fragment 'if 2 == 2: /an error' is not a partial control statement at line: 2 char: 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../mako/test/test_exceptions.py", line 78, in test_utf8_html_error_template_pygments
    html_error = exceptions.html_error_template().render()
  File ".../mako/mako/exceptions.py", line 290, in html_error_template
    return mako.template.Template(r"""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc2eda90", line 20
    def render_body(context,full=,css=,error=,traceback=,**pageargs):
                                 ^
SyntaxError: invalid syntax
_____________________________ InheritanceTest.test_pageargs ______________________________
Traceback (most recent call last):
  File ".../mako/test/test_inheritance.py", line 199, in test_pageargs
    collection.put_string("index", """
  File ".../mako/mako/lookup.py", line 357, in put_string
    self._collection[uri] = Template(
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "index", line 26
    def render_body(context,x,y,z=,**pageargs):
                                  ^
SyntaxError: invalid syntax
____________________________ InheritanceTest.test_pageargs_2 _____________________________
Traceback (most recent call last):
  File ".../mako/test/test_inheritance.py", line 236, in test_pageargs_2
    collection.put_string("index", """
  File ".../mako/mako/lookup.py", line 357, in put_string
    self._collection[uri] = Template(
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "index", line 26
    def render_body(context,x,y,z=,**pageargs):
                                  ^
SyntaxError: invalid syntax
___________________________ InheritanceTest.test_pageargs_err ____________________________
Traceback (most recent call last):
  File ".../mako/test/test_inheritance.py", line 254, in test_pageargs_err
    collection.put_string("index", """
  File ".../mako/mako/lookup.py", line 357, in put_string
    self._collection[uri] = Template(
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "index", line 26
    def render_body(context,x,y,z=,**pageargs):
                                  ^
SyntaxError: invalid syntax
__________________________________ LexerTest.test_crlf ___________________________________
Traceback (most recent call last):
  File ".../mako/test/test_lexer.py", line 820, in test_crlf
    assert flatten_result(Template(template).render()) \
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc3531f0", line 15
    def render_body(context,a=[, ],**pageargs):
                               ^
SyntaxError: invalid syntax
__________________________ EncodingTest.test_escapes_html_tags ___________________________
Traceback (most recent call last):
  File ".../mako/test/test_template.py", line 36, in test_escapes_html_tags
    x.render()
  File ".../mako/mako/template.py", line 462, in render
    return runtime._render(self, self.callable_, args, data)
  File ".../mako/mako/runtime.py", line 837, in _render
    _render_context(template, callable_, context, *args,
  File ".../mako/mako/runtime.py", line 873, in _render_context
    _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
  File ".../mako/mako/runtime.py", line 899, in _exec_template
    callable_(context, *args, **kwargs)
  File "memory:0x7fbfbc33d700", line 22, in render_body
Exception: <span style="color:red">Foobar</span>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../mako/test/test_template.py", line 39, in test_escapes_html_tags
    markup = html_error_template().render(full=False, css=False)
  File ".../mako/mako/exceptions.py", line 290, in html_error_template
    return mako.template.Template(r"""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc33dd60", line 20
    def render_body(context,full=,css=,error=,traceback=,**pageargs):
                                 ^
SyntaxError: invalid syntax
_________________________ EncodingTest.test_unicode_file_lookup __________________________
Traceback (most recent call last):
  File ".../mako/mako/lookup.py", line 247, in get_template
    return self._check(uri, self._collection[uri])
KeyError: '/chs_unicode_py3k.html'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".../mako/test/test_template.py", line 92, in test_unicode_file_lookup
    template = lookup.get_template('/chs_unicode_py3k.html')
  File ".../mako/mako/lookup.py", line 258, in get_template
    return self._load(srcfile, uri)
  File ".../mako/mako/lookup.py", line 318, in _load
    self._collection[uri] = template = Template(
  File ".../mako/mako/template.py", line 338, in __init__
    module = self._compile_from_file(path, filename)
  File ".../mako/mako/template.py", line 413, in _compile_from_file
    code, module = _compile_text(
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "_chs_unicode_py3k_html", line 19
    def welcome(who,place=):
                          ^
SyntaxError: invalid syntax
________________________ EncodingTest.test_unicode_literal_in_def ________________________
Traceback (most recent call last):
  File ".../mako/test/test_template.py", line 257, in test_unicode_literal_in_def
    self._do_memory_test(
  File ".../mako/test/__init__.py", line 47, in _do_memory_test
    t1 = Template(text=source, **kw)
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc33d280", line 19
    def hello(foo=,bar=):
                  ^
SyntaxError: invalid syntax
________________________________ PageArgsTest.test_basic _________________________________
Traceback (most recent call last):
  File ".../mako/test/test_template.py", line 426, in test_basic
    template = Template("""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc4780a0", line 15
    def render_body(context,x,y,z=,**pageargs):
                                  ^
SyntaxError: invalid syntax
___________ PageArgsTest.test_builtin_names_dont_clobber_defaults_in_includes ____________
Traceback (most recent call last):
  File ".../mako/test/test_template.py", line 526, in test_builtin_names_dont_clobber_defaults_in_includes
    lookup.put_string("test1.mako", """
  File ".../mako/mako/lookup.py", line 357, in put_string
    self._collection[uri] = Template(
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "test1_mako", line 15
    def render_body(context,id=,**pageargs):
                               ^
SyntaxError: invalid syntax
_____________________________ PageArgsTest.test_with_context _____________________________
Traceback (most recent call last):
  File ".../mako/test/test_template.py", line 494, in test_with_context
    template = Template("""
  File ".../mako/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../mako/mako/template.py", line 711, in _compile_text
    code = compile(source, cid, 'exec')
  File "memory:0x7fbfbc3122b0", line 15
    def render_body(context,x,y,z=,**pageargs):
                                  ^
SyntaxError: invalid syntax
==================================== warnings summary ====================================
.tox/py38/lib/python3.8/site-packages/babel/localedata.py:17
  .../mako/.tox/py38/lib/python3.8/site-packages/babel/localedata.py:17: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
    from collections import MutableMapping

-- Docs: https://docs.pytest.org/en/latest/warnings.html
================================ short test summary info =================================
FAILED test/test_ast.py::AstParseTest::test_argument_list
FAILED test/test_ast.py::AstParseTest::test_expr_generate
FAILED test/test_cache.py::CacheTest::test_dynamic_key_with_funcargs
FAILED test/test_cache.py::BeakerCacheTest::test_dynamic_key_with_funcargs
FAILED test/test_cache.py::DogpileCacheTest::test_dynamic_key_with_funcargs
FAILED test/test_cmd.py::CmdTest::test_file_rt_err
FAILED test/test_cmd.py::CmdTest::test_file_syntax_err
FAILED test/test_cmd.py::CmdTest::test_stdin_rt_err
FAILED test/test_cmd.py::CmdTest::test_stdin_syntax_err
FAILED test/test_def.py::DefTest::test_def_py3k_args
FAILED test/test_def.py::NestedDefTest::test_nested_with_args
FAILED test/test_exceptions.py::ExceptionsTest::test_custom_tback
FAILED test/test_exceptions.py::ExceptionsTest::test_format_closures
FAILED test/test_exceptions.py::ExceptionsTest::test_format_exceptions_no_pygments
FAILED test/test_exceptions.py::ExceptionsTest::test_format_exceptions_pygments
FAILED test/test_exceptions.py::ExceptionsTest::test_html_error_template
FAILED test/test_exceptions.py::ExceptionsTest::test_py_unicode_error_html_error_template
FAILED test/test_exceptions.py::ExceptionsTest::test_py_utf8_html_error_template
FAILED test/test_exceptions.py::ExceptionsTest::test_tback_no_trace_from_py_file
FAILED test/test_exceptions.py::ExceptionsTest::test_tback_trace_from_py_file
FAILED test/test_exceptions.py::ExceptionsTest::test_text_error_template
FAILED test/test_exceptions.py::ExceptionsTest::test_utf8_format_exceptions_no_pygments
FAILED test/test_exceptions.py::ExceptionsTest::test_utf8_format_exceptions_pygments
FAILED test/test_exceptions.py::ExceptionsTest::test_utf8_html_error_template_no_pygments
FAILED test/test_exceptions.py::ExceptionsTest::test_utf8_html_error_template_pygments
FAILED test/test_inheritance.py::InheritanceTest::test_pageargs
FAILED test/test_inheritance.py::InheritanceTest::test_pageargs_2
FAILED test/test_inheritance.py::InheritanceTest::test_pageargs_err
FAILED test/test_lexer.py::LexerTest::test_crlf
FAILED test/test_template.py::EncodingTest::test_escapes_html_tags
FAILED test/test_template.py::EncodingTest::test_unicode_file_lookup
FAILED test/test_template.py::EncodingTest::test_unicode_literal_in_def
FAILED test/test_template.py::PageArgsTest::test_basic
FAILED test/test_template.py::PageArgsTest::test_builtin_names_dont_clobber_defaults_in_includes
FAILED test/test_template.py::PageArgsTest::test_with_context
============= 35 failed, 424 passed, 5 skipped, 1 warnings in 11.02 seconds ==============
ERROR: InvocationError for command '.../mako/.tox/py38/bin/py.test' (exited with code 1)
________________________________________ summary _________________________________________
ERROR:   py38: commands failed

Most of the failures are some kind of SyntaxError:

    def render_body(context,error=,traceback=,**pageargs):
                                  ^
SyntaxError: invalid syntax

    def kwonly(one,two,*three,four,five=,**six):
                                        ^
SyntaxError: invalid syntax

    def b(x,y=):
              ^
SyntaxError: invalid syntax

Seems like some values are missing in the rendered code, but I really have no idea.

@sqla-tester
Copy link
Collaborator

Mike Bayer has proposed a fix for this issue in the master branch:

Add Constant to _ast_util https://gerrit.sqlalchemy.org/1172

@zzzeek
Copy link
Member

zzzeek commented Mar 20, 2019

I won't have pythron 3.8 in my CI environment just yet so if you can confirm the above patch works on your end as well (solves the problem here) that would be of value.

@hroncok
Copy link
Contributor Author

hroncok commented Mar 20, 2019

Tests pass with the patch, thanks!

@hroncok
Copy link
Contributor Author

hroncok commented Apr 11, 2019

Note that now we get Pylons/pyramid_mako#47:

Traceback (most recent call last):
  File ".../pyramid_mako/pyramid_mako/tests.py", line 364, in test_call_render_raises
    instance({}, {})
  File ".../pyramid_mako/pyramid_mako/__init__.py", line 152, in __call__
    errtext = text_error_template().render(
  File ".../pyramid_mako/.tox/py38/lib/python3.8/site-packages/mako/exceptions.py", line 236, in text_error_template
    return mako.template.Template(r"""
  File ".../pyramid_mako/.tox/py38/lib/python3.8/site-packages/mako/template.py", line 320, in __init__
    (code, module) = _compile_text(self, text, filename)
  File ".../pyramid_mako/.tox/py38/lib/python3.8/site-packages/mako/template.py", line 704, in _compile_text
    source, lexer = _compile(template, text, filename,
  File ".../pyramid_mako/.tox/py38/lib/python3.8/site-packages/mako/template.py", line 686, in _compile
    source = codegen.compile(node,
  File ".../pyramid_mako/.tox/py38/lib/python3.8/site-packages/mako/codegen.py", line 52, in compile
    _GenerateRenderMethod(printer,
  File ".../pyramid_mako/.tox/py38/lib/python3.8/site-packages/mako/codegen.py", line 127, in __init__
    args = pagetag.body_decl.get_argument_expressions()
  File ".../pyramid_mako/.tox/py38/lib/python3.8/site-packages/mako/ast.py", line 175, in get_argument_expressions
    name, pyparser.ExpressionGenerator(default).value()))
  File ".../pyramid_mako/.tox/py38/lib/python3.8/site-packages/mako/pyparser.py", line 230, in __init__
    self.generator.visit(astnode)
  File ".../pyramid_mako/.tox/py38/lib/python3.8/site-packages/mako/_ast_util.py", line 279, in visit
    return f(node)
  File ".../pyramid_mako/.tox/py38/lib/python3.8/site-packages/mako/_ast_util.py", line 685, in visit_Constant
    self.write(repr(node.n))
AttributeError: 'Constant' object has no attribute 'n'

@hroncok
Copy link
Contributor Author

hroncok commented Apr 11, 2019

So apparently, the Constant object can has different attributes.

python/cpython#9445

This mentions that:

Class ast.Constant is now used for all constants. Old classes ast.Num, ast.Str, ast.Bytes, ast.NameConstant and ast.Ellipsis are still available, but they will be removed in future Python releases.

But in Mako, the following attributes are used:

  • NameConstant: node.value
  • Str: node.s
  • Bytes: node.s
  • Num: node.n

Now, the fix adds:

  • Constant: node.n

But that only fixes it for the tested case. In fact, for pyramid-mako, node.value fixes the tested case.

I am not familiar with the _ast classes, but I think either there must be other attribute, or some kind of trial and error must be used instead.

@hroncok
Copy link
Contributor Author

hroncok commented Apr 11, 2019

According to the Python code in that PR, I think that the proper thing to use is value.
However n and s should get/set the same...

@hroncok
Copy link
Contributor Author

hroncok commented Apr 11, 2019

Ok, so this works:

>>> import ast
>>> c = ast.Constant('a')
>>> c.value
'a'
>>> c.n
'a'
>>> c.s
'a'

But this doesn't:

>>> import _ast
>>> c = _ast.Constant('a')
>>> c.value
'a'
>>> c.n
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Constant' object has no attribute 'n'
>>> c.s
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Constant' object has no attribute 's'

hroncok added a commit to hroncok/mako that referenced this issue Apr 11, 2019
Since Python 3.8, class ast.Constant is used for all constants.
Old classes ast.Num, ast.Str, ast.Bytes, ast.NameConstant and
ast.Ellipsis are still available, but they will be removed in
future Python releases.

Constants have values, but not always ns.

See sqlalchemy#287 (comment)
See python/cpython#9445
Fixes Pylons/pyramid_mako#47
@hroncok
Copy link
Contributor Author

hroncok commented Apr 11, 2019

#292

@zzzeek
Copy link
Member

zzzeek commented Apr 11, 2019

yeah but need a test. basically visit_Str, visit_Bytes, visit_Num are no longer called in 3.8. ill have one momentaily

@zzzeek
Copy link
Member

zzzeek commented Apr 11, 2019

this is weird:

$ .venv/bin/python3
Python 3.8.0a2 (default, Mar 20 2019, 10:19:50) 
[GCC 8.3.1 20190223 (Red Hat 8.3.1-2)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import _ast
>>> _ast.Constant('a').n
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Constant' object has no attribute 'n'

but in the test suite, same python, it's there - why?

$ .venv/bin/py.test test/test_ast.py  -s -k test_argument_list
=========================================================== test session starts ===========================================================
platform linux -- Python 3.8.0a2, pytest-4.3.1, py-1.8.0, pluggy-0.9.0 -- /home/classic/dev/mako/.venv/bin/python3.8
cachedir: .pytest_cache
rootdir: /home/classic/dev/mako, inifile: setup.cfg
collected 24 items / 23 deselected / 1 selected                                                                                           

test/test_ast.py::AstParseTest::test_argument_list NODE!!! 3

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PDB set_trace >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> /home/classic/dev/mako/mako/_ast_util.py(691)visit_Constant()
-> self.write(repr(node.n))
(Pdb) !node
<_ast.Constant object at 0x7f423f7eb0a0>
(Pdb) import _ast
(Pdb) _ast.Constant('a').n
'a'

@zzzeek zzzeek reopened this Apr 11, 2019
@zzzeek
Copy link
Member

zzzeek commented Apr 11, 2019

this is in _ast.py....



# The following code is for backward compatibility.
# It will be removed in future.

def _getter(self):
    return self.value

def _setter(self, value):
    self.value = value

Constant.n = property(_getter, _setter)
Constant.s = property(_getter, _setter)


Sooooooo....going to figure this out very shortly? moment

@zzzeek
Copy link
Member

zzzeek commented Apr 11, 2019

oh. that's ast.py. um. this is weird

@hroncok
Copy link
Contributor Author

hroncok commented Apr 11, 2019

Yep: #287 (comment)

@zzzeek
Copy link
Member

zzzeek commented Apr 11, 2019

right, it's monkeypatching _ast.Constant...

@zzzeek
Copy link
Member

zzzeek commented Apr 11, 2019

here is what's happening:

[classic@photon2 mako]$ .venv/bin/python3
Python 3.8.0a2 (default, Mar 20 2019, 10:19:50) 
[GCC 8.3.1 20190223 (Red Hat 8.3.1-2)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import _ast
>>> _ast.Constant("foo").n
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Constant' object has no attribute 'n'
>>> import ast
>>> _ast.Constant("foo").n
'foo'

so there's really no way to test this, it's just, there it is, fix it....is Constant in 3.7 and earlier at all ?

@hroncok
Copy link
Contributor Author

hroncok commented Apr 11, 2019

>>> import _ast
>>> c = _ast.Constant('a')
>>> c.n
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'Constant' object has no attribute 'n'
>>> import ast
>>> c = ast.Constant('a')
>>> c.n
'a'

@hroncok
Copy link
Contributor Author

hroncok commented Apr 11, 2019

Seems to be in 3.6+.

@zzzeek
Copy link
Member

zzzeek commented Apr 11, 2019

right but it has Constant.value in all of them and that's it..

@zzzeek
Copy link
Member

zzzeek commented Apr 11, 2019

in 3.7 they dont seem to be monkeypatrching n and s, likely because Constant wasn't used for num/string

@hroncok
Copy link
Contributor Author

hroncok commented Apr 11, 2019

My wild guess is: If you import from _ast, you don't get any guarantees. If you import from ast, you get a somewhat backward compatible-ish behavior.

@sqla-tester
Copy link
Collaborator

Miro Hrončok has proposed a fix for this issue in the master branch:

Use Constant.value, not Constant.n https://gerrit.sqlalchemy.org/1188

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants