File 4111-megaco-test-Attempt-to-handle-missing-app-et.patch of Package erlang
From da7ea02b300b024b684e93906a7ab5c050c3d5a1 Mon Sep 17 00:00:00 2001
From: Micael Karlberg <bmk@erlang.org>
Date: Mon, 18 Sep 2023 16:59:55 +0200
Subject: [PATCH 1/3] [megaco|test] Attempt to handle missing app et
If the system is build without 'et', many of the megaco
test cases will fail since that use et for tracing.
---
lib/megaco/test/megaco_mess_SUITE.erl | 149 +++++++++++-------
.../test/megaco_pending_limit_SUITE.erl | 18 ++-
lib/megaco/test/megaco_segment_SUITE.erl | 26 +--
lib/megaco/test/megaco_test_lib.erl | 33 +++-
lib/megaco/test/megaco_test_lib.hrl | 2 +
lib/megaco/test/megaco_trans_SUITE.erl | 26 +--
6 files changed, 170 insertions(+), 84 deletions(-)
diff --git a/lib/megaco/test/megaco_mess_SUITE.erl b/lib/megaco/test/megaco_mess_SUITE.erl
index c895592812..0643baa638 100644
--- a/lib/megaco/test/megaco_mess_SUITE.erl
+++ b/lib/megaco/test/megaco_mess_SUITE.erl
@@ -1,7 +1,7 @@
%%
%% %CopyrightBegin%
%%
-%% Copyright Ericsson AB 1999-2022. All Rights Reserved.
+%% Copyright Ericsson AB 1999-2023. All Rights Reserved.
%%
%% Licensed under the Apache License, Version 2.0 (the "License");
%% you may not use this file except in compliance with the License.
@@ -326,9 +326,6 @@
-define(GMCB(CB, VF), {megaco_callback, CB, VF}).
-define(GMCB_CONNECT(VF), ?GMCB(handle_connect, VF)).
-define(GMCB_TRANS_REP(VF), ?GMCB(handle_trans_reply, VF)).
--define(GMT(T), {megaco_trace, T}).
--define(GMT_ENABLE(), ?GMT(enable)).
--define(GMT_DISABLE(), ?GMT(disable)).
-define(GD(D), {debug, D}).
-define(GD_ENABLE(), ?GD(true)).
-define(GD_DISABLE(), ?GD(false)).
@@ -894,7 +891,9 @@ request_and_reply_pending_ack_no_pending(Config) when is_list(Config) ->
ok = ?START_NODES(Nodes, true),
Nodes
end,
- Case = fun do_request_and_reply_pending_ack_no_pending/1,
+ Case = fun(Nodes) ->
+ do_request_and_reply_pending_ack_no_pending(Config, Nodes)
+ end,
Post = fun(Nodes) ->
d("stop nodes"),
?STOP_NODES(lists:reverse(Nodes)),
@@ -902,12 +901,14 @@ request_and_reply_pending_ack_no_pending(Config) when is_list(Config) ->
end,
try_tc(rar_panp, Pre, Case, Post).
-do_request_and_reply_pending_ack_no_pending([MgcNode, MgNode]) ->
+do_request_and_reply_pending_ack_no_pending(Config,
+ [MgcNode, MgNode]) ->
d("[MGC] start the simulator "),
{ok, Mgc} = megaco_test_megaco_generator:start_link("MGC", MgcNode),
d("[MGC] create the event sequence"),
- MgcEvSeq = rarpanp_mgc_event_sequence(text, tcp),
+ MgcEvSeq = rarpanp_mgc_event_sequence(Config,
+ text, tcp),
i("wait some time before starting the MGC simulation"),
sleep(1000),
@@ -972,7 +973,8 @@ do_request_and_reply_pending_ack_no_pending([MgcNode, MgNode]) ->
fun rarpanp_mgc_verify_handle_disconnect/1).
-endif.
-rarpanp_mgc_event_sequence(text, tcp) ->
+rarpanp_mgc_event_sequence(Config,
+ text, tcp) ->
CTRL = self(),
Mid = {deviceName,"ctrl"},
RI = [
@@ -988,7 +990,7 @@ rarpanp_mgc_event_sequence(text, tcp) ->
EvSeq = [
{debug, true},
{megaco_trace, disable},
- {megaco_trace, max},
+ ?MEGACO_TRACE(Config, max), % {megaco_trace, max},
megaco_start,
{megaco_start_user, Mid, RI, []},
{megaco_update_user_info, sent_pending_limit, 100},
@@ -1496,20 +1498,24 @@ request_and_reply_pending_ack_one_pending(Config) when is_list(Config) ->
ok = ?START_NODES(Nodes, true),
Nodes
end,
- Case = fun do_request_and_reply_pending_ack_one_pending/1,
+ Case = fun(Nodes) ->
+ do_request_and_reply_pending_ack_one_pending(Config, Nodes)
+ end,
Post = fun(Nodes) ->
d("stop nodes"),
?STOP_NODES(lists:reverse(Nodes))
end,
try_tc(rar_paop, Pre, Case, Post).
-do_request_and_reply_pending_ack_one_pending([MgcNode, MgNode]) ->
+do_request_and_reply_pending_ack_one_pending(Config,
+ [MgcNode, MgNode]) ->
d("[MGC] start the simulator"),
{ok, Mgc} = megaco_test_megaco_generator:start_link("MGC", MgcNode),
d("[MGC] create the event sequence"),
%% MgcEvSeq = rarpaop_mgc_event_sequence(text, tcp),
- MgcEvSeq = rarpaop_mgc_event_sequence(binary, tcp),
+ MgcEvSeq = rarpaop_mgc_event_sequence(Config,
+ binary, tcp),
i("wait some time before starting the MGC simulation"),
sleep(1000),
@@ -1532,7 +1538,8 @@ do_request_and_reply_pending_ack_one_pending([MgcNode, MgNode]) ->
d("[MG] create the event sequence"),
%% MgEvSeq = rarpaop_mg_event_sequence(text, tcp),
- MgEvSeq = rarpaop_mg_event_sequence(binary, tcp),
+ MgEvSeq = rarpaop_mg_event_sequence(Config,
+ binary, tcp),
i("wait some time before starting the MG simulation"),
sleep(1000),
@@ -1582,20 +1589,25 @@ do_request_and_reply_pending_ack_one_pending([MgcNode, MgNode]) ->
fun rarpaop_mgc_verify_handle_disconnect/1).
-endif.
-rarpaop_mgc_event_sequence(text, tcp) ->
+rarpaop_mgc_event_sequence(Config,
+ text, tcp) ->
Port = 2944,
TranspMod = megaco_tcp,
EncMod = megaco_pretty_text_encoder,
EncConf = [],
- rarpaop_mgc_event_sequence(Port, TranspMod, EncMod, EncConf);
-rarpaop_mgc_event_sequence(binary, tcp) ->
+ rarpaop_mgc_event_sequence(Config,
+ Port, TranspMod, EncMod, EncConf);
+rarpaop_mgc_event_sequence(Config,
+ binary, tcp) ->
Port = 2945,
TranspMod = megaco_tcp,
EncMod = megaco_ber_encoder,
EncConf = [],
- rarpaop_mgc_event_sequence(Port, TranspMod, EncMod, EncConf).
+ rarpaop_mgc_event_sequence(Config,
+ Port, TranspMod, EncMod, EncConf).
-rarpaop_mgc_event_sequence(Port, TranspMod, EncMod, EncConf) ->
+rarpaop_mgc_event_sequence(Config,
+ Port, TranspMod, EncMod, EncConf) ->
CTRL = self(),
Mid = {deviceName,"ctrl"},
RI = [
@@ -1612,7 +1624,7 @@ rarpaop_mgc_event_sequence(Port, TranspMod, EncMod, EncConf) ->
EvSeq = [
{debug, true},
{megaco_trace, disable},
- {megaco_trace, max},
+ ?MEGACO_TRACE(Config, max), % {megaco_trace, max},
megaco_start,
{megaco_start_user, Mid, RI, []},
{megaco_update_user_info, sent_pending_limit, 100},
@@ -1871,18 +1883,23 @@ rarpaop_mgc_notify_reply_ar(Cid, TermId) ->
rarpaop_mg_verify_notify_rep_msg_fun(TransId, TermId)).
-endif.
-rarpaop_mg_event_sequence(text, tcp) ->
+rarpaop_mg_event_sequence(Config,
+ text, tcp) ->
Port = 2944,
EncMod = megaco_pretty_text_encoder,
EncConf = [],
- rarpaop_mg_event_sequence(Port, EncMod, EncConf);
-rarpaop_mg_event_sequence(binary, tcp) ->
+ rarpaop_mg_event_sequence(Config,
+ Port, EncMod, EncConf);
+rarpaop_mg_event_sequence(Config,
+ binary, tcp) ->
Port = 2945,
EncMod = megaco_ber_encoder,
EncConf = [],
- rarpaop_mg_event_sequence(Port, EncMod, EncConf).
+ rarpaop_mg_event_sequence(Config,
+ Port, EncMod, EncConf).
-rarpaop_mg_event_sequence(Port, EncMod, EncConf) ->
+rarpaop_mg_event_sequence(_Config,
+ Port, EncMod, EncConf) ->
DecodeFun = ?rarpaop_mg_decode_msg_fun(EncMod, EncConf),
EncodeFun = ?rarpaop_mg_encode_msg_fun(EncMod, EncConf),
Mid = {deviceName, "mg"},
@@ -3276,19 +3293,23 @@ request_and_reply_and_ack(Config) when is_list(Config) ->
ok = ?START_NODES(Nodes, true),
Nodes
end,
- Case = fun do_request_and_reply_and_ack/1,
+ Case = fun(Nodes) ->
+ do_request_and_reply_and_ack(Config, Nodes)
+ end,
Post = fun(Nodes) ->
d("stop nodes"),
?STOP_NODES(lists:reverse(Nodes))
end,
try_tc(raraa, Pre, Case, Post).
-do_request_and_reply_and_ack([MgcNode, MgNode]) ->
+do_request_and_reply_and_ack(Config,
+ [MgcNode, MgNode]) ->
d("[MGC] start the simulator "),
{ok, Mgc} = megaco_test_megaco_generator:start_link("MGC", MgcNode),
d("[MGC] create the event sequence"),
- MgcEvSeq = raraa_mgc_event_sequence(text, tcp),
+ MgcEvSeq = raraa_mgc_event_sequence(Config,
+ text, tcp),
i("wait some time before starting the MGC simulation"),
sleep(1000),
@@ -3361,7 +3382,8 @@ do_request_and_reply_and_ack([MgcNode, MgNode]) ->
fun raraa_mgc_verify_handle_disconnect/1).
-endif.
-raraa_mgc_event_sequence(text, tcp) ->
+raraa_mgc_event_sequence(Config,
+ text, tcp) ->
CTRL = self(),
Mid = {deviceName,"ctrl"},
RI = [
@@ -3378,7 +3400,7 @@ raraa_mgc_event_sequence(text, tcp) ->
EvSeq = [
{debug, true},
{megaco_trace, disable},
- {megaco_trace, max},
+ ?MEGACO_TRACE(Config, max), % {megaco_trace, max},
megaco_start,
{megaco_start_user, Mid, RI, []},
{megaco_update_user_info, sent_pending_limit, 100},
@@ -3903,7 +3925,9 @@ request_and_reply_and_no_ack(Config) when is_list(Config) ->
ok = ?START_NODES(Nodes, true),
Nodes
end,
- Case = fun do_request_and_reply_and_no_ack/1,
+ Case = fun(Nodes) ->
+ do_request_and_reply_and_no_ack(Config, Nodes)
+ end,
Post = fun(Nodes) ->
d("stop nodes"),
?STOP_NODES(lists:reverse(Nodes))
@@ -3911,12 +3935,14 @@ request_and_reply_and_no_ack(Config) when is_list(Config) ->
try_tc(rarana, Pre, Case, Post).
-do_request_and_reply_and_no_ack([MgcNode, MgNode]) ->
+do_request_and_reply_and_no_ack(Config,
+ [MgcNode, MgNode]) ->
d("[MGC] start the simulator "),
{ok, Mgc} = megaco_test_megaco_generator:start_link("MGC", MgcNode),
d("[MGC] create the event sequence"),
- MgcEvSeq = rarana_mgc_event_sequence(text, tcp),
+ MgcEvSeq = rarana_mgc_event_sequence(Config,
+ text, tcp),
i("wait some time before starting the MGC simulation"),
sleep(1000),
@@ -3989,7 +4015,8 @@ do_request_and_reply_and_no_ack([MgcNode, MgNode]) ->
fun rarana_mgc_verify_handle_disconnect/1).
-endif.
-rarana_mgc_event_sequence(text, tcp) ->
+rarana_mgc_event_sequence(Config,
+ text, tcp) ->
CTRL = self(),
Mid = {deviceName,"ctrl"},
RI = [
@@ -4006,7 +4033,7 @@ rarana_mgc_event_sequence(text, tcp) ->
EvSeq = [
{debug, true},
{megaco_trace, disable},
- {megaco_trace, max},
+ ?MEGACO_TRACE(Config, max), % {megaco_trace, max},
megaco_start,
{megaco_start_user, Mid, RI, []},
{megaco_update_user_info, sent_pending_limit, 100},
@@ -4517,19 +4544,23 @@ request_and_reply_and_late_ack(Config) when is_list(Config) ->
ok = ?START_NODES(Nodes, true),
Nodes
end,
- Case = fun do_request_and_reply_and_late_ack/1,
+ Case = fun(Nodes) ->
+ do_request_and_reply_and_late_ack(Config, Nodes)
+ end,
Post = fun(Nodes) ->
d("stop nodes"),
?STOP_NODES(lists:reverse(Nodes))
end,
try_tc(rarala, Pre, Case, Post).
-do_request_and_reply_and_late_ack([MgcNode, MgNode]) ->
+do_request_and_reply_and_late_ack(Config,
+ [MgcNode, MgNode]) ->
d("[MGC] start the simulator "),
{ok, Mgc} = megaco_test_megaco_generator:start_link("MGC", MgcNode),
d("[MGC] create the event sequence"),
- MgcEvSeq = rarala_mgc_event_sequence(text, tcp),
+ MgcEvSeq = rarala_mgc_event_sequence(Config,
+ text, tcp),
i("wait some time before starting the MGC simulation"),
sleep(1000),
@@ -4602,7 +4633,8 @@ do_request_and_reply_and_late_ack([MgcNode, MgNode]) ->
fun rarala_mgc_verify_handle_disconnect/1).
-endif.
-rarala_mgc_event_sequence(text, tcp) ->
+rarala_mgc_event_sequence(Config,
+ text, tcp) ->
CTRL = self(),
Mid = {deviceName,"ctrl"},
RI = [
@@ -4624,7 +4656,7 @@ rarala_mgc_event_sequence(text, tcp) ->
EvSeq = [
{debug, true},
{megaco_trace, disable},
- {megaco_trace, max},
+ ?MEGACO_TRACE(Config, max), % {megaco_trace, max},
megaco_start,
{megaco_start_user, Mid, RI, []},
{megaco_update_user_info, sent_pending_limit, 100},
@@ -5822,19 +5854,21 @@ pending_ack_plain(Config) when is_list(Config) ->
ok = ?START_NODES(Nodes, true),
Nodes
end,
- Case = fun do_pending_ack_plain/1,
+ Case = fun(Nodes) -> do_pending_ack_plain(Config, Nodes) end,
Post = fun(Nodes) ->
d("stop nodes"),
?STOP_NODES(lists:reverse(Nodes))
end,
try_tc(pap, Pre, Case, Post).
-do_pending_ack_plain([MgcNode, MgNode]) ->
+do_pending_ack_plain(Config,
+ [MgcNode, MgNode]) ->
d("[MGC] start the simulator "),
{ok, Mgc} = megaco_test_megaco_generator:start_link("MGC", MgcNode),
d("[MGC] create the event sequence"),
- MgcEvSeq = pap_mgc_event_sequence(text, tcp),
+ MgcEvSeq = pap_mgc_event_sequence(Config,
+ text, tcp),
i("wait some time before starting the MGC simulation"),
sleep(1000),
@@ -5911,7 +5945,8 @@ do_pending_ack_plain([MgcNode, MgNode]) ->
fun pap_mgc_verify_handle_disconnect/1).
-endif.
-pap_mgc_event_sequence(text, tcp) ->
+pap_mgc_event_sequence(Config,
+ text, tcp) ->
CTRL = self(),
Mid = {deviceName,"ctrl"},
RI = [
@@ -5929,7 +5964,7 @@ pap_mgc_event_sequence(text, tcp) ->
EvSeq = [
{debug, true},
{megaco_trace, disable},
- {megaco_trace, max},
+ ?MEGACO_TRACE(Config, max), % {megaco_trace, max},
megaco_start,
{megaco_start_user, Mid, RI, []},
{megaco_update_user_info, sent_pending_limit, 100},
@@ -7632,19 +7667,21 @@ otp_5805(Config) when is_list(Config) ->
ok = ?START_NODES(Nodes, true),
Nodes
end,
- Case = fun do_otp_5805/1,
+ Case = fun(Nodes) -> do_otp_5805(Config, Nodes) end,
Post = fun(Nodes) ->
d("stop nodes"),
?STOP_NODES(lists:reverse(Nodes))
end,
try_tc(otp_5805, Pre, Case, Post).
-do_otp_5805([MgcNode, MgNode]) ->
+do_otp_5805(Config,
+ [MgcNode, MgNode]) ->
d("[MGC] start the simulator "),
{ok, Mgc} = megaco_test_megaco_generator:start_link("MGC", MgcNode),
d("[MGC] create the event sequence"),
- MgcEvSeq = otp_5805_mgc_event_sequence(text, tcp),
+ MgcEvSeq = otp_5805_mgc_event_sequence(Config,
+ text, tcp),
i("wait some time before starting the MGC simulation"),
sleep(1000),
@@ -7923,7 +7960,8 @@ Transaction = 2 {
fun otp_5805_mgc_verify_handle_disconnect/1).
-endif.
-otp_5805_mgc_event_sequence(text, tcp) ->
+otp_5805_mgc_event_sequence(Config,
+ text, tcp) ->
CTRL = self(),
Mid = {deviceName,"ctrl"},
RI = [
@@ -7940,7 +7978,7 @@ otp_5805_mgc_event_sequence(text, tcp) ->
EvSeq = [
{debug, true},
{megaco_trace, disable},
- {megaco_trace, max},
+ ?MEGACO_TRACE(Config, max), % {megaco_trace, max},
megaco_start,
{megaco_start_user, Mid, RI, []},
start_transport,
@@ -12362,19 +12400,21 @@ otp_7189(Config) when is_list(Config) ->
ok = ?START_NODES(Nodes, true),
Nodes
end,
- Case = fun do_otp_7189/1,
+ Case = fun(Nodes) -> do_otp_7189(Config, Nodes) end,
Post = fun(Nodes) ->
d("stop nodes"),
?STOP_NODES(lists:reverse(Nodes))
end,
try_tc(otp_7189, Pre, Case, Post).
-do_otp_7189([MgcNode, MgNode]) ->
+do_otp_7189(Config,
+ [MgcNode, MgNode]) ->
d("[MGC] start the simulator "),
{ok, Mgc} = megaco_test_megaco_generator:start_link("MGC", MgcNode),
d("[MGC] create the event sequence"),
- MgcEvSeq = otp_7189_mgc_event_sequence(text, tcp),
+ MgcEvSeq = otp_7189_mgc_event_sequence(Config,
+ text, tcp),
i("wait some time before starting the MGC simulation"),
sleep(1000),
@@ -12442,7 +12482,8 @@ do_otp_7189([MgcNode, MgNode]) ->
fun otp_7189_mgc_verify_handle_disconnect/1).
-endif.
-otp_7189_mgc_event_sequence(text, tcp) ->
+otp_7189_mgc_event_sequence(Config,
+ text, tcp) ->
CTRL = self(),
Mid = {deviceName,"ctrl"},
RI = [
@@ -12488,7 +12529,7 @@ otp_7189_mgc_event_sequence(text, tcp) ->
EvSeq = [
{debug, true},
{megaco_trace, disable},
- {megaco_trace, max},
+ ?MEGACO_TRACE(Config, max), % {megaco_trace, max},
megaco_start,
{megaco_start_user, Mid, RI, []},
{megaco_update_user_info, recv_pending_limit, 10},
diff --git a/lib/megaco/test/megaco_pending_limit_SUITE.erl b/lib/megaco/test/megaco_pending_limit_SUITE.erl
index dfe52535c9..6c7d47bbfe 100644
--- a/lib/megaco/test/megaco_pending_limit_SUITE.erl
+++ b/lib/megaco/test/megaco_pending_limit_SUITE.erl
@@ -272,7 +272,7 @@ sent_timer_late_reply(Config) when is_list(Config) ->
[MgcNode, MgNode]),
Nodes = [MgcNode, MgNode],
ok = ?START_NODES(Nodes, true),
- #{nodes => Nodes}
+ #{conf => Config, nodes => Nodes}
end,
Case = fun(State) ->
do_sent_timer_late_reply(State)
@@ -284,7 +284,7 @@ sent_timer_late_reply(Config) when is_list(Config) ->
end,
try_tc(?FUNCTION_NAME, Cond, Pre, Case, Post).
-do_sent_timer_late_reply(#{nodes := [MgcNode, MgNode]}) ->
+do_sent_timer_late_reply(#{conf := Config, nodes := [MgcNode, MgNode]}) ->
%% Start the MGC and MGs
i("[MGC] start"),
ET = [{text,tcp}, {text,udp}, {binary,tcp}, {binary,udp}],
@@ -292,7 +292,7 @@ do_sent_timer_late_reply(#{nodes := [MgcNode, MgNode]}) ->
{ok, Mgc} = ?MGC_START(MgcNode, ET, MgcConf),
i("[MG] start"),
- MgConf = [{megaco_trace, io}],
+ MgConf = [?MEGACO_TRACE(Config, io)], % [{megaco_trace, io}],
{ok, Mg} = ?MG_START(MgNode, text, tcp, MgConf),
d("MG user info: ~p", [?MG_USER_INFO(Mg, all)]),
@@ -1187,7 +1187,7 @@ otp_4956(Config) when is_list(Config) ->
[MgcNode, MgNode]),
Nodes = [MgcNode, MgNode],
ok = ?START_NODES(Nodes, true),
- #{nodes => Nodes}
+ #{conf => Config, nodes => Nodes}
end,
Case = fun(State) ->
do_otp_4956(State)
@@ -1199,12 +1199,13 @@ otp_4956(Config) when is_list(Config) ->
end,
try_tc(?FUNCTION_NAME, Cond, Pre, Case, Post).
-do_otp_4956(#{nodes := [MgcNode, MgNode]}) ->
+do_otp_4956(#{conf := Config, nodes := [MgcNode, MgNode]}) ->
i("[MGC] start the simulator "),
{ok, Mgc} = megaco_test_megaco_generator:start_link("MGC", MgcNode),
i("[MGC] create the event sequence"),
- MgcEvSeq = otp_4956_mgc_event_sequence(text, tcp),
+ MgcEvSeq = otp_4956_mgc_event_sequence(Config,
+ text, tcp),
i("wait some time before starting the MGC simulation"),
sleep(1000),
@@ -1258,7 +1259,8 @@ do_otp_4956(#{nodes := [MgcNode, MgNode]}) ->
-define(otp_4956_mgc_verify_handle_disconnect_fun(),
fun otp_4956_mgc_verify_handle_disconnect/1).
-otp_4956_mgc_event_sequence(text, tcp) ->
+otp_4956_mgc_event_sequence(Config,
+ text, tcp) ->
Mid = {deviceName,"ctrl"},
RI = [
{port, 2944},
@@ -1281,7 +1283,7 @@ otp_4956_mgc_event_sequence(text, tcp) ->
EvSeq = [
{debug, true},
{megaco_trace, disable},
- {megaco_trace, max},
+ ?MEGACO_TRACE(Config, max), % {megaco_trace, max},
megaco_start,
{megaco_start_user, Mid, RI, []},
{megaco_update_user_info, sent_pending_limit, 4},
diff --git a/lib/megaco/test/megaco_segment_SUITE.erl b/lib/megaco/test/megaco_segment_SUITE.erl
index 3763a20954..988ccb0e70 100644
--- a/lib/megaco/test/megaco_segment_SUITE.erl
+++ b/lib/megaco/test/megaco_segment_SUITE.erl
@@ -5094,14 +5094,15 @@ recv_segmented_msg_plain(Config) when is_list(Config) ->
ok = ?START_NODES(Nodes),
Nodes
end,
- Case = fun do_recv_segmented_msg_plain/1,
+ Case = fun(Nodes) -> do_recv_segmented_msg_plain(Config, Nodes) end,
Post = fun(Nodes) ->
d("stop nodes"),
?STOP_NODES(lists:reverse(Nodes))
end,
try_tc(rsmp, Pre, Case, Post).
-do_recv_segmented_msg_plain([MgcNode, MgNode]) ->
+do_recv_segmented_msg_plain(Config,
+ [MgcNode, MgNode]) ->
d("[MGC] start the simulator "),
{ok, Mgc} = megaco_test_tcp_generator:start_link("MGC", MgcNode),
@@ -5122,7 +5123,8 @@ do_recv_segmented_msg_plain([MgcNode, MgNode]) ->
{ok, Mg} = megaco_test_megaco_generator:start_link("MG", MgNode),
d("[MG] create the event sequence"),
- MgEvSeq = rsmp_mg_event_sequence(text, tcp),
+ MgEvSeq = rsmp_mg_event_sequence(Config,
+ text, tcp),
i("wait some time before starting the MG simulation"),
sleep(1000),
@@ -5541,7 +5543,8 @@ rsmp_mgc_notify_reply_msg(SN, Mid, TransId, Cid, TermId) ->
%%
%% MG generator stuff
%%
-rsmp_mg_event_sequence(text, tcp) ->
+rsmp_mg_event_sequence(Config,
+ text, tcp) ->
Mid = {deviceName,"mg"},
RI = [
{port, 2944},
@@ -5563,7 +5566,7 @@ rsmp_mg_event_sequence(text, tcp) ->
EvSeq = [
{debug, true},
%% {megaco_trace, disable},
- {megaco_trace, max},
+ ?MEGACO_TRACE(Config, max), % {megaco_trace, max},
megaco_start,
{megaco_start_user, Mid, RI, []},
start_transport,
@@ -5770,14 +5773,15 @@ recv_segmented_msg_ooo_seg(Config) when is_list(Config) ->
ok = ?START_NODES(Nodes),
Nodes
end,
- Case = fun do_recv_segmented_msg_ooo_seg/1,
+ Case = fun(Nodes) -> do_recv_segmented_msg_ooo_seg(Config, Nodes) end,
Post = fun(Nodes) ->
d("stop nodes"),
?STOP_NODES(lists:reverse(Nodes))
end,
try_tc(rsmos, Pre, Case, Post).
-do_recv_segmented_msg_ooo_seg([MgcNode, MgNode]) ->
+do_recv_segmented_msg_ooo_seg(Config,
+ [MgcNode, MgNode]) ->
d("[MGC] start the simulator "),
{ok, Mgc} = megaco_test_tcp_generator:start_link("MGC", MgcNode),
@@ -5798,7 +5802,8 @@ do_recv_segmented_msg_ooo_seg([MgcNode, MgNode]) ->
{ok, Mg} = megaco_test_megaco_generator:start_link("MG", MgNode),
d("[MG] create the event sequence"),
- MgEvSeq = rsmos_mg_event_sequence(text, tcp),
+ MgEvSeq = rsmos_mg_event_sequence(Config,
+ text, tcp),
i("wait some time before starting the MG simulation"),
sleep(1000),
@@ -6211,7 +6216,8 @@ rsmos_mgc_notify_reply_msg(SN, Mid, TransId, Cid, TermId) ->
%%
%% MG generator stuff
%%
-rsmos_mg_event_sequence(text, tcp) ->
+rsmos_mg_event_sequence(Config,
+ text, tcp) ->
Mid = {deviceName,"mg"},
RI = [
{port, 2944},
@@ -6234,7 +6240,7 @@ rsmos_mg_event_sequence(text, tcp) ->
EvSeq = [
{debug, true},
%% {megaco_trace, disable},
- {megaco_trace, max},
+ ?MEGACO_TRACE(Config, max), % {megaco_trace, max},
megaco_start,
{megaco_start_user, Mid, RI, []},
start_transport,
diff --git a/lib/megaco/test/megaco_test_lib.erl b/lib/megaco/test/megaco_test_lib.erl
index 727ea37e11..5b7c1912d9 100644
--- a/lib/megaco/test/megaco_test_lib.erl
+++ b/lib/megaco/test/megaco_test_lib.erl
@@ -69,7 +69,9 @@
inet_backend_opts/1,
explicit_inet_backend/0, test_inet_backends/0,
open/3,
- listen/3, connect/3
+ listen/3, connect/3,
+
+ megaco_trace/2
]).
-export([init_per_suite/1, end_per_suite/1,
@@ -499,7 +501,7 @@ init_per_suite(Config) ->
{skip, "Unstable host and/or os (or combo thererof)"};
false ->
maybe_start_global_sys_monitor(Config),
- [{megaco_factor, Factor} | Config]
+ maybe_disable_trace([{megaco_factor, Factor} | Config])
catch
throw:{skip, _} = SKIP ->
SKIP
@@ -509,6 +511,18 @@ init_per_suite(Config) ->
SKIP
end.
+
+%% For tace to work, we need the 'et' app.
+%% Specifically, we need the et_selector module,
+%% so check if that module can be found!
+maybe_disable_trace(Config) ->
+ case code:ensure_loaded(et_selector) of
+ {error, _} ->
+ [{megaco_trace, disable} | Config];
+ _ ->
+ Config
+ end.
+
maybe_skip(_HostInfo) ->
%% We have some crap machines that causes random test case failures
@@ -3100,6 +3114,21 @@ stop_node(Node) ->
end.
+%% ----------------------------------------------------------------
+%% Gerated a 'megaco_trace' tuple based on Config and a default value
+%%
+
+megaco_trace(Config, Default) ->
+ Key = megaco_trace,
+ case lists:keysearch(Key, 1, Config) of
+ {value, {Key, Value}} ->
+ p("default megaco-trace ~w", [Value]),
+ {Key, Value};
+ _ ->
+ {Key, Default}
+ end.
+
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
timetrap_scale_factor() ->
diff --git a/lib/megaco/test/megaco_test_lib.hrl b/lib/megaco/test/megaco_test_lib.hrl
index 46bffdf818..c49f2e8aa0 100644
--- a/lib/megaco/test/megaco_test_lib.hrl
+++ b/lib/megaco/test/megaco_test_lib.hrl
@@ -145,3 +145,5 @@
-define(UNIQUE(__PreName__),
list_to_atom(
?F("~w_~w", [__PreName__, erlang:system_time(millisecond)]))).
+
+-define(MEGACO_TRACE(C, D), ?LIB:megaco_trace((C), (D))).
diff --git a/lib/megaco/test/megaco_trans_SUITE.erl b/lib/megaco/test/megaco_trans_SUITE.erl
index 0d98cb3895..88b7dc7246 100644
--- a/lib/megaco/test/megaco_trans_SUITE.erl
+++ b/lib/megaco/test/megaco_trans_SUITE.erl
@@ -603,14 +603,15 @@ single_trans_req(Config) when is_list(Config) ->
ok = ?START_NODES(Nodes),
Nodes
end,
- Case = fun do_single_trans_req/1,
+ Case = fun(Nodes) -> do_single_trans_req(Config, Nodes) end,
Post = fun(Nodes) ->
d("stop nodes"),
?STOP_NODES(lists:reverse(Nodes))
end,
try_tc(single_trans_req, Pre, Case, Post).
-do_single_trans_req([MgcNode, MgNode]) ->
+do_single_trans_req(Config,
+ [MgcNode, MgNode]) ->
d("[MGC] start the simulator "),
{ok, Mgc} = megaco_test_megaco_generator:start_link("MGC", MgcNode),
@@ -638,7 +639,8 @@ do_single_trans_req([MgcNode, MgNode]) ->
{ok, Mg} = megaco_test_megaco_generator:start_link("MG", MgNode),
d("[MG] create the event sequence"),
- MgEvSeq = str_mg_event_sequence(text, tcp),
+ MgEvSeq = str_mg_event_sequence(Config,
+ text, tcp),
i("wait some time before starting the MG simulation"),
sleep(1000),
@@ -890,7 +892,8 @@ str_mgc_notify_reply_ar(Cid, TermId) ->
fun str_mg_verify_notify_reply/1).
-endif.
-str_mg_event_sequence(text, tcp) ->
+str_mg_event_sequence(Config,
+ text, tcp) ->
Mid = {deviceName,"mg"},
RI = [
{port, 2944},
@@ -909,7 +912,7 @@ str_mg_event_sequence(text, tcp) ->
megaco_start,
{megaco_start_user, Mid, RI, []},
start_transport,
- {megaco_trace, max},
+ ?MEGACO_TRACE(Config, max), % {megaco_trace, max},
{megaco_system_info, users},
{megaco_system_info, connections},
connect,
@@ -8852,14 +8855,15 @@ otp_7192_3(Config) when is_list(Config) ->
ok = ?START_NODES(Nodes),
Nodes
end,
- Case = fun do_otp_7192_3/1,
+ Case = fun(Nodes) -> do_otp_7192_3(Config, Nodes) end,
Post = fun(Nodes) ->
d("stop nodes"),
?STOP_NODES(lists:reverse(Nodes))
end,
try_tc(otp_7192_3, Pre, Case, Post).
-do_otp_7192_3([MgcNode, MgNode]) ->
+do_otp_7192_3(Config,
+ [MgcNode, MgNode]) ->
MgMid = {deviceName,"mg"},
@@ -8867,7 +8871,8 @@ do_otp_7192_3([MgcNode, MgNode]) ->
{ok, Mgc} = megaco_test_megaco_generator:start_link("MGC", MgcNode),
d("[MGC] create the event sequence"),
- MgcEvSeq = otp72923_mgc_event_sequence(text, udp, MgMid),
+ MgcEvSeq = otp72923_mgc_event_sequence(Config,
+ text, udp, MgMid),
i("wait some time before starting the MGC simulation"),
sleep(1000),
@@ -8936,7 +8941,8 @@ do_otp_7192_3([MgcNode, MgNode]) ->
fun otp72923_mgc_verify_handle_disconnect/1).
-endif.
-otp72923_mgc_event_sequence(text, udp, MgMid) ->
+otp72923_mgc_event_sequence(Config,
+ text, udp, MgMid) ->
CTRL = self(),
Mid = {deviceName, "ctrl"},
RI = [
@@ -8957,7 +8963,7 @@ otp72923_mgc_event_sequence(text, udp, MgMid) ->
%% DiscoVerify = ?otp72923_mgc_verify_handle_disconnect_fun(),
EvSeq = [
{debug, true},
- {megaco_trace, max},
+ ?MEGACO_TRACE(Config, max), % {megaco_trace, max},
%% {megaco_trace, disable},
megaco_start,
{megaco_start_user, Mid, RI, []},
--
2.35.3