diff options
Diffstat (limited to 'lib/diameter/test/diameter_length_SUITE.erl')
-rw-r--r-- | lib/diameter/test/diameter_length_SUITE.erl | 84 |
1 files changed, 35 insertions, 49 deletions
diff --git a/lib/diameter/test/diameter_length_SUITE.erl b/lib/diameter/test/diameter_length_SUITE.erl index daaaae6e00..66d1be114f 100644 --- a/lib/diameter/test/diameter_length_SUITE.erl +++ b/lib/diameter/test/diameter_length_SUITE.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2013-2016. All Rights Reserved. +%% Copyright Ericsson AB 2013-2022. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -24,20 +24,14 @@ -module(diameter_length_SUITE). +%% testcases, no common_test dependency +-export([run/0, + run/1]). + +%% common_test wrapping -export([suite/0, all/0, - groups/0, - init_per_suite/1, - end_per_suite/1, - init_per_group/2, - end_per_group/2, - init_per_testcase/2, - end_per_testcase/2]). - -%% testcases --export([start/1, - send/1, - stop/1]). + parallel/1]). %% diameter callbacks -export([peer_up/3, @@ -83,39 +77,20 @@ -define(LOGOUT, ?'DIAMETER_BASE_TERMINATION-CAUSE_LOGOUT'). --define(GROUPS, [exit, handle, discard]). - -define(L, atom_to_list). %% =========================================================================== suite() -> - [{timetrap, {seconds, 60}}]. + [{timetrap, {seconds, 120}}]. all() -> - [{group, G} || G <- ?GROUPS]. - -groups() -> - [{G, [], [start, send, stop]} || G <- ?GROUPS]. - -init_per_suite(Config) -> - ok = diameter:start(), - Config. - -end_per_suite(_Config) -> - ok = diameter:stop(). - -init_per_group(Group, Config) -> - [{group, Group} | Config]. - -end_per_group(_, _) -> - ok. + [parallel]. -init_per_testcase(_Name, Config) -> - Config. +parallel(_Config) -> + run(). -end_per_testcase(_, _) -> - ok. +%% =========================================================================== origin(exit) -> 0; origin(handle) -> 1; @@ -127,25 +102,39 @@ origin(2) -> discard. %% =========================================================================== +run() -> + run([exit, handle, discard]). + +run(List) + when is_list(List) -> + ok = diameter:start(), + try + ?util:run([[{[fun run/1, T], 30000} || T <- List]]) + after + ok = diameter:stop() + end; + +run(Group) -> + start(Group), + send(Group), + stop(). + %% start/1 -start(Config) -> - Group = proplists:get_value(group, Config), +start(Group) -> ok = diameter:start_service(?SERVER, ?SERVICE(?L(Group))), ok = diameter:start_service(?CLIENT, ?SERVICE(?CLIENT)), - LRef = ?util:listen(?SERVER, - tcp, - [{length_errors, Group}]), + LRef = ?util:listen(?SERVER, tcp, [{length_errors, Group}]), ?util:connect(?CLIENT, tcp, LRef, [{capabilities, [{'Origin-State-Id', origin(Group)}]}]). -%% stop/1 +%% stop/0 -stop(_Config) -> - ok = diameter:remove_transport(?CLIENT, true), +stop() -> ok = diameter:remove_transport(?SERVER, true), + ok = diameter:remove_transport(?CLIENT, true), ok = diameter:stop_service(?SERVER), ok = diameter:stop_service(?CLIENT). @@ -194,10 +183,7 @@ send(discard) -> {error, timeout} = call(4), #diameter_base_STA{'Result-Code' = ?SUCCESS} - = call(0); - -send(Config) -> - send(proplists:get_value(group, Config)). + = call(0). %% =========================================================================== |