library/IPA: split t_ASP_IPA_EVT_UD into send / receive templates

Change-Id: Ib5494bff3f9aa0ac396b729c326e7b4a64c5a5dd
This commit is contained in:
Vadim Yanitskiy 2020-05-18 20:44:14 +07:00
parent 8701b273dd
commit 61564be045
8 changed files with 25 additions and 21 deletions

View File

@ -102,8 +102,8 @@ function f_init_oml(charstring id) runs on BSC_OML_CT {
T_oml_guard.start;
activate(as_Tguard());
OML.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP));
//OML.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_ID_ACK));
OML.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP));
//OML.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK));
activate(as_SwAct());
activate(as_IPA_evt());

View File

@ -200,7 +200,7 @@ function f_init_gsup(charstring id, boolean legacy) runs on test_CT {
timer T := 10.0;
T.start;
alt {
[not legacy] GSUP_IPA_EVENT.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP)) { }
[not legacy] GSUP_IPA_EVENT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { }
[legacy] GSUP.receive(ASP_IPA_Event:{up_down := ASP_IPA_EVENT_UP}) { }
[] T.timeout {
setverdict(fail, "No connection to GSUP Port");

View File

@ -88,7 +88,11 @@ type union ASP_IPA_Event {
ASP_IPA_EventType up_down
}
template ASP_IPA_Event t_ASP_IPA_EVT_UD(ASP_IPA_EventType ud) := {
template (value) ASP_IPA_Event ts_ASP_IPA_EV(ASP_IPA_EventType ud) := {
up_down := ud
}
template ASP_IPA_Event tr_ASP_IPA_EV(template ASP_IPA_EventType ud) := {
up_down := ud
}
@ -291,7 +295,7 @@ private template IpaCcmRespPart t_IdRespPart(IpaCcmIdTag tag, charstring payload
data := char2oct(payload) & '00'O
}
private function f_send_IPA_EVT(template ASP_IPA_Event evt) runs on IPA_Emulation_CT {
private function f_send_IPA_EVT(template (value) ASP_IPA_Event evt) runs on IPA_Emulation_CT {
if (IPA_SP_PORT.checkstate("Connected")) {
IPA_SP_PORT.send(evt);
}
@ -410,7 +414,7 @@ private function f_ccm_rx_client(PDU_IPA_CCM ccm) runs on IPA_Emulation_CT {
f_ccm_tx(valueof(ts_IPA_PONG));
}
case (IPAC_MSGT_ID_ACK) {
f_send_IPA_EVT(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_ID_ACK));
f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK));
}
case (IPAC_MSGT_ID_GET) {
f_ccm_tx(f_ccm_make_id_resp(ccm));
@ -432,7 +436,7 @@ private function f_ccm_rx_server(PDU_IPA_CCM ccm) runs on IPA_Emulation_CT {
* the TCP connection is established. Other implementations may differ.
* We currently ignore it completely - but actually we should make sure that
* one ID_ACK is received by the server at some point */
f_send_IPA_EVT(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_ID_ACK));
f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK));
}
case (IPAC_MSGT_ID_RESP) {
log("IPA ID RESP: ", ccm.u.resp);
@ -488,7 +492,7 @@ function main_client(charstring remote_host, IPL4asp_Types.PortNumber remote_por
/* we're a client: Send ID_ACK immediately after connect */
f_ccm_tx(valueof(ts_IPA_ACK));
}
f_send_IPA_EVT(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP));
f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_UP));
ScanEvents();
}
@ -666,7 +670,7 @@ private function ScanEvents() runs on IPA_Emulation_CT {
[] IPA_PORT.receive(ASP_Event:{connOpened:=?}) -> value asp_evt {
log("IPA: Connected");
g_ipa_conn_id := asp_evt.connOpened.connId;
f_send_IPA_EVT(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP));
f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_UP));
if (g_mode == IPA_MODE_SERVER and g_ccm_enabled) {
select (g_init_behavior) {
case (IPA_INIT_SEND_IPA_ID_GET) {
@ -682,14 +686,14 @@ private function ScanEvents() runs on IPA_Emulation_CT {
[] IPA_PORT.receive(ASP_Event:{connClosed:=?}) -> value asp_evt {
log("IPA: Closed");
g_ipa_conn_id := -1;
f_send_IPA_EVT(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN));
f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_DOWN));
self.stop;
}
[] IPA_PORT.receive(Socket_API_Definitions.PortEvent:{result:={errorCode:=ERROR_SOCKET, connId:=?, os_error_code:=?, os_error_text:=?}}) -> value port_evt {
log("PortEvent: ERROR_SOCKET: ", port_evt);
g_ipa_conn_id := -1;
f_send_IPA_EVT(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN));
f_send_IPA_EVT(ts_ASP_IPA_EV(ASP_IPA_EVENT_DOWN));
self.stop;
}
@ -774,7 +778,7 @@ type component IPA_EventWaiter_CT {
port IPA_SP_PT IPA_SP_PORT;
}
function waiter_main(template ASP_IPA_Event wait_for := t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_ID_ACK))
function waiter_main(template ASP_IPA_Event wait_for := tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK))
runs on IPA_EventWaiter_CT {
alt {

View File

@ -290,7 +290,7 @@ function f_init_gsup(charstring id) runs on MTC_CT {
timer T := 10.0;
T.start;
alt {
[] GSUP_IPA_EVENT.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP)) { }
[] GSUP_IPA_EVENT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { }
[] T.timeout {
setverdict(fail, "No connection to GSUP Port");
mtc.stop

View File

@ -59,7 +59,7 @@ testcase TC_srv_connectClient_reject() runs on client_test_CT {
/* expect inbound connectClientReq */
as_connectClientReq(res := illegalClientId);
/* expect disconnect by client */
RSPRO_SRV[0].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN));
RSPRO_SRV[0].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN));
setverdict(pass);
f_sleep(1.0);
}
@ -139,7 +139,7 @@ testcase TC_bank_disconnect() runs on client_test_CT {
f_rspro_config_client_bank(bslot, ts_IpPort(ts_IPv4("0.0.0.0"), 0));
/* expect disconnect of client on simulated bankd side */
RSPRO_SRV[1].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN));
RSPRO_SRV[1].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN));
setverdict(pass);
}
@ -162,7 +162,7 @@ testcase TC_bank_disconnect_reconnect() runs on client_test_CT {
f_rspro_config_client_bank(bslot, ts_IpPort(ts_IPv4("0.0.0.0"), 0));
/* expect disconnect of client on simulated bankd side */
RSPRO_SRV[1].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN));
RSPRO_SRV[1].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN));
/* re-start the IPA emulation (which terminated itself on the TCP disconnect */
f_rspro_srv_init(1, mp_bankd_ip, mp_bankd_port, g_bankd_comp_id, exp_connect := false);

View File

@ -164,8 +164,8 @@ testcase TC_connect_and_nothing() runs on rspro_client_CT {
T.start;
/* expect that we're disconnected if we never send a ConnectClientReq */
alt {
[] RSPRO[0].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_ID_ACK)) { repeat; }
[] RSPRO[0].receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_DOWN)) {
[] RSPRO[0].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK)) { repeat; }
[] RSPRO[0].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN)) {
setverdict(pass);
}
[] T.timeout {

View File

@ -46,8 +46,8 @@ function f_ipa_srv_init() runs on IPA_selftest_CT {
function f_ipa_wait_up() runs on IPA_selftest_CT {
interleave {
[] IPA_RSL.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP));
[] IPA_CTRL.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP));
[] IPA_RSL.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP));
[] IPA_CTRL.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP));
}
}

View File

@ -232,7 +232,7 @@ private function f_init_gsup(charstring id) runs on test_CT {
timer T := 10.0;
T.start;
alt {
[] GSUP_IPA_EVENT.receive(t_ASP_IPA_EVT_UD(ASP_IPA_EVENT_UP)) { }
[] GSUP_IPA_EVENT.receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP)) { }
[] T.timeout {
setverdict(fail, "No connection to GSUP Port");
mtc.stop;