File 2182-kernel-esock-test-Add-send-bench-test-case.patch of Package erlang

From a6cc0b8470c2ade317c9d7dda559606d9e1b4ea8 Mon Sep 17 00:00:00 2001
From: Micael Karlberg <bmk@erlang.org>
Date: Tue, 8 Apr 2025 17:37:26 +0200
Subject: [PATCH 02/10] [kernel|esock|test] Add send bench test case

---
 lib/kernel/test/socket_traffic_SUITE.erl | 31 ++++++++++++++++++------
 1 file changed, 24 insertions(+), 7 deletions(-)

diff --git a/lib/kernel/test/socket_traffic_SUITE.erl b/lib/kernel/test/socket_traffic_SUITE.erl
index 7ae3c19c57..aef177049c 100644
--- a/lib/kernel/test/socket_traffic_SUITE.erl
+++ b/lib/kernel/test/socket_traffic_SUITE.erl
@@ -152,7 +152,8 @@
          traffic_ping_pong_medium_sendmsg_and_recvmsg_udpL/1,
 
          %% *** Bench ***
-         traffic_bench_sendv_and_recv_tcp4/1
+         traffic_bench_sendv_and_recv_tcp4/1,
+         traffic_bench_send_and_recv_tcp4/1
         ]).
 
 
@@ -262,12 +263,12 @@ traffic_ping_pong_cases() ->
 
 traffic_bench_cases() ->
     [
-     traffic_bench_sendv_and_recv_tcp4%% ,
-     %% traffic_bench_send_recv_tcp4,
-     %% traffic_bench_sendv_recv_tcp6,
-     %% traffic_bench_send_recv_tcp6,
-     %% traffic_bench_sendv_recv_tcpL,
-     %% traffic_bench_send_recv_tcpL
+     traffic_bench_sendv_and_recv_tcp4,
+     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_pp_send_recv_cases() ->
@@ -7077,6 +7078,22 @@ traffic_bench_sendv_and_recv_tcp4(Config) when is_list(Config) ->
                    do_traffic_bench_send_and_recv(InitState)
            end).
 
+traffic_bench_send_and_recv_tcp4(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_ipv4() end,
+           fun() ->
+                   InitState = #{domain   => inet,
+                                 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"),
     {PortNumber, Server} = tb_server_start(InitState),
-- 
2.43.0

openSUSE Build Service is sponsored by