@@ -342,6 +342,9 @@ end_per_suite(Config) ->
342
342
escalus :end_per_suite (Config ).
343
343
344
344
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 (),
345
348
escalus_fresh :create_users (Config , [{alice , 1 }]);
346
349
347
350
init_per_group (moderator , Config ) ->
@@ -423,7 +426,7 @@ handle_http_auth(Req) ->
423
426
cowboy_req :reply (200 , Headers , Resp , Req ).
424
427
425
428
end_per_group (room_registration_race_condition , Config ) ->
426
- rpc ( mim (), meck , unload , [] ),
429
+ unload_meck ( ),
427
430
escalus :delete_users (Config , escalus :get_users ([bob , alice ]));
428
431
429
432
end_per_group (admin_membersonly , Config ) ->
@@ -460,16 +463,13 @@ end_per_group(_GroupName, Config) ->
460
463
escalus :delete_users (Config , escalus :get_users ([alice , bob , kate ])).
461
464
462
465
init_per_testcase (CaseName = create_already_registered_room , Config ) ->
463
- meck_room (),
464
466
meck_room_start (),
465
467
escalus :init_per_testcase (CaseName , Config );
466
468
init_per_testcase (CaseName = check_presence_route_to_offline_room , Config ) ->
467
- meck_room (),
468
469
meck_room_start (),
469
470
meck_room_route (),
470
471
escalus :init_per_testcase (CaseName , Config );
471
472
init_per_testcase (CaseName = check_message_route_to_offline_room , Config ) ->
472
- meck_room (),
473
473
meck_room_start (),
474
474
meck_room_route (),
475
475
escalus :init_per_testcase (CaseName , Config );
@@ -532,9 +532,13 @@ setup_mam(Backend) ->
532
532
muc => #{host => HostPattern }})}]).
533
533
534
534
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
536
536
ok = rpc (RPCSpec , meck , new , [mod_muc_room , [no_link , passthrough ]]).
537
537
538
+ unload_meck () ->
539
+ RPCSpec = (mim ())#{timeout => timer :seconds (120 )},
540
+ rpc (RPCSpec , meck , unload , []).
541
+
538
542
% % Meck will register a fake room right before a 'real' room is started
539
543
meck_room_start () ->
540
544
rpc (mim (), meck , expect , [mod_muc_room , init , fun ? MODULE :meck_init /1 ]).
@@ -552,13 +556,10 @@ meck_room_route() ->
552
556
end ]).
553
557
554
558
end_per_testcase (CaseName = create_already_registered_room , Config ) ->
555
- rpc (mim (), meck , unload , []),
556
559
escalus :end_per_testcase (CaseName , Config );
557
560
end_per_testcase (CaseName = check_presence_route_to_offline_room , Config ) ->
558
- rpc (mim (), meck , unload , []),
559
561
escalus :end_per_testcase (CaseName , Config );
560
562
end_per_testcase (CaseName = check_message_route_to_offline_room , Config ) ->
561
- rpc (mim (), meck , unload , []),
562
563
escalus :end_per_testcase (CaseName , Config );
563
564
end_per_testcase (CaseName = send_non_anonymous_history , Config ) ->
564
565
destroy_room (Config ),
0 commit comments