File 2186-kernel-esock-test-Add-send-local-bench-test-case.patch of Package erlang
From 59a4f066f67076992b578bb0197d3dc6cc013866 Mon Sep 17 00:00:00 2001
From: Micael Karlberg <bmk@erlang.org>
Date: Tue, 8 Apr 2025 18:50:23 +0200
Subject: [PATCH 06/10] [kernel|esock|test] Add send (local) bench test case
---
lib/kernel/test/socket_traffic_SUITE.erl | 28 ++++++++++++++++++++----
1 file changed, 24 insertions(+), 4 deletions(-)
diff --git a/lib/kernel/test/socket_traffic_SUITE.erl b/lib/kernel/test/socket_traffic_SUITE.erl
index 59353e348f..344f3ed2f0 100644
--- a/lib/kernel/test/socket_traffic_SUITE.erl
+++ b/lib/kernel/test/socket_traffic_SUITE.erl
@@ -156,7 +156,8 @@
traffic_bench_send_and_recv_tcp4/1,
traffic_bench_sendv_and_recv_tcp6/1,
traffic_bench_send_and_recv_tcp6/1,
- traffic_bench_sendv_and_recv_tcpL/1
+ traffic_bench_sendv_and_recv_tcpL/1,
+ traffic_bench_send_and_recv_tcpL/1
]).
@@ -191,7 +192,8 @@ all() ->
{counters, "ESOCK_TEST_TRAFFIC_COUNTERS", include},
{chunks, "ESOCK_TEST_TRAFFIC_CHUNKS", include},
{ping_pong, "ESOCK_TEST_TRAFFIC_PING_PONG", include},
- {bench, "ESOCK_TEST_TRAFFIC_BENCH", exclude}
+ %% {bench, "ESOCK_TEST_TRAFFIC_BENCH", exclude},
+ {bench, "ESOCK_TEST_TRAFFIC_BENCH", include}
],
[use_group(Group, Env, Default) || {Group, Env, Default} <- Groups].
@@ -270,8 +272,8 @@ traffic_bench_cases() ->
traffic_bench_send_and_recv_tcp4,
traffic_bench_sendv_and_recv_tcp6,
traffic_bench_send_and_recv_tcp6,
- traffic_bench_sendv_and_recv_tcpL%%,
- %% traffic_bench_send_and_recv_tcpL
+ traffic_bench_sendv_and_recv_tcpL,
+ traffic_bench_send_and_recv_tcpL
].
traffic_pp_send_recv_cases() ->
@@ -7030,6 +7032,8 @@ tpp_udp_sock_close(Sock, Path) ->
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% Benchmark test cases
+
-define(TB_IOV_CHUNK(Sz,V), list_to_binary(lists:duplicate((Sz), (V)))).
tb_iov() ->
IOV0 =
@@ -7145,6 +7149,22 @@ traffic_bench_sendv_and_recv_tcpL(Config) when is_list(Config) ->
do_traffic_bench_send_and_recv(InitState)
end).
+traffic_bench_send_and_recv_tcpL(Config) when is_list(Config) ->
+ ?TT(?MINS(2)), %% Test *should* run for 60 secs
+ IOV = tb_iov(),
+ Send = fun(S, Data) when is_list(Data) ->
+ socket:send(S, iolist_to_binary(Data))
+ end,
+ tc_try(?FUNCTION_NAME,
+ fun() -> has_support_unix_domain_socket() end,
+ fun() ->
+ InitState = #{domain => local,
+ send => Send,
+ iov => IOV,
+ run_time => ?MINS(1)},
+ do_traffic_bench_send_and_recv(InitState)
+ end).
+
do_traffic_bench_send_and_recv(#{run_time := RTime} = InitState) ->
?SEV_IPRINT("[ctrl] start server"),
{PathOrPort, Server} = tb_server_start(InitState),
--
2.43.0