Как правильно издеваться над riakc_pb_socket с meck?
Используя Erlang R16B02, riakc 2.0.0 и meck 0.82:
При попытке подделать riakc_pb_socket в моих модульных тестах он взрывается. Вот что я получаю:
> erl -pa ebin deps/*/ebin
Erlang R16B02 (erts-5.10.3) [source-b44b726] [64-bit] [smp:2:2] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V5.10.3 (abort with ^G)
1> meck:new(riakc_pb_socket).
** exception exit: {compile_forms,{error,[{[],
[{75,erl_lint,{bad_deprecated,{get_index,'_'}}}]}],
[{[],[{75,erl_lint,{undefined_behaviour,[gen_server]}}]}]}}
2>
Я обнаружил, что если я прокомментирую эту строку в riakc_pb_socket.erl и перекомпилирую - проблема исчезнет. Есть ли лучшее решение?
-deprecated({get_index,'_', eventually}).
так потом....
> erl -pa ebin deps/*/ebin
Erlang R16B02 (erts-5.10.3) [source-b44b726] [64-bit] [smp:2:2] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V5.10.3 (abort with ^G)
1> meck:new(riakc_pb_socket).
ok
2>
> erl -pa ebin deps/*/ebin
Erlang R16B02 (erts-5.10.3) [source-b44b726] [64-bit] [smp:2:2] [async-threads:10] [hipe] [kernel-poll:false]
Eshell V5.10.3 (abort with ^G)
1> code:which(riakc_pb_socket).
"deps/riakc/ebin/riakc_pb_socket.beam"
2>