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

openSUSE Build Service is sponsored by