Skip to content

Commit 4cbb09c

Browse files
authored
Merge pull request #4342 from esl/meck-once-in-muc-suite
Use meck:new ones in muc_SUITE
2 parents add876b + c0fc1b5 commit 4cbb09c

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

big_tests/tests/muc_SUITE.erl

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -342,6 +342,9 @@ end_per_suite(Config) ->
342342
escalus:end_per_suite(Config).
343343

344344
init_per_group(room_registration_race_condition, Config) ->
345+
%% We init meck once per group, because recompiling module after
346+
%% each testcase is slow.
347+
meck_room(),
345348
escalus_fresh:create_users(Config, [{alice, 1}]);
346349

347350
init_per_group(moderator, Config) ->
@@ -423,7 +426,7 @@ handle_http_auth(Req) ->
423426
cowboy_req:reply(200, Headers, Resp, Req).
424427

425428
end_per_group(room_registration_race_condition, Config) ->
426-
rpc(mim(), meck, unload, []),
429+
unload_meck(),
427430
escalus:delete_users(Config, escalus:get_users([bob, alice]));
428431

429432
end_per_group(admin_membersonly, Config) ->
@@ -460,16 +463,13 @@ end_per_group(_GroupName, Config) ->
460463
escalus:delete_users(Config, escalus:get_users([alice, bob, kate])).
461464

462465
init_per_testcase(CaseName = create_already_registered_room, Config) ->
463-
meck_room(),
464466
meck_room_start(),
465467
escalus:init_per_testcase(CaseName, Config);
466468
init_per_testcase(CaseName = check_presence_route_to_offline_room, Config) ->
467-
meck_room(),
468469
meck_room_start(),
469470
meck_room_route(),
470471
escalus:init_per_testcase(CaseName, Config);
471472
init_per_testcase(CaseName = check_message_route_to_offline_room, Config) ->
472-
meck_room(),
473473
meck_room_start(),
474474
meck_room_route(),
475475
escalus:init_per_testcase(CaseName, Config);
@@ -532,9 +532,13 @@ setup_mam(Backend) ->
532532
muc => #{host => HostPattern}})}]).
533533

534534
meck_room() ->
535-
RPCSpec = (mim())#{timeout => timer:seconds(10)}, % it takes long to compile this module
535+
RPCSpec = (mim())#{timeout => timer:seconds(120)}, % it takes long to compile this module
536536
ok = rpc(RPCSpec, meck, new, [mod_muc_room, [no_link, passthrough]]).
537537

538+
unload_meck() ->
539+
RPCSpec = (mim())#{timeout => timer:seconds(120)},
540+
rpc(RPCSpec, meck, unload, []).
541+
538542
%% Meck will register a fake room right before a 'real' room is started
539543
meck_room_start() ->
540544
rpc(mim(), meck, expect, [mod_muc_room, init, fun ?MODULE:meck_init/1]).
@@ -552,13 +556,10 @@ meck_room_route() ->
552556
end]).
553557

554558
end_per_testcase(CaseName = create_already_registered_room, Config) ->
555-
rpc(mim(), meck, unload, []),
556559
escalus:end_per_testcase(CaseName, Config);
557560
end_per_testcase(CaseName = check_presence_route_to_offline_room, Config) ->
558-
rpc(mim(), meck, unload, []),
559561
escalus:end_per_testcase(CaseName, Config);
560562
end_per_testcase(CaseName = check_message_route_to_offline_room, Config) ->
561-
rpc(mim(), meck, unload, []),
562563
escalus:end_per_testcase(CaseName, Config);
563564
end_per_testcase(CaseName = send_non_anonymous_history, Config) ->
564565
destroy_room(Config),

0 commit comments

Comments
 (0)