diff options
author | Micael Karlberg <bmk@erlang.org> | 2019-12-02 10:33:08 +0100 |
---|---|---|
committer | Micael Karlberg <bmk@erlang.org> | 2019-12-02 10:33:08 +0100 |
commit | 4d4141195a7d55cab20e8f1bb15732808c15782c (patch) | |
tree | bb344543793e8ee90b07b6dfcf166f0bebc93c3a /erts | |
parent | b94eae281bd3d993c5eb672375fd005f783a4e61 (diff) | |
parent | 310219fb21fb70dadea05697d93c76c6b2018d6b (diff) | |
download | erlang-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.erl | 502 |
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). |