-
Notifications
You must be signed in to change notification settings - Fork 421
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
Prepare log_helper for parallel tests #4243
Conversation
The goal is to have common code for all helpers using ETS tables, which can survive for the entire test suite/group.
Unfortunately logger does adding/removing handlers asynchronously, which leads to race conditions, and some handlers may fail to get registered. This is why log_helper is now reimplemented with only one log handler, and an ETS table for receiver Pids.
elasticsearch_and_cassandra_26 / elasticsearch_and_cassandra_mnesia / 4e94a99 small_tests_25 / small_tests / 4e94a99 small_tests_26 / small_tests / 4e94a99 small_tests_26_arm64 / small_tests / 4e94a99 ldap_mnesia_25 / ldap_mnesia / 4e94a99 ldap_mnesia_26 / ldap_mnesia / 4e94a99 dynamic_domains_pgsql_mnesia_25 / pgsql_mnesia / 4e94a99 dynamic_domains_pgsql_mnesia_26 / pgsql_mnesia / 4e94a99 internal_mnesia_26 / internal_mnesia / 4e94a99 pgsql_cets_26 / pgsql_cets / 4e94a99 dynamic_domains_mssql_mnesia_26 / odbc_mssql_mnesia / 4e94a99 dynamic_domains_mysql_redis_26 / mysql_redis / 4e94a99 pgsql_mnesia_25 / pgsql_mnesia / 4e94a99 pgsql_mnesia_26 / pgsql_mnesia / 4e94a99 mysql_redis_26 / mysql_redis / 4e94a99 amp_big_SUITE:offline:offline_failure:notify_deliver_to_online_user_recipient_privacy_test{error,{{badrpc,timeout},
[{escalus_rpc,call_with_cookie_match,
[mongooseim@localhost,ejabberd_admin,register,
[<<"bOb_notify_deliver_to_online_user_recipient_privacy_test_314">>,
<<"localhost">>,<<"makrolika">>],
3000,mongooseim],
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_rpc.erl"},
{line,34}]},
{lists,foreach_1,2,[{file,"lists.erl"},{line,1686}]},
{escalus_ejabberd,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_ejabberd.erl"},
{line,211}]},
{escalus_fresh,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,62}]},
{escalus_fresh,story,3,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,27}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} amp_big_SUITE:offline:offline_failure:error_deliver_to_online_user_test{error,{{badrpc,timeout},
[{escalus_rpc,call_with_cookie_match,
[mongooseim@localhost,ejabberd_admin,register,
[<<"bOb_error_deliver_to_online_user_test_338">>,
<<"localhost">>,<<"makrolika">>],
3000,mongooseim],
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_rpc.erl"},
{line,34}]},
{lists,foreach_1,2,[{file,"lists.erl"},{line,1686}]},
{escalus_ejabberd,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_ejabberd.erl"},
{line,211}]},
{escalus_fresh,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,62}]},
{escalus_fresh,story,3,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,27}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} amp_big_SUITE:offline:offline_failure:notify_deliver_to_offline_user_test{error,{{badrpc,timeout},
[{escalus_rpc,call_with_cookie_match,
[mongooseim@localhost,ejabberd_admin,register,
[<<"bOb_notify_deliver_to_offline_user_test_318">>,
<<"localhost">>,<<"makrolika">>],
3000,mongooseim],
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_rpc.erl"},
{line,34}]},
{lists,foreach_1,2,[{file,"lists.erl"},{line,1686}]},
{escalus_ejabberd,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_ejabberd.erl"},
{line,211}]},
{escalus_fresh,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,62}]},
{amp_big_SUITE,notify_deliver_to_offline_user_test,1,
[{file,"/home/circleci/project/big_tests/tests/amp_big_SUITE.erl"},
{line,365}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} amp_big_SUITE:offline:offline_failure:notify_deliver_to_offline_user_recipient_privacy_test{error,{{badrpc,timeout},
[{escalus_rpc,call_with_cookie_match,
[mongooseim@localhost,ejabberd_admin,register,
[<<"bOb_notify_deliver_to_offline_user_recipient_privacy_test_323">>,
<<"localhost">>,<<"makrolika">>],
3000,mongooseim],
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_rpc.erl"},
{line,34}]},
{lists,foreach_1,2,[{file,"lists.erl"},{line,1686}]},
{escalus_ejabberd,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_ejabberd.erl"},
{line,211}]},
{escalus_fresh,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,62}]},
{amp_big_SUITE,do_notify_deliver_to_offline_user_recipient_privacy_test,
1,
[{file,"/home/circleci/project/big_tests/tests/amp_big_SUITE.erl"},
{line,408}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} amp_big_SUITE:offline:offline_failure:error_deliver_to_online_user_test{error,{{badrpc,timeout},
[{escalus_rpc,call_with_cookie_match,
[mongooseim@localhost,ejabberd_admin,register,
[<<"bOb_error_deliver_to_online_user_test_336">>,
<<"localhost">>,<<"makrolika">>],
3000,mongooseim],
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_rpc.erl"},
{line,34}]},
{lists,foreach_1,2,[{file,"lists.erl"},{line,1686}]},
{escalus_ejabberd,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_ejabberd.erl"},
{line,211}]},
{escalus_fresh,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,62}]},
{escalus_fresh,story,3,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,27}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} amp_big_SUITE:offline:offline_failure:drop_deliver_to_offline_user_test{error,{{badrpc,timeout},
[{escalus_rpc,call_with_cookie_match,
[mongooseim@localhost,ejabberd_admin,register,
[<<"bOb_drop_deliver_to_offline_user_test_355">>,
<<"localhost">>,<<"makrolika">>],
3000,mongooseim],
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_rpc.erl"},
{line,34}]},
{lists,foreach_1,2,[{file,"lists.erl"},{line,1686}]},
{escalus_ejabberd,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_ejabberd.erl"},
{line,211}]},
{escalus_fresh,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,62}]},
{amp_big_SUITE,drop_deliver_to_offline_user_test,1,
[{file,"/home/circleci/project/big_tests/tests/amp_big_SUITE.erl"},
{line,654}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} amp_big_SUITE:offline:offline_failure:drop_deliver_to_online_user_test{error,{{badrpc,timeout},
[{escalus_rpc,call_with_cookie_match,
[mongooseim@localhost,ejabberd_admin,register,
[<<"bOb_drop_deliver_to_online_user_test_349">>,
<<"localhost">>,<<"makrolika">>],
3000,mongooseim],
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_rpc.erl"},
{line,34}]},
{lists,foreach_1,2,[{file,"lists.erl"},{line,1686}]},
{escalus_ejabberd,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_ejabberd.erl"},
{line,211}]},
{escalus_fresh,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,62}]},
{escalus_fresh,story,3,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,27}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} amp_big_SUITE:offline:offline_failure:error_deliver_to_offline_user_test{error,{{badrpc,timeout},
[{escalus_rpc,call_with_cookie_match,
[mongooseim@localhost,ejabberd_admin,register,
[<<"bOb_error_deliver_to_offline_user_test_341">>,
<<"localhost">>,<<"makrolika">>],
3000,mongooseim],
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_rpc.erl"},
{line,34}]},
{lists,foreach_1,2,[{file,"lists.erl"},{line,1686}]},
{escalus_ejabberd,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_ejabberd.erl"},
{line,211}]},
{escalus_fresh,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,62}]},
{amp_big_SUITE,error_deliver_to_offline_user_test,1,
[{file,"/home/circleci/project/big_tests/tests/amp_big_SUITE.erl"},
{line,572}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} amp_big_SUITE:offline:offline_failure:error_deliver_to_online_user_test{error,{{badrpc,timeout},
[{escalus_rpc,call_with_cookie_match,
[mongooseim@localhost,ejabberd_admin,register,
[<<"bOb_error_deliver_to_online_user_test_340">>,
<<"localhost">>,<<"makrolika">>],
3000,mongooseim],
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_rpc.erl"},
{line,34}]},
{lists,foreach_1,2,[{file,"lists.erl"},{line,1686}]},
{escalus_ejabberd,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_ejabberd.erl"},
{line,211}]},
{escalus_fresh,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,62}]},
{escalus_fresh,story,3,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,27}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} amp_big_SUITE:offline:offline_failure:drop_deliver_to_offline_user_test{error,{{badrpc,timeout},
[{escalus_rpc,call_with_cookie_match,
[mongooseim@localhost,ejabberd_admin,register,
[<<"bOb_drop_deliver_to_offline_user_test_354">>,
<<"localhost">>,<<"makrolika">>],
3000,mongooseim],
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_rpc.erl"},
{line,34}]},
{lists,foreach_1,2,[{file,"lists.erl"},{line,1686}]},
{escalus_ejabberd,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_ejabberd.erl"},
{line,211}]},
{escalus_fresh,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,62}]},
{amp_big_SUITE,drop_deliver_to_offline_user_test,1,
[{file,"/home/circleci/project/big_tests/tests/amp_big_SUITE.erl"},
{line,654}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} amp_big_SUITE:offline:offline_failure:drop_deliver_to_online_user_test{error,{{badrpc,timeout},
[{escalus_rpc,call_with_cookie_match,
[mongooseim@localhost,ejabberd_admin,register,
[<<"bOb_drop_deliver_to_online_user_test_350">>,
<<"localhost">>,<<"makrolika">>],
3000,mongooseim],
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_rpc.erl"},
{line,34}]},
{lists,foreach_1,2,[{file,"lists.erl"},{line,1686}]},
{escalus_ejabberd,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_ejabberd.erl"},
{line,211}]},
{escalus_fresh,create_users,2,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,62}]},
{escalus_fresh,story,3,
[{file,"/home/circleci/project/big_tests/_build/default/lib/escalus/src/escalus_fresh.erl"},
{line,27}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_account_SUITE:admin_account_http:admin_register_user_limit_error{error,
{{badmap,null},
[{erlang,map_get,
[<<"message">>,null],
[{error_info,#{module => erl_erts_errors}}]},
{graphql_helper,get_value,2,
[{file,"/home/circleci/project/big_tests/tests/graphql_helper.erl"},
{line,292}]},
{graphql_account_SUITE,admin_register_user_limit_error,1,
[{file,
"/home/circleci/project/big_tests/tests/graphql_account_SUITE.erl"},
{line,385}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_account_SUITE:admin_account_cli:admin_register_user_limit_error{error,
{#{what => invalid_response_code,expected_type => ok,
response_code => {exit_status,1}},
[{graphql_helper,assert_response_code,2,
[{file,"/home/circleci/project/big_tests/tests/graphql_helper.erl"},
{line,256}]},
{graphql_helper,get_ok_value,2,
[{file,"/home/circleci/project/big_tests/tests/graphql_helper.erl"},
{line,239}]},
{graphql_account_SUITE,admin_register_user_limit_error,1,
[{file,
"/home/circleci/project/big_tests/tests/graphql_account_SUITE.erl"},
{line,385}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_account_SUITE:domain_admin_account:admin_register_user_limit_error{error,
{{badmap,null},
[{erlang,map_get,
[<<"message">>,null],
[{error_info,#{module => erl_erts_errors}}]},
{graphql_helper,get_value,2,
[{file,"/home/circleci/project/big_tests/tests/graphql_helper.erl"},
{line,292}]},
{graphql_account_SUITE,admin_register_user_limit_error,1,
[{file,
"/home/circleci/project/big_tests/tests/graphql_account_SUITE.erl"},
{line,385}]},
{test_server,ts_tc,3,[{file,"test_server.erl"},{line,1793}]},
{test_server,run_test_case_eval1,6,
[{file,"test_server.erl"},{line,1302}]},
{test_server,run_test_case_eval,9,
[{file,"test_server.erl"},{line,1234}]}]}} graphql_last_SUITE:admin_http:admin_last_configured:admin_old_users:admin_list_old_users_domain{error,{{badmatch,[#{<<"jid">> =>
<<"alice_drop_deliver_to_offline_user_test_354@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_drop_deliver_to_offline_user_test_355@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_drop_deliver_to_online_user_test_349@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_drop_deliver_to_online_user_test_350@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_error_deliver_to_offline_user_test_341@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_error_deliver_to_online_user_test_336@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_error_deliver_to_online_user_test_338@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_error_deliver_to_online_user_test_340@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_notify_deliver_to_offline_user_recipient_privacy_test_323@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_notify_deliver_to_offline_user_test_318@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_notify_deliver_to_online_user_recipient_privacy_test_... graphql_last_SUITE:admin_http:admin_last_configured:admin_old_users:admin_list_old_users_global{error,{{badmatch,[#{<<"jid">> => <<"alice@localhost.bis">>,
<<"timestamp">> => <<"2024-03-13T08:23:41.000000Z">>},
#{<<"jid">> =>
<<"alice_drop_deliver_to_offline_user_test_354@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_drop_deliver_to_offline_user_test_355@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_drop_deliver_to_online_user_test_349@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_drop_deliver_to_online_user_test_350@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_error_deliver_to_offline_user_test_341@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_error_deliver_to_online_user_test_336@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_error_deliver_to_online_user_test_338@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_error_deliver_to_online_user_test_340@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_notify_deliver_to_offline_user_recipient_privacy_test_323@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_notify_deliver_to_offline_user_test_318@localhost">>,
<<"times... graphql_last_SUITE:admin_http:admin_last_configured:admin_old_users:admin_remove_old_users_domain{error,{{badmatch,[#{<<"jid">> =>
<<"alice_drop_deliver_to_offline_user_test_354@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_drop_deliver_to_offline_user_test_355@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_drop_deliver_to_online_user_test_349@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_drop_deliver_to_online_user_test_350@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_error_deliver_to_offline_user_test_341@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_error_deliver_to_online_user_test_336@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_error_deliver_to_online_user_test_338@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_error_deliver_to_online_user_test_340@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_notify_deliver_to_offline_user_recipient_privacy_test_323@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_notify_deliver_to_offline_user_test_318@localhost">>,
<<"timestamp">> => null},
#{<<"jid">> =>
<<"alice_notify_deliver_to_online_user_recipient_privacy_test_... mssql_mnesia_26 / odbc_mssql_mnesia / 4e94a99 mysql_redis_26 / mysql_redis / 4e94a99 |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #4243 +/- ##
=======================================
Coverage 84.40% 84.41%
=======================================
Files 552 552
Lines 33538 33538
=======================================
+ Hits 28308 28310 +2
+ Misses 5230 5228 -2 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! 👍
This PR prepares
log_helper
for being used in parallel tests.Logger does adding/removing handlers asynchronously, which leads to race conditions, and some handlers may fail to get registered.
This is why
log_helper
is now reimplemented with only one log handler, and an ETS table for receiver Pids.Additionally,
ets_helper
is added, which is currently used only once, but infeature/instrument
it will be used again.