summaryrefslogtreecommitdiff
path: root/erts
diff options
context:
space:
mode:
authorMicael Karlberg <bmk@erlang.org>2019-12-02 10:33:08 +0100
committerMicael Karlberg <bmk@erlang.org>2019-12-02 10:33:08 +0100
commit4d4141195a7d55cab20e8f1bb15732808c15782c (patch)
treebb344543793e8ee90b07b6dfcf166f0bebc93c3a /erts
parentb94eae281bd3d993c5eb672375fd005f783a4e61 (diff)
parent310219fb21fb70dadea05697d93c76c6b2018d6b (diff)
downloaderlang-4d4141195a7d55cab20e8f1bb15732808c15782c.tar.gz
Merge branch 'bmk/erts/esock/20191127/test_tweaking' into maint
Diffstat (limited to 'erts')
-rw-r--r--erts/emulator/test/socket_SUITE.erl502
1 files changed, 409 insertions, 93 deletions
diff --git a/erts/emulator/test/socket_SUITE.erl b/erts/emulator/test/socket_SUITE.erl
index 27cb57eac0..50e6ea09d0 100644
--- a/erts/emulator/test/socket_SUITE.erl
+++ b/erts/emulator/test/socket_SUITE.erl
@@ -634,6 +634,7 @@
-define(TPP_SMALL_NUM, 5000).
-define(TPP_MEDIUM_NUM, 500).
-define(TPP_LARGE_NUM, 50).
+-define(TPP_NUM(Config, Base), Base div lookup(esock_factor, 1, Config)).
-define(TTEST_RUNTIME, ?SECS(10)).
@@ -698,6 +699,7 @@ groups() ->
{traffic, [], traffic_cases()},
{traffic_counters, [], traffic_counters_cases()},
{traffic_chunks, [], traffic_chunks_cases()},
+ {traffic_ping_pong, [], traffic_ping_pong_cases()},
{traffic_pp_send_recv, [], traffic_pp_send_recv_cases()},
{traffic_pp_sendto_recvfrom, [], traffic_pp_sendto_recvfrom_cases()},
{traffic_pp_sendmsg_recvmsg, [], traffic_pp_sendmsg_recvmsg_cases()},
@@ -1066,9 +1068,7 @@ traffic_cases() ->
[
{group, traffic_counters},
{group, traffic_chunks},
- {group, traffic_pp_send_recv},
- {group, traffic_pp_sendto_recvfrom},
- {group, traffic_pp_sendmsg_recvmsg}
+ {group, traffic_ping_pong}
].
traffic_counters_cases() ->
@@ -1094,6 +1094,13 @@ traffic_chunks_cases() ->
traffic_send_and_recv_chunks_tcpL
].
+traffic_ping_pong_cases() ->
+ [
+ {group, traffic_pp_send_recv},
+ {group, traffic_pp_sendto_recvfrom},
+ {group, traffic_pp_sendmsg_recvmsg}
+ ].
+
traffic_pp_send_recv_cases() ->
[
traffic_ping_pong_small_send_and_recv_tcp4,
@@ -1831,7 +1838,7 @@ ttest_ssockt_csockt_cases() ->
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
init_per_suite(Config) ->
- print_host_info(),
+ Factor = analyze_and_print_host_info(),
case lists:member(socket, erlang:loaded()) of
true ->
case os:type() of
@@ -1841,10 +1848,11 @@ init_per_suite(Config) ->
case quiet_mode(Config) of
default ->
?LOGGER:start(),
- Config;
+ [{esock_factor, Factor} | Config];
Quiet ->
?LOGGER:start(Quiet),
- [{esock_test_quiet, Quiet}|Config]
+ [{esock_factor, Factor},
+ {esock_test_quiet, Quiet} | Config]
end
end;
false ->
@@ -1858,7 +1866,12 @@ end_per_suite(_) ->
%% This function prints various host info, which might be usefull
%% when analyzing the test suite (results).
-print_host_info() ->
+%% It also returns a "factor" that can be used to when deciding
+%% the load for some tst cases (traffic). Such as run time or
+%% number of iteraions. This only works for some OSes (linux).
+%% Also, mostly it just returns the factor 1.
+%% At this time we just look at BogoMIPS!
+analyze_and_print_host_info() ->
{OsFam, OsName} = os:type(),
Version =
case os:version() of
@@ -1869,41 +1882,331 @@ print_host_info() ->
end,
case {OsFam, OsName} of
{unix, linux} ->
- case file:read_file_info("/etc/issue") of
- {ok, _} ->
- io:format("Linux: ~s"
- "~n ~s"
- "~n",
- [Version, string:trim(os:cmd("cat /etc/issue"))]);
- _ ->
- io:format("Linux: ~s"
- "~n", [Version])
- end,
- case (catch [string:trim(S) || S <- string:tokens(os:cmd("grep \"model name\" /proc/cpuinfo"), [$:,$\n])]) of
- ["model name", CPU | _] ->
- io:format("CPU: ~s"
- "~n", [CPU]);
- _ ->
- ok
- end,
- case (catch [string:trim(S) || S <- string:tokens(os:cmd("grep MemTotal /proc/meminfo"), [$:])]) of
- [_, MemTotal] ->
- io:format("Memory: ~s"
- "~n", [MemTotal]);
- _ ->
- ok
- end;
+ analyze_and_print_linux_host_info(Version);
+ {unix, openbsd} ->
+ analyze_and_print_openbsd_host_info(Version);
+ {unix, freebsd} ->
+ analyze_and_print_freebsd_host_info(Version);
{unix, sunos} ->
io:format("Solaris: ~s"
- "~n", [Version]);
+ "~n", [Version]),
+ 1;
_ ->
io:format("OS Family: ~p"
"~n OS Type: ~p"
"~n Version: ~p"
- "~n", [OsFam, OsName, Version])
+ "~n", [OsFam, OsName, Version]),
+ 1
end.
+analyze_and_print_linux_host_info(Version) ->
+ case file:read_file_info("/etc/issue") of
+ {ok, _} ->
+ io:format("Linux: ~s"
+ "~n ~s"
+ "~n",
+ [Version, string:trim(os:cmd("cat /etc/issue"))]);
+ _ ->
+ io:format("Linux: ~s"
+ "~n", [Version])
+ end,
+ Factor =
+ case (catch linux_which_cpuinfo()) of
+ {ok, {CPU, BogoMIPS}} ->
+ io:format("CPU: "
+ "~n Model: ~s"
+ "~n BogoMIPS: ~s"
+ "~n", [CPU, BogoMIPS]),
+ %% We first assume its a float, and if not try integer
+ try list_to_float(string:trim(BogoMIPS)) of
+ F when F > 1000 ->
+ 1;
+ F when F > 1000 ->
+ 2;
+ _ ->
+ 3
+ catch
+ _:_:_ ->
+ %%
+ try list_to_integer(string:trim(BogoMIPS)) of
+ I when I > 1000 ->
+ 1;
+ I when I > 1000 ->
+ 2;
+ _ ->
+ 3
+ catch
+ _:_:_ ->
+ 1
+ end
+ end;
+ _ ->
+ 1
+ end,
+ %% Check if we need to adjust the factor because of the memory
+ try linux_which_meminfo() of
+ AddFactor ->
+ Factor + AddFactor
+ catch
+ _:_:_ ->
+ Factor
+ end.
+
+linux_which_cpuinfo() ->
+ %% Check for x86 (Intel or AMD)
+ CPU =
+ try [string:trim(S) || S <- string:tokens(os:cmd("grep \"model name\" /proc/cpuinfo"), [$:,$\n])] of
+ ["model name", ModelName | _] ->
+ ModelName;
+ _ ->
+ %% ARM (at least some distros...)
+ try [string:trim(S) || S <- string:tokens(os:cmd("grep \"Processor\" /proc/cpuinfo"), [$:,$\n])] of
+ ["Processor", Proc | _] ->
+ Proc;
+ _ ->
+ %% Ok, we give up
+ throw(noinfo)
+ catch
+ _:_:_ ->
+ throw(noinfo)
+ end
+ catch
+ _:_:_ ->
+ throw(noinfo)
+ end,
+ try [string:trim(S) || S <- string:tokens(os:cmd("grep -i \"bogomips\" /proc/cpuinfo"), [$:,$\n])] of
+ [_, BMips | _] ->
+ {ok, {CPU, BMips}};
+ _ ->
+ {ok, CPU}
+ catch
+ _:_:_ ->
+ {ok, CPU}
+ end.
+
+%% We *add* the value this return to the Factor.
+linux_which_meminfo() ->
+ try [string:trim(S) || S <- string:tokens(os:cmd("grep MemTotal /proc/meminfo"), [$:])] of
+ [_, MemTotal] ->
+ io:format("Memory:"
+ "~n ~s"
+ "~n", [MemTotal]),
+ case string:tokens(MemTotal, [$ ]) of
+ [MemSzStr, MemUnit] ->
+ MemSz2 = list_to_integer(MemSzStr),
+ MemSz3 =
+ case string:to_lower(MemUnit) of
+ "kb" ->
+ MemSz2;
+ "mb" ->
+ MemSz2*1024;
+ "gb" ->
+ MemSz2*1024*1024;
+ _ ->
+ throw(noinfo)
+ end,
+ if
+ (MemSz3 >= 8388608) ->
+ 0;
+ (MemSz3 >= 4194304) ->
+ 1;
+ (MemSz3 >= 2097152) ->
+ 2;
+ true ->
+ 3
+ end;
+ _X ->
+ 0
+ end;
+ _ ->
+ 0
+ catch
+ _:_:_ ->
+ 0
+ end.
+
+
+%% Just to be clear: This is ***not*** scientific...
+analyze_and_print_openbsd_host_info(Version) ->
+ io:format("OpenBSD:"
+ "~n Version: ~p"
+ "~n", [Version]),
+ Extract =
+ fun(Key) ->
+ string:tokens(string:trim(os:cmd("sysctl " ++ Key)), [$=])
+ end,
+ try
+ begin
+ CPU =
+ case Extract("hw.model") of
+ ["hw.model", Model] ->
+ string:trim(Model);
+ _ ->
+ "-"
+ end,
+ CPUSpeed =
+ case Extract("hw.cpuspeed") of
+ ["hw.cpuspeed", Speed] ->
+ list_to_integer(Speed);
+ _ ->
+ -1
+ end,
+ NCPU =
+ case Extract("hw.ncpufound") of
+ ["hw.ncpufound", N] ->
+ list_to_integer(N);
+ _ ->
+ -1
+ end,
+ Memory =
+ case Extract("hw.physmem") of
+ ["hw.physmem", PhysMem] ->
+ list_to_integer(PhysMem) div 1024;
+ _ ->
+ -1
+ end,
+ io:format("CPU:"
+ "~n Model: ~s"
+ "~n Speed: ~w"
+ "~n N: ~w"
+ "~nMemory:"
+ "~n ~w KB"
+ "~n", [CPU, CPUSpeed, NCPU, Memory]),
+ CPUFactor =
+ if
+ (CPUSpeed =:= -1) ->
+ 1;
+ (CPUSpeed >= 2000) ->
+ if
+ (NCPU >= 4) ->
+ 1;
+ (NCPU >= 2) ->
+ 2;
+ true ->
+ 3
+ end;
+ true ->
+ if
+ (NCPU >= 4) ->
+ 2;
+ (NCPU >= 2) ->
+ 3;
+ true ->
+ 4
+ end
+ end,
+ MemAddFactor =
+ if
+ (Memory =:= -1) ->
+ 0;
+ (Memory >= 8388608) ->
+ 0;
+ (Memory >= 4194304) ->
+ 1;
+ (Memory >= 2097152) ->
+ 2;
+ true ->
+ 3
+ end,
+ CPUFactor + MemAddFactor
+ end
+ catch
+ _:_:_ ->
+ 1
+ end.
+
+analyze_and_print_freebsd_host_info(Version) ->
+ io:format("FreeBSD:"
+ "~n Version: ~p"
+ "~n", [Version]),
+ Extract =
+ fun(Key) ->
+ string:tokens(string:trim(os:cmd("sysctl " ++ Key)), [$:])
+ end,
+ try
+ begin
+ CPU =
+ case Extract("hw.model") of
+ ["hw.model", Model] ->
+ string:trim(Model);
+ _ ->
+ "-"
+ end,
+ CPUSpeed =
+ case Extract("hw.clockrate") of
+ ["hw.clockrate", Speed] ->
+ list_to_integer(string:trim(Speed));
+ _ ->
+ -1
+ end,
+ NCPU =
+ case Extract("hw.ncpu") of
+ ["hw.ncpu", N] ->
+ list_to_integer(string:trim(N));
+ _ ->
+ -1
+ end,
+ Memory =
+ case Extract("hw.physmem") of
+ ["hw.physmem", PhysMem] ->
+ list_to_integer(string:trim(PhysMem)) div 1024;
+ _ ->
+ -1
+ end,
+ io:format("CPU:"
+ "~n Model: ~s"
+ "~n Speed: ~w"
+ "~n N: ~w"
+ "~nMemory:"
+ "~n ~w KB"
+ "~n", [CPU, CPUSpeed, NCPU, Memory]),
+ CPUFactor =
+ if
+ (CPUSpeed =:= -1) ->
+ 1;
+ (CPUSpeed >= 2000) ->
+ if
+ (NCPU >= 4) ->
+ 1;
+ (NCPU >= 2) ->
+ 2;
+ true ->
+ 3
+ end;
+ true ->
+ if
+ (NCPU >= 4) ->
+ 2;
+ (NCPU >= 2) ->
+ 3;
+ true ->
+ 4
+ end
+ end,
+ MemAddFactor =
+ if
+ (Memory =:= -1) ->
+ 0;
+ (Memory >= 8388608) ->
+ 0;
+ (Memory >= 4194304) ->
+ 1;
+ (Memory >= 2097152) ->
+ 2;
+ true ->
+ 3
+ end,
+ CPUFactor + MemAddFactor
+ end
+ catch
+ _:_:_ ->
+ 1
+ end.
+
+
+
+
init_per_group(ttest = _GroupName, Config) ->
io:format("init_per_group(~w) -> entry with"
"~n Config: ~p"
@@ -29740,10 +30043,10 @@ traffic_ping_pong_small_send_and_recv_tcp4(suite) ->
[];
traffic_ping_pong_small_send_and_recv_tcp4(doc) ->
[];
-traffic_ping_pong_small_send_and_recv_tcp4(_Config) when is_list(_Config) ->
+traffic_ping_pong_small_send_and_recv_tcp4(Config) when is_list(Config) ->
?TT(?SECS(15)),
Msg = l2b(?TPP_SMALL),
- Num = ?TPP_SMALL_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_SMALL_NUM),
tc_try(traffic_ping_pong_small_send_and_recv_tcp4,
fun() ->
InitState = #{domain => inet,
@@ -29768,10 +30071,10 @@ traffic_ping_pong_small_send_and_recv_tcp6(suite) ->
[];
traffic_ping_pong_small_send_and_recv_tcp6(doc) ->
[];
-traffic_ping_pong_small_send_and_recv_tcp6(_Config) when is_list(_Config) ->
+traffic_ping_pong_small_send_and_recv_tcp6(Config) when is_list(Config) ->
?TT(?SECS(15)),
Msg = l2b(?TPP_SMALL),
- Num = ?TPP_SMALL_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_SMALL_NUM),
tc_try(traffic_ping_pong_small_send_and_recv_tcp6,
fun() -> has_support_ipv6() end,
fun() ->
@@ -29796,10 +30099,10 @@ traffic_ping_pong_small_send_and_recv_tcpL(suite) ->
[];
traffic_ping_pong_small_send_and_recv_tcpL(doc) ->
[];
-traffic_ping_pong_small_send_and_recv_tcpL(_Config) when is_list(_Config) ->
+traffic_ping_pong_small_send_and_recv_tcpL(Config) when is_list(Config) ->
?TT(?SECS(15)),
Msg = l2b(?TPP_SMALL),
- Num = ?TPP_SMALL_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_SMALL_NUM),
tc_try(traffic_ping_pong_small_send_and_recv_tcpL,
fun() -> has_support_unix_domain_socket() end,
fun() ->
@@ -29824,9 +30127,9 @@ traffic_ping_pong_medium_send_and_recv_tcp4(suite) ->
[];
traffic_ping_pong_medium_send_and_recv_tcp4(doc) ->
[];
-traffic_ping_pong_medium_send_and_recv_tcp4(_Config) when is_list(_Config) ->
+traffic_ping_pong_medium_send_and_recv_tcp4(Config) when is_list(Config) ->
Msg = l2b(?TPP_MEDIUM),
- Num = ?TPP_MEDIUM_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_MEDIUM_NUM),
tc_try(traffic_ping_pong_medium_send_and_recv_tcp4,
fun() ->
?TT(?SECS(30)),
@@ -29851,9 +30154,9 @@ traffic_ping_pong_medium_send_and_recv_tcp6(suite) ->
[];
traffic_ping_pong_medium_send_and_recv_tcp6(doc) ->
[];
-traffic_ping_pong_medium_send_and_recv_tcp6(_Config) when is_list(_Config) ->
+traffic_ping_pong_medium_send_and_recv_tcp6(Config) when is_list(Config) ->
Msg = l2b(?TPP_MEDIUM),
- Num = ?TPP_MEDIUM_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_MEDIUM_NUM),
tc_try(traffic_ping_pong_medium_send_and_recv_tcp6,
fun() -> has_support_ipv6() end,
fun() ->
@@ -29880,10 +30183,10 @@ traffic_ping_pong_medium_send_and_recv_tcpL(suite) ->
[];
traffic_ping_pong_medium_send_and_recv_tcpL(doc) ->
[];
-traffic_ping_pong_medium_send_and_recv_tcpL(_Config) when is_list(_Config) ->
+traffic_ping_pong_medium_send_and_recv_tcpL(Config) when is_list(Config) ->
?TT(?SECS(30)),
Msg = l2b(?TPP_MEDIUM),
- Num = ?TPP_MEDIUM_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_MEDIUM_NUM),
tc_try(traffic_ping_pong_medium_send_and_recv_tcpL,
fun() -> has_support_unix_domain_socket() end,
fun() ->
@@ -29909,10 +30212,10 @@ traffic_ping_pong_large_send_and_recv_tcp4(suite) ->
[];
traffic_ping_pong_large_send_and_recv_tcp4(doc) ->
[];
-traffic_ping_pong_large_send_and_recv_tcp4(_Config) when is_list(_Config) ->
+traffic_ping_pong_large_send_and_recv_tcp4(Config) when is_list(Config) ->
?TT(?SECS(60)),
Msg = l2b(?TPP_LARGE),
- Num = ?TPP_LARGE_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_LARGE_NUM),
tc_try(traffic_ping_pong_large_send_and_recv_tcp4,
fun() -> is_old_fedora16() end,
fun() ->
@@ -29937,10 +30240,10 @@ traffic_ping_pong_large_send_and_recv_tcp6(suite) ->
[];
traffic_ping_pong_large_send_and_recv_tcp6(doc) ->
[];
-traffic_ping_pong_large_send_and_recv_tcp6(_Config) when is_list(_Config) ->
+traffic_ping_pong_large_send_and_recv_tcp6(Config) when is_list(Config) ->
?TT(?SECS(60)),
Msg = l2b(?TPP_LARGE),
- Num = ?TPP_LARGE_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_LARGE_NUM),
tc_try(traffic_ping_pong_large_send_and_recv_tcp6,
fun() -> is_old_fedora16(),
has_support_ipv6() end,
@@ -29967,10 +30270,10 @@ traffic_ping_pong_large_send_and_recv_tcpL(suite) ->
[];
traffic_ping_pong_large_send_and_recv_tcpL(doc) ->
[];
-traffic_ping_pong_large_send_and_recv_tcpL(_Config) when is_list(_Config) ->
+traffic_ping_pong_large_send_and_recv_tcpL(Config) when is_list(Config) ->
?TT(?SECS(60)),
Msg = l2b(?TPP_LARGE),
- Num = ?TPP_LARGE_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_LARGE_NUM),
tc_try(traffic_ping_pong_large_send_and_recv_tcpL,
fun() ->
has_support_unix_domain_socket(),
@@ -30027,9 +30330,9 @@ traffic_ping_pong_small_sendto_and_recvfrom_udp4(suite) ->
[];
traffic_ping_pong_small_sendto_and_recvfrom_udp4(doc) ->
[];
-traffic_ping_pong_small_sendto_and_recvfrom_udp4(_Config) when is_list(_Config) ->
+traffic_ping_pong_small_sendto_and_recvfrom_udp4(Config) when is_list(Config) ->
Msg = l2b(?TPP_SMALL),
- Num = ?TPP_SMALL_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_SMALL_NUM),
tc_try(traffic_ping_pong_small_sendto_and_recvfrom_udp4,
fun() ->
?TT(?SECS(45)),
@@ -30054,9 +30357,9 @@ traffic_ping_pong_small_sendto_and_recvfrom_udp6(suite) ->
[];
traffic_ping_pong_small_sendto_and_recvfrom_udp6(doc) ->
[];
-traffic_ping_pong_small_sendto_and_recvfrom_udp6(_Config) when is_list(_Config) ->
+traffic_ping_pong_small_sendto_and_recvfrom_udp6(Config) when is_list(Config) ->
Msg = l2b(?TPP_SMALL),
- Num = ?TPP_SMALL_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_SMALL_NUM),
tc_try(traffic_ping_pong_small_sendto_and_recvfrom_udp6,
fun() -> has_support_ipv6() end,
fun() ->
@@ -30083,9 +30386,9 @@ traffic_ping_pong_small_sendto_and_recvfrom_udpL(suite) ->
[];
traffic_ping_pong_small_sendto_and_recvfrom_udpL(doc) ->
[];
-traffic_ping_pong_small_sendto_and_recvfrom_udpL(_Config) when is_list(_Config) ->
+traffic_ping_pong_small_sendto_and_recvfrom_udpL(Config) when is_list(Config) ->
Msg = l2b(?TPP_SMALL),
- Num = ?TPP_SMALL_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_SMALL_NUM),
tc_try(traffic_ping_pong_small_sendto_and_recvfrom_udpL,
fun() -> has_support_unix_domain_socket() end,
fun() ->
@@ -30112,9 +30415,9 @@ traffic_ping_pong_medium_sendto_and_recvfrom_udp4(suite) ->
[];
traffic_ping_pong_medium_sendto_and_recvfrom_udp4(doc) ->
[];
-traffic_ping_pong_medium_sendto_and_recvfrom_udp4(_Config) when is_list(_Config) ->
+traffic_ping_pong_medium_sendto_and_recvfrom_udp4(Config) when is_list(Config) ->
Msg = l2b(?TPP_MEDIUM),
- Num = ?TPP_MEDIUM_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_MEDIUM_NUM),
tc_try(traffic_ping_pong_medium_sendto_and_recvfrom_udp4,
fun() ->
?TT(?SECS(45)),
@@ -30139,9 +30442,9 @@ traffic_ping_pong_medium_sendto_and_recvfrom_udp6(suite) ->
[];
traffic_ping_pong_medium_sendto_and_recvfrom_udp6(doc) ->
[];
-traffic_ping_pong_medium_sendto_and_recvfrom_udp6(_Config) when is_list(_Config) ->
+traffic_ping_pong_medium_sendto_and_recvfrom_udp6(Config) when is_list(Config) ->
Msg = l2b(?TPP_MEDIUM),
- Num = ?TPP_MEDIUM_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_MEDIUM_NUM),
tc_try(traffic_ping_pong_medium_sendto_and_recvfrom_udp6,
fun() -> has_support_ipv6() end,
fun() ->
@@ -30168,9 +30471,9 @@ traffic_ping_pong_medium_sendto_and_recvfrom_udpL(suite) ->
[];
traffic_ping_pong_medium_sendto_and_recvfrom_udpL(doc) ->
[];
-traffic_ping_pong_medium_sendto_and_recvfrom_udpL(_Config) when is_list(_Config) ->
+traffic_ping_pong_medium_sendto_and_recvfrom_udpL(Config) when is_list(Config) ->
Msg = l2b(?TPP_MEDIUM),
- Num = ?TPP_MEDIUM_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_MEDIUM_NUM),
tc_try(traffic_ping_pong_medium_sendto_and_recvfrom_udpL,
fun() -> has_support_unix_domain_socket() end,
fun() ->
@@ -30197,9 +30500,9 @@ traffic_ping_pong_small_sendmsg_and_recvmsg_tcp4(suite) ->
[];
traffic_ping_pong_small_sendmsg_and_recvmsg_tcp4(doc) ->
[];
-traffic_ping_pong_small_sendmsg_and_recvmsg_tcp4(_Config) when is_list(_Config) ->
+traffic_ping_pong_small_sendmsg_and_recvmsg_tcp4(Config) when is_list(Config) ->
Msg = l2b(?TPP_SMALL),
- Num = ?TPP_SMALL_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_SMALL_NUM),
tc_try(traffic_ping_pong_small_sendmsg_and_recvmsg_tcp4,
fun() ->
?TT(?SECS(20)),
@@ -30224,9 +30527,9 @@ traffic_ping_pong_small_sendmsg_and_recvmsg_tcp6(suite) ->
[];
traffic_ping_pong_small_sendmsg_and_recvmsg_tcp6(doc) ->
[];
-traffic_ping_pong_small_sendmsg_and_recvmsg_tcp6(_Config) when is_list(_Config) ->
+traffic_ping_pong_small_sendmsg_and_recvmsg_tcp6(Config) when is_list(Config) ->
Msg = l2b(?TPP_SMALL),
- Num = ?TPP_SMALL_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_SMALL_NUM),
tc_try(traffic_ping_pong_small_sendmsg_and_recvmsg_tcp6,
fun() -> has_support_ipv6() end,
fun() ->
@@ -30252,9 +30555,9 @@ traffic_ping_pong_small_sendmsg_and_recvmsg_tcpL(suite) ->
[];
traffic_ping_pong_small_sendmsg_and_recvmsg_tcpL(doc) ->
[];
-traffic_ping_pong_small_sendmsg_and_recvmsg_tcpL(_Config) when is_list(_Config) ->
+traffic_ping_pong_small_sendmsg_and_recvmsg_tcpL(Config) when is_list(Config) ->
Msg = l2b(?TPP_SMALL),
- Num = ?TPP_SMALL_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_SMALL_NUM),
tc_try(traffic_ping_pong_small_sendmsg_and_recvmsg_tcpL,
fun() -> has_support_unix_domain_socket() end,
fun() ->
@@ -30280,9 +30583,9 @@ traffic_ping_pong_medium_sendmsg_and_recvmsg_tcp4(suite) ->
[];
traffic_ping_pong_medium_sendmsg_and_recvmsg_tcp4(doc) ->
[];
-traffic_ping_pong_medium_sendmsg_and_recvmsg_tcp4(_Config) when is_list(_Config) ->
+traffic_ping_pong_medium_sendmsg_and_recvmsg_tcp4(Config) when is_list(Config) ->
Msg = l2b(?TPP_MEDIUM),
- Num = ?TPP_MEDIUM_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_MEDIUM_NUM),
tc_try(traffic_ping_pong_medium_sendmsg_and_recvmsg_tcp4,
fun() ->
?TT(?SECS(30)),
@@ -30307,9 +30610,9 @@ traffic_ping_pong_medium_sendmsg_and_recvmsg_tcp6(suite) ->
[];
traffic_ping_pong_medium_sendmsg_and_recvmsg_tcp6(doc) ->
[];
-traffic_ping_pong_medium_sendmsg_and_recvmsg_tcp6(_Config) when is_list(_Config) ->
+traffic_ping_pong_medium_sendmsg_and_recvmsg_tcp6(Config) when is_list(Config) ->
Msg = l2b(?TPP_MEDIUM),
- Num = ?TPP_MEDIUM_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_MEDIUM_NUM),
tc_try(traffic_ping_pong_medium_sendmsg_and_recvmsg_tcp6,
fun() -> has_support_ipv6() end,
fun() ->
@@ -30335,9 +30638,9 @@ traffic_ping_pong_medium_sendmsg_and_recvmsg_tcpL(suite) ->
[];
traffic_ping_pong_medium_sendmsg_and_recvmsg_tcpL(doc) ->
[];
-traffic_ping_pong_medium_sendmsg_and_recvmsg_tcpL(_Config) when is_list(_Config) ->
+traffic_ping_pong_medium_sendmsg_and_recvmsg_tcpL(Config) when is_list(Config) ->
Msg = l2b(?TPP_MEDIUM),
- Num = ?TPP_MEDIUM_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_MEDIUM_NUM),
tc_try(traffic_ping_pong_medium_sendmsg_and_recvmsg_tcpL,
fun() -> has_support_unix_domain_socket() end,
fun() ->
@@ -30363,9 +30666,9 @@ traffic_ping_pong_large_sendmsg_and_recvmsg_tcp4(suite) ->
[];
traffic_ping_pong_large_sendmsg_and_recvmsg_tcp4(doc) ->
[];
-traffic_ping_pong_large_sendmsg_and_recvmsg_tcp4(_Config) when is_list(_Config) ->
+traffic_ping_pong_large_sendmsg_and_recvmsg_tcp4(Config) when is_list(Config) ->
Msg = l2b(?TPP_LARGE),
- Num = ?TPP_LARGE_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_LARGE_NUM),
tc_try(traffic_ping_pong_large_sendmsg_and_recvmsg_tcp4,
fun() -> traffic_ping_pong_large_sendmsg_and_recvmsg_cond() end,
fun() ->
@@ -30401,9 +30704,9 @@ traffic_ping_pong_large_sendmsg_and_recvmsg_tcp6(suite) ->
[];
traffic_ping_pong_large_sendmsg_and_recvmsg_tcp6(doc) ->
[];
-traffic_ping_pong_large_sendmsg_and_recvmsg_tcp6(_Config) when is_list(_Config) ->
+traffic_ping_pong_large_sendmsg_and_recvmsg_tcp6(Config) when is_list(Config) ->
Msg = l2b(?TPP_LARGE),
- Num = ?TPP_LARGE_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_LARGE_NUM),
tc_try(traffic_ping_pong_large_sendmsg_and_recvmsg_tcp6,
fun() ->
has_support_ipv6(),
@@ -30433,9 +30736,9 @@ traffic_ping_pong_large_sendmsg_and_recvmsg_tcpL(suite) ->
[];
traffic_ping_pong_large_sendmsg_and_recvmsg_tcpL(doc) ->
[];
-traffic_ping_pong_large_sendmsg_and_recvmsg_tcpL(_Config) when is_list(_Config) ->
+traffic_ping_pong_large_sendmsg_and_recvmsg_tcpL(Config) when is_list(Config) ->
Msg = l2b(?TPP_LARGE),
- Num = ?TPP_LARGE_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_LARGE_NUM),
tc_try(traffic_ping_pong_large_sendmsg_and_recvmsg_tcpL,
fun() -> has_support_unix_domain_socket() end,
fun() ->
@@ -30462,9 +30765,9 @@ traffic_ping_pong_small_sendmsg_and_recvmsg_udp4(suite) ->
[];
traffic_ping_pong_small_sendmsg_and_recvmsg_udp4(doc) ->
[];
-traffic_ping_pong_small_sendmsg_and_recvmsg_udp4(_Config) when is_list(_Config) ->
+traffic_ping_pong_small_sendmsg_and_recvmsg_udp4(Config) when is_list(Config) ->
Msg = l2b(?TPP_SMALL),
- Num = ?TPP_SMALL_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_SMALL_NUM),
tc_try(traffic_ping_pong_small_sendmsg_and_recvmsg_udp4,
fun() ->
?TT(?SECS(60)),
@@ -30489,9 +30792,9 @@ traffic_ping_pong_small_sendmsg_and_recvmsg_udp6(suite) ->
[];
traffic_ping_pong_small_sendmsg_and_recvmsg_udp6(doc) ->
[];
-traffic_ping_pong_small_sendmsg_and_recvmsg_udp6(_Config) when is_list(_Config) ->
+traffic_ping_pong_small_sendmsg_and_recvmsg_udp6(Config) when is_list(Config) ->
Msg = l2b(?TPP_SMALL),
- Num = ?TPP_SMALL_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_SMALL_NUM),
tc_try(traffic_ping_pong_small_sendmsg_and_recvmsg_udp6,
fun() -> has_support_ipv6() end,
fun() ->
@@ -30517,9 +30820,9 @@ traffic_ping_pong_small_sendmsg_and_recvmsg_udpL(suite) ->
[];
traffic_ping_pong_small_sendmsg_and_recvmsg_udpL(doc) ->
[];
-traffic_ping_pong_small_sendmsg_and_recvmsg_udpL(_Config) when is_list(_Config) ->
+traffic_ping_pong_small_sendmsg_and_recvmsg_udpL(Config) when is_list(Config) ->
Msg = l2b(?TPP_SMALL),
- Num = ?TPP_SMALL_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_SMALL_NUM),
tc_try(traffic_ping_pong_small_sendmsg_and_recvmsg_udpL,
fun() -> has_support_unix_domain_socket() end,
fun() ->
@@ -30545,9 +30848,9 @@ traffic_ping_pong_medium_sendmsg_and_recvmsg_udp4(suite) ->
[];
traffic_ping_pong_medium_sendmsg_and_recvmsg_udp4(doc) ->
[];
-traffic_ping_pong_medium_sendmsg_and_recvmsg_udp4(_Config) when is_list(_Config) ->
+traffic_ping_pong_medium_sendmsg_and_recvmsg_udp4(Config) when is_list(Config) ->
Msg = l2b(?TPP_MEDIUM),
- Num = ?TPP_MEDIUM_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_MEDIUM_NUM),
tc_try(traffic_ping_pong_medium_sendmsg_and_recvmsg_udp4,
fun() ->
?TT(?SECS(60)),
@@ -30572,9 +30875,9 @@ traffic_ping_pong_medium_sendmsg_and_recvmsg_udp6(suite) ->
[];
traffic_ping_pong_medium_sendmsg_and_recvmsg_udp6(doc) ->
[];
-traffic_ping_pong_medium_sendmsg_and_recvmsg_udp6(_Config) when is_list(_Config) ->
+traffic_ping_pong_medium_sendmsg_and_recvmsg_udp6(Config) when is_list(Config) ->
Msg = l2b(?TPP_MEDIUM),
- Num = ?TPP_MEDIUM_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_MEDIUM_NUM),
tc_try(traffic_ping_pong_medium_sendmsg_and_recvmsg_udp6,
fun() -> has_support_ipv6() end,
fun() ->
@@ -30601,9 +30904,9 @@ traffic_ping_pong_medium_sendmsg_and_recvmsg_udpL(suite) ->
[];
traffic_ping_pong_medium_sendmsg_and_recvmsg_udpL(doc) ->
[];
-traffic_ping_pong_medium_sendmsg_and_recvmsg_udpL(_Config) when is_list(_Config) ->
+traffic_ping_pong_medium_sendmsg_and_recvmsg_udpL(Config) when is_list(Config) ->
Msg = l2b(?TPP_MEDIUM),
- Num = ?TPP_MEDIUM_NUM,
+ Num = ?TPP_NUM(Config, ?TPP_MEDIUM_NUM),
tc_try(traffic_ping_pong_medium_sendmsg_and_recvmsg_udpL,
fun() -> has_support_unix_domain_socket() end,
fun() ->
@@ -31520,6 +31823,8 @@ tpp_tcp_client_sock_close(Sock, Path) ->
ok ->
unlink_path(Path),
ok;
+ {error, closed} ->
+ ok;
{error, Reason} ->
?SEV_EPRINT("failed closing: "
"~n Reason: ~p", [Reason]),
@@ -39672,6 +39977,17 @@ skip(Reason) ->
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+lookup(Key, Default, Config) ->
+ case lists:keysearch(Key, 1, Config) of
+ {value, {Key, Value}} ->
+ Value;
+ _ ->
+ Default
+ end.
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
t() ->
ts(ms).