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

breaks on R20 #175

Closed
RoadRunnr opened this issue Jun 22, 2017 · 1 comment · Fixed by #176
Closed

breaks on R20 #175

RoadRunnr opened this issue Jun 22, 2017 · 1 comment · Fixed by #176
Labels

Comments

@RoadRunnr
Copy link
Contributor

RoadRunnr commented Jun 22, 2017

doesn't work with Erlang R20

Error output:

=== Location: [{meck_proc,start,96},
              {ergw_test_lib,meck_init,108},
              {ergw_test_lib,lib_init_per_suite,62},
              {test_server,ts_tc,1529},
              {test_server,run_test_case_eval1,1130},
              {test_server,run_test_case_eval,977}]
=== Reason: {compile_forms,
                  {error,
                   [{[],
                     [{none,compile,
                       {crash,lint_module,
                        {badarg,
                         [{erlang,atom_to_list,[[gen_server]],[]},
                          {erl_lint,is_latin1_name,1,
                           [{file,"erl_lint.erl"},{line,3055}]},
                          {erl_lint,check_module_name,3,
                           [{file,"erl_lint.erl"},{line,3048}]},
                          {erl_lint,behaviour_callbacks,3,
                           [{file,"erl_lint.erl"},{line,973}]},
                          {erl_lint,all_behaviour_callbacks,3,
                           [{file,"erl_lint.erl"},{line,934}]},
                          {erl_lint,behaviour_check,2,
                           [{file,"erl_lint.erl"},{line,921}]},
                          {erl_lint,post_traversal_check,2,
                           [{file,"erl_lint.erl"},{line,893}]},
                          {erl_lint,module,3,
                           [{file,"erl_lint.erl"},{line,536}]}]}}}]}],
                   []}}
  in function  meck_proc:start/2
     called as meck_proc:start(gtp_socket,[passthrough,no_link])
  in call from ergw_test_lib:meck_init/1 (ergw_test_lib.erl, line 108)
  in call from ergw_test_lib:lib_init_per_suite/1 (ergw_test_lib.erl, line 62)
  in call from test_server:ts_tc/3 (test_server.erl, line 1529)
  in call from test_server:run_test_case_eval1/6 (test_server.erl, line 1130)
  in call from test_server:run_test_case_eval/9 (test_server.erl, line 977)

The project I'm running this on is https://github.com/travelping/ergw

Versions

  • Meck version: git HEAD (ad8374c)
  • Erlang version: 20.0.0
@RoadRunnr
Copy link
Contributor Author

I've traced the problem to this OTP commit: erlang/otp@340be6a

The behavior attribute really should only contain a single atom, however the module attribute contains a list of behaviors. With the introduction of UTF8 atoms, the linter now check that the module names are valid. Before that change the list in the behavior attribute would simply pass through, but the check now catches it as invalid.

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

Successfully merging a pull request may close this issue.

2 participants