This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
laforge gerrit-no-reply at lists.osmocom.orglaforge has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/22784 ) Change subject: stp: Less magic numbers; centralize M3UA configuration ...................................................................... stp: Less magic numbers; centralize M3UA configuration We shouldn't be having magic numbers for point codes etc. in each test case. Change-Id: Id8a6241657e1f02f15d6722934eb040fc98beab1 --- M stp/STP_Tests_M3UA.ttcn 1 file changed, 89 insertions(+), 47 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/84/22784/1 diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index b76d9be..ee78c9c 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -34,18 +34,58 @@ import from STP_Tests_Common all; -modulepar { - HostList mp_stp_m3ua_ip := { "127.0.0.1", "::1" }; - HostList mp_local_m3ua_ip := { "127.0.0.1", "::1" }; - integer mp_stp_m3ua_port := 2905; - integer mp_stp_m3ua_clnt_port := 2906; - integer mp_local_m3ua_port := 9999; - integer mp_recovery_timeout_msec := 2000; -} - private const integer NR_M3UA := 3; /* number of M3UA clients in ATS */ private const integer NR_M3UA_SRV := 1; /* number of M3UA servres in ATS */ +modulepar { + /* STP-side IP addresses */ + HostList mp_stp_m3ua_ip := { "127.0.0.1", "::1" }; + /* local IP addresses */ + HostList mp_local_m3ua_ip := { "127.0.0.1", "::1" }; + M3uaConfigs mp_m3ua_configs := { + /* as-sender: One ASP within AS */ + { + remote_sctp_port := 2905, + local_sctp_port := 9999, + point_code := 23, + routing_ctx := 1023 + }, + /* as-reeiver: Two ASP within AS */ + { + remote_sctp_port := 2905, + local_sctp_port := 10000, + point_code := 42, + routing_ctx := 1042 + }, { + remote_sctp_port := 2905, + local_sctp_port := 10001, + point_code := 42, + routing_ctx := 1042 + }, + /* as-client: One ASP within AS */ + { + remote_sctp_port := 2906, + local_sctp_port := 10002, + point_code := 55, + routing_ctx := 1055 + } + }; + integer mp_recovery_timeout_msec := 2000; + charstring mp_sccp_service_type := "mtp3_itu"; +} + +type record M3uaConfig { + /* STP-side SCTP port for M3UA */ + integer remote_sctp_port, + /* local M3UA base port on TTCN3 side */ + integer local_sctp_port, + /* point code routed via this M3U */ + integer point_code, + /* associated routing context */ + integer routing_ctx +}; +type record length (NR_M3UA+NR_M3UA_SRV) of M3uaConfig M3uaConfigs; + private function M3UA_SRV(integer idx) return integer { return NR_M3UA+idx; } @@ -121,6 +161,7 @@ var Option opt_add_local_addrs; var OptionList opt_list := {}; var template SocketList opt_add_remote_addrs; + var M3uaConfig m3cfg := mp_m3ua_configs[i]; if (lengthof(mp_local_m3ua_ip) == 0 or lengthof(mp_stp_m3ua_ip) == 0) { setverdict(fail, "Empty local or remote address trying to connect SCTP socket: ", @@ -136,15 +177,15 @@ if (lengthof(mp_stp_m3ua_ip) > 1) { for (var integer j := 1; j < lengthof(mp_stp_m3ua_ip); j := j + 1) { - var Socket sk := valueof(ts_Socket(mp_stp_m3ua_ip[j], mp_stp_m3ua_port)); + var Socket sk := valueof(ts_Socket(mp_stp_m3ua_ip[j], m3cfg.remote_sctp_port)); opt_add_remote_addrs[j - 1] := sk; } } else { opt_add_remote_addrs := omit; } - res := M3UA_CodecPort_CtrlFunct.f_IPL4_connect(M3UA[i], mp_stp_m3ua_ip[0], mp_stp_m3ua_port, - mp_local_m3ua_ip[0], mp_local_m3ua_port+i, 0, + res := M3UA_CodecPort_CtrlFunct.f_IPL4_connect(M3UA[i], mp_stp_m3ua_ip[0], m3cfg.remote_sctp_port, + mp_local_m3ua_ip[0], m3cfg.local_sctp_port, 0, {sctp:=valueof(ts_SCTP(3, 0, opt_add_remote_addrs))}, opt_list); if (not ispresent(res.connId)) { @@ -164,6 +205,7 @@ var Result res; var Option opt_add_local_addrs; var OptionList opt_list := {}; + var M3uaConfig m3cfg := mp_m3ua_configs[i]; if (lengthof(mp_local_m3ua_ip) == 0 ) { setverdict(fail, "Empty local address trying to bind SCTP socket: ", @@ -177,7 +219,7 @@ opt_list := {opt_add_local_addrs}; } - res := M3UA_CodecPort_CtrlFunct.f_IPL4_listen(M3UA[i], mp_local_m3ua_ip[0], mp_local_m3ua_port+i, + res := M3UA_CodecPort_CtrlFunct.f_IPL4_listen(M3UA[i], mp_local_m3ua_ip[0], m3cfg.local_sctp_port, {sctp:=valueof(ts_SCTP)}, opt_list); if (not ispresent(res.connId)) { setverdict(fail, "Could not bind M3UA socket, check your configuration"); @@ -329,10 +371,10 @@ /* test whether the STP accepts M3UA DATA without Routing Context IE */ testcase TC_act_rctx_data_no_rctx() runs on RAW_M3UA_CT { - var OCT4 rctx_sender := int2oct(1023, 4); - var OCT4 pc_sender := int2oct(23, 4); - var OCT4 rctx_receiver := int2oct(1042, 4); - var OCT4 pc_receiver := int2oct(42, 4); + var OCT4 rctx_sender := int2oct(mp_m3ua_configs[0].routing_ctx, 4); + var OCT4 pc_sender := int2oct(mp_m3ua_configs[0].point_code, 4); + var OCT4 rctx_receiver := int2oct(mp_m3ua_configs[1].routing_ctx, 4); + var OCT4 pc_receiver := int2oct(mp_m3ua_configs[1].point_code, 4); f_init_m3ua(); /* bring up the sender specifying a routing context */ @@ -361,10 +403,10 @@ /* test "traffic-mode override" behavior */ testcase TC_tmt_override() runs on RAW_M3UA_CT { - var OCT4 rctx_sender := int2oct(1023, 4); - var OCT4 pc_sender := int2oct(23, 4); - var OCT4 rctx_receiver := int2oct(1042, 4); - var OCT4 pc_receiver := int2oct(42, 4); + var OCT4 rctx_sender := int2oct(mp_m3ua_configs[0].routing_ctx, 4); + var OCT4 pc_sender := int2oct(mp_m3ua_configs[0].point_code, 4); + var OCT4 rctx_receiver := int2oct(mp_m3ua_configs[1].routing_ctx, 4); + var OCT4 pc_receiver := int2oct(mp_m3ua_configs[1].point_code, 4); f_init_m3ua(); @@ -398,10 +440,10 @@ /* test "traffic-mode load-share" behavior */ testcase TC_tmt_loadshare() runs on RAW_M3UA_CT { - var OCT4 rctx_sender := int2oct(1023, 4); - var OCT4 pc_sender := int2oct(23, 4); - var OCT4 rctx_receiver := int2oct(1042, 4); - var OCT4 pc_receiver := int2oct(42, 4); + var OCT4 rctx_sender := int2oct(mp_m3ua_configs[0].routing_ctx, 4); + var OCT4 pc_sender := int2oct(mp_m3ua_configs[0].point_code, 4); + var OCT4 rctx_receiver := int2oct(mp_m3ua_configs[1].routing_ctx, 4); + var OCT4 pc_receiver := int2oct(mp_m3ua_configs[1].point_code, 4); var integer i; f_init_m3ua(); @@ -451,10 +493,10 @@ /* test "traffic-mode broadcast" behavior */ testcase TC_tmt_broadcast() runs on RAW_M3UA_CT { - var OCT4 rctx_sender := int2oct(1023, 4); - var OCT4 pc_sender := int2oct(23, 4); - var OCT4 rctx_receiver := int2oct(1042, 4); - var OCT4 pc_receiver := int2oct(42, 4); + var OCT4 rctx_sender := int2oct(mp_m3ua_configs[0].routing_ctx, 4); + var OCT4 pc_sender := int2oct(mp_m3ua_configs[0].point_code, 4); + var OCT4 rctx_receiver := int2oct(mp_m3ua_configs[1].routing_ctx, 4); + var OCT4 pc_receiver := int2oct(mp_m3ua_configs[1].point_code, 4); var integer i; f_init_m3ua(); @@ -513,8 +555,8 @@ /* Send RKM registration; expect OK as RCTX does match config */ testcase TC_rkm_reg_static_permitted() runs on RAW_M3UA_CT { - var OCT3 dpc := int2oct(23, 3); // must match config - var OCT4 rctx := int2oct(1023, 4); // must match config + var OCT3 dpc := int2oct(mp_m3ua_configs[0].point_code, 3); // must match config + var OCT4 rctx := int2oct(mp_m3ua_configs[0].routing_ctx, 4); // must match config f_init_m3ua(); @@ -543,7 +585,7 @@ /* try to de-register a routing key that was never registered -> error */ testcase TC_rkm_unreg_never_registered() runs on RAW_M3UA_CT { f_init_m3ua(); - f_M3UA_send(0, ts_M3UA_DEREG_REQ(ts_M3UA_routing_ctx(int2oct(1023,4)))); + f_M3UA_send(0, ts_M3UA_DEREG_REQ(ts_M3UA_routing_ctx(int2oct(mp_m3ua_configs[0].routing_ctx,4)))); f_M3UA_exp(0, tr_M3UA_DEREG_RSP({tr_M3UA_dereg_res(?,c_m3UA_DEREGSTS_ERR_NOT_REG)})); f_clear_m3ua(); } @@ -559,15 +601,15 @@ /* try to de-register a routing key that was registered -> OK*/ testcase TC_rkm_unreg_registered() runs on RAW_M3UA_CT { f_init_m3ua(); - f_M3UA_send(0, ts_M3UA_DEREG_REQ(ts_M3UA_routing_ctx(int2oct(1023,4)))); + f_M3UA_send(0, ts_M3UA_DEREG_REQ(ts_M3UA_routing_ctx(int2oct(mp_m3ua_configs[0].routing_ctx,4)))); f_M3UA_exp(0, tr_M3UA_DEREG_RSP({tr_M3UA_dereg_res(?,c_m3UA_DEREGSTS_SUCCESS)})); f_clear_m3ua(); } /* try to de-register a routing key for an active ASP -> ERROR */ testcase TC_rkm_unreg_active() runs on RAW_M3UA_CT { - var OCT3 dpc := int2oct(23, 3); // must match config - var OCT4 rctx := int2oct(1023, 4); // must match config + var OCT3 dpc := int2oct(mp_m3ua_configs[0].point_code, 3); // must match config + var OCT4 rctx := int2oct(mp_m3ua_configs[0].routing_ctx, 4); // must match config f_init_m3ua(); @@ -634,7 +676,7 @@ f_init_m3ua(); f_init_m3ua_srv(); - f_M3UA_CLNT_asp_up_act(M3UA_SRV(0), rctx := int2oct(1055, 4)); + f_M3UA_CLNT_asp_up_act(M3UA_SRV(0), rctx := int2oct(mp_m3ua_configs[M3UA_SRV(0)].routing_ctx, 4)); f_clear_m3ua(); } @@ -646,7 +688,7 @@ f_init_m3ua(); f_init_m3ua_srv(); - f_M3UA_CLNT_asp_up_act(M3UA_SRV(0), tmt := c_M3UA_TMT_loadshare, rctx := int2oct(1055, 4)); + f_M3UA_CLNT_asp_up_act(M3UA_SRV(0), tmt := c_M3UA_TMT_loadshare, rctx := int2oct(mp_m3ua_configs[M3UA_SRV(0)].routing_ctx, 4)); f_clear_m3ua(); } @@ -654,16 +696,16 @@ /* Test traffic being routed through "server" side STP (M3UA SG), coming back in "client" * side STP (M3UA ASP) */ testcase TC_clnt_sg_to_asp() runs on RAW_M3UA_CT { - var OCT4 rctx_sender := int2oct(1023, 4); - var OCT4 pc_sender := int2oct(23, 4); - var OCT4 rctx_receiver := int2oct(1055, 4); - var OCT4 pc_receiver := int2oct(55, 4); + var OCT4 rctx_sender := int2oct(mp_m3ua_configs[0].routing_ctx, 4); + var OCT4 pc_sender := int2oct(mp_m3ua_configs[0].point_code, 4); + var OCT4 rctx_receiver := int2oct(mp_m3ua_configs[M3UA_SRV(0)].routing_ctx, 4); + var OCT4 pc_receiver := int2oct(mp_m3ua_configs[M3UA_SRV(0)].point_code, 4); f_init_m3ua(); f_M3UA_asp_up_act(0); f_init_m3ua_srv(); - f_M3UA_CLNT_asp_up_act(M3UA_SRV(0), rctx := int2oct(1055, 4)); + f_M3UA_CLNT_asp_up_act(M3UA_SRV(0), rctx := int2oct(mp_m3ua_configs[M3UA_SRV(0)].routing_ctx, 4)); f_sleep(1.0); @@ -676,16 +718,16 @@ /* Test traffic being routed through "client" side STP (M3UA ASP), coming back in "server" * side STP (M3UA SG) */ testcase TC_clnt_asp_to_sg() runs on RAW_M3UA_CT { - var OCT4 rctx_sender := int2oct(1055, 4); - var OCT4 pc_sender := int2oct(55, 4); - var OCT4 rctx_receiver := int2oct(1023, 4); - var OCT4 pc_receiver := int2oct(23, 4); + var OCT4 rctx_sender := int2oct(mp_m3ua_configs[M3UA_SRV(0)].routing_ctx, 4); + var OCT4 pc_sender := int2oct(mp_m3ua_configs[M3UA_SRV(0)].point_code, 4); + var OCT4 rctx_receiver := int2oct(mp_m3ua_configs[0].routing_ctx, 4); + var OCT4 pc_receiver := int2oct(mp_m3ua_configs[0].point_code, 4); f_init_m3ua(); f_M3UA_asp_up_act(0); f_init_m3ua_srv(); - f_M3UA_CLNT_asp_up_act(M3UA_SRV(0), rctx := int2oct(1055, 4)); + f_M3UA_CLNT_asp_up_act(M3UA_SRV(0), rctx := int2oct(mp_m3ua_configs[M3UA_SRV(0)].routing_ctx, 4)); f_sleep(1.0); -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/22784 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: Id8a6241657e1f02f15d6722934eb040fc98beab1 Gerrit-Change-Number: 22784 Gerrit-PatchSet: 1 Gerrit-Owner: laforge <laforge at osmocom.org> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210207/1c3df3f3/attachment.htm>