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/.
pespin gerrit-no-reply at lists.osmocom.orgpespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16040 ) Change subject: stp: Make sure all AS are shutdown when test finishes ...................................................................... stp: Make sure all AS are shutdown when test finishes This way traffic modes set dynamically by peers are cleared and can be reset by next tests easily. Change-Id: I177441b2d43298b3836ccf78fe11267333e80665 --- M stp/STP_Tests.ttcn M stp/STP_Tests_M3UA.ttcn 2 files changed, 56 insertions(+), 0 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/40/16040/1 diff --git a/stp/STP_Tests.ttcn b/stp/STP_Tests.ttcn index 023c53d..82bc03b 100644 --- a/stp/STP_Tests.ttcn +++ b/stp/STP_Tests.ttcn @@ -170,6 +170,8 @@ /* expect to receive it via IPA */ f_IPA_exp(0, sccp_enc); + + f_clear_m3ua(); } /* test routing an SCCP message from IPA ASP to M3UA ASP */ @@ -199,6 +201,8 @@ var template (present) M3UA_Protocol_Data rx_pd; rx_pd := tr_M3UA_protocol_data(pc_sender, pc_receiver, c_M3UA_SI_SCCP, '00'O, '00'O, '00'O, sccp_enc); f_M3UA_exp(0, tr_M3UA_DATA(rctx_receiver, rx_pd)); + + f_clear_m3ua(); } /* test routing an SCCP message from IPA ASP to M3UA ASP while patching PC into SCCP addresses */ @@ -233,6 +237,8 @@ rx_pd := tr_M3UA_protocol_data(pc_sender, pc_receiver, c_M3UA_SI_SCCP, '00'O, '00'O, '00'O, enc_PDU_SCCP(sccp_exp)); f_M3UA_exp(0, tr_M3UA_DATA(rctx_receiver, rx_pd)); + + f_clear_m3ua(); } diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn index 5c15c6f..c550d40 100644 --- a/stp/STP_Tests_M3UA.ttcn +++ b/stp/STP_Tests_M3UA.ttcn @@ -38,6 +38,7 @@ 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 */ @@ -103,6 +104,12 @@ g_m3ua_conn_id[i] := res.connId; } +friend function f_M3UA_close(integer i) runs on RAW_M3UA_CT { + var Result res; + res := M3UA_CodecPort_CtrlFunct.f_IPL4_close(M3UA[i], g_m3ua_conn_id[i], {sctp:=valueof(ts_SCTP)}); + g_m3ua_conn_id[i] := 0; +} + friend function f_M3UA_listen(integer i) runs on RAW_M3UA_CT { var Result res; res := M3UA_CodecPort_CtrlFunct.f_IPL4_listen(M3UA[i], mp_local_ip, mp_local_m3ua_port+i, @@ -126,6 +133,19 @@ } } +friend function f_clear_m3ua() runs on RAW_M3UA_CT { + var integer i; + + log("Clearing M3UA..."); + + for (i := 0; i < NR_M3UA; i:=i+1) { + f_M3UA_close(i); + } + /* Wait for recovery timer to trigger and shutdown all AS: */ + f_sleep(int2float(mp_recovery_timeout_msec)/1000.0 + 0.5); + setverdict(pass, "M3UA cleared"); +} + friend function f_init_m3ua_srv() runs on RAW_M3UA_CT { var integer i; var PortEvent sctp_evt; @@ -192,6 +212,7 @@ f_init_m3ua(); f_M3UA_asp_up(0); f_M3UA_exp(0, tr_M3UA_NOTIFY(c_M3UA_ST_T_STATE_CHG, c_M3UA_ST_I_AS_INACTIVE, *)); + f_clear_m3ua(); } /* Test the heartbeat procedure without optional heartbeat data payload */ @@ -200,6 +221,7 @@ f_M3UA_asp_up(0); f_M3UA_exp(0, tr_M3UA_NOTIFY(c_M3UA_ST_T_STATE_CHG, c_M3UA_ST_I_AS_INACTIVE, *)); f_M3UA_beat(0, omit); + f_clear_m3ua(); } /* Test the heartbeat procedure with optional heartbeat data payload */ @@ -208,30 +230,35 @@ f_M3UA_asp_up(0); f_M3UA_exp(0, tr_M3UA_NOTIFY(c_M3UA_ST_T_STATE_CHG, c_M3UA_ST_I_AS_INACTIVE, *)); f_M3UA_beat(0, 'a1a2a3a4a5'O); + f_clear_m3ua(); } /* Test the ASP-ACTIVATE procedure (without traffic-mode or routing ctx) */ testcase TC_asp_act() runs on RAW_M3UA_CT { f_init_m3ua(); f_M3UA_asp_up_act(0); + f_clear_m3ua(); } /* Test the ASP-ACTIVATE procedure with traffic-mode override */ testcase TC_asp_act_override() runs on RAW_M3UA_CT { f_init_m3ua(); f_M3UA_asp_up_act(0, c_M3UA_TMT_override, omit); + f_clear_m3ua(); } /* Test the ASP-ACTIVATE procedure with traffic-mode override */ testcase TC_asp_act_loadshare() runs on RAW_M3UA_CT { f_init_m3ua(); f_M3UA_asp_up_act(0, c_M3UA_TMT_loadshare, omit); + f_clear_m3ua(); } /* Test the ASP-ACTIVATE procedure with traffic-mode broadcast */ testcase TC_asp_act_broadcast() runs on RAW_M3UA_CT { f_init_m3ua(); f_M3UA_asp_up_act(0, c_M3UA_TMT_broadcast, omit); + f_clear_m3ua(); } /* Test if traffic is routed from idx_tx/pc_tx to idx_rx/pc_rx */ @@ -274,6 +301,7 @@ /* verify traffic is routed from sender to new receiver */ f_test_traffic(0, rctx_sender, pc_sender, 2, rctx_receiver, pc_receiver); + f_clear_m3ua(); } private altstep as_count_rx(integer idx, template (present) PDU_M3UA exp, inout integer counter) @@ -332,6 +360,8 @@ } } setverdict(pass); + + f_clear_m3ua(); } /* test "traffic-mode broadcast" behavior */ @@ -373,6 +403,8 @@ f_M3UA_exp(2, tr_M3UA_DATA(rctx_receiver, rx_pd)); } setverdict(pass); + + f_clear_m3ua(); } private function f_M3UA_rkm_register(OCT4 id, OCT3 dpc, OCT4 rctx, @@ -390,6 +422,8 @@ f_M3UA_send(0, ts_M3UA_REG_REQ({ts_M3UA_rkey(id:='00000099'O, dpc:='aabbcc'O)})); f_M3UA_exp(0, tr_M3UA_REG_RSP({tr_M3UA_reg_res(id:='00000099'O, status:=c_M3UA_REGSTS_ERR_EPERM, rctx:=?)})); + + f_clear_m3ua(); } /* Send RKM registration; expect OK as RCTX does match config */ @@ -402,6 +436,8 @@ f_M3UA_send(0, ts_M3UA_REG_REQ({ts_M3UA_rkey(id:='10000099'O, dpc:=dpc, rctx:=rctx)})); f_M3UA_exp(0, tr_M3UA_REG_RSP({tr_M3UA_reg_res(id:='10000099'O, status:=c_M3UA_REGSTS_SUCCESS, rctx:=rctx)})); + + f_clear_m3ua(); } /* Send RKM registration; expect OK as dynamic not permitted */ @@ -415,6 +451,8 @@ rctx:=?)})); f_vty_config2(VTY, {"cs7 instance 0"}, "xua rkm routing-key-allocation static-only"); + + f_clear_m3ua(); } /* try to de-register a routing key that was never registered -> error */ @@ -422,6 +460,7 @@ f_init_m3ua(); f_M3UA_send(0, ts_M3UA_DEREG_REQ(ts_M3UA_routing_ctx(int2oct(1023,4)))); f_M3UA_exp(0, tr_M3UA_DEREG_RSP({tr_M3UA_dereg_res(?,c_m3UA_DEREGSTS_ERR_NOT_REG)})); + f_clear_m3ua(); } /* try to de-register a routing key that is invalid (non-existant) -> error */ @@ -429,6 +468,7 @@ f_init_m3ua(); f_M3UA_send(0, ts_M3UA_DEREG_REQ(ts_M3UA_routing_ctx(int2oct(1234,4)))); f_M3UA_exp(0, tr_M3UA_DEREG_RSP({tr_M3UA_dereg_res(?,c_m3UA_DEREGSTS_ERR_INVAL_RCTX)})); + f_clear_m3ua(); } /* try to de-register a routing key that was registered -> OK*/ @@ -436,6 +476,7 @@ f_init_m3ua(); f_M3UA_send(0, ts_M3UA_DEREG_REQ(ts_M3UA_routing_ctx(int2oct(1023,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 */ @@ -455,6 +496,8 @@ f_M3UA_send(0, ts_M3UA_DEREG_REQ(ts_M3UA_routing_ctx(rctx))); f_M3UA_exp(0, tr_M3UA_DEREG_RSP({tr_M3UA_dereg_res(?,c_m3UA_DEREGSTS_ERR_ASP_ACTIVE)})); /* FIXME: we now may have changed the state on the STP side! */ + + f_clear_m3ua(); } /*********************************************************************** @@ -497,6 +540,8 @@ f_init_m3ua_srv(); f_M3UA_CLNT_asp_up(M3UA_SRV(0)); + + f_clear_m3ua(); } /* Expect inbound connection from ASP/SCTP-client, followed by ASP-UP + ASP-ACT */ @@ -505,6 +550,8 @@ f_init_m3ua_srv(); f_M3UA_CLNT_asp_up_act(M3UA_SRV(0)); + + f_clear_m3ua(); } /* Test traffic being routed through "server" side STP (M3UA SG), coming back in "client" @@ -525,6 +572,8 @@ /* verify traffic is routed from sender to [sole] receiver */ f_test_traffic(0, rctx_sender, pc_sender, M3UA_SRV(0), rctx_receiver, pc_receiver); + + f_clear_m3ua(); } /* Test traffic being routed through "client" side STP (M3UA ASP), coming back in "server" @@ -545,6 +594,7 @@ /* verify traffic is routed from sender to [sole] receiver */ f_test_traffic(M3UA_SRV(0), rctx_sender, pc_sender, 0, rctx_receiver, pc_receiver); + f_clear_m3ua(); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/16040 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: I177441b2d43298b3836ccf78fe11267333e80665 Gerrit-Change-Number: 16040 Gerrit-PatchSet: 1 Gerrit-Owner: pespin <pespin at sysmocom.de> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20191112/38b8025f/attachment.htm>