| /////////////////////////////////////////////////////////////////////////////// |
| // // |
| // Copyright (c) 2000-2017 Ericsson Telecom AB // |
| // // |
| // All rights reserved. This program and the accompanying materials // |
| // are made available under the terms of the Eclipse Public License v2.0 // |
| // which accompanies this distribution, and is available at // |
| // https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html // |
| /////////////////////////////////////////////////////////////////////////////// |
| |
| /////////////////////////////////////////////////////////// |
| // Module: EPTF_LGenBasePerformTest_MTASFunctions |
| // |
| // Purpose: |
| // This module provides functions for testing LGenBase |
| // |
| // Module depends on: |
| // - |
| // |
| // Current Owner: |
| // Laszlo Skumat (ELSZSKU) |
| // |
| // Last Review Date: |
| // 2008-09-11 |
| // |
| // Detailed Comments: |
| // Provide functions to test LGenBase |
| // |
| // |
| /////////////////////////////////////////////////////////////// |
| module EPTF_LGenBasePerformTest_MTASFunctions |
| { |
| import from EPTF_CLL_LGenBase_Definitions all |
| import from EPTF_CLL_LGenBaseStats_Definitions all |
| import from EPTF_LGenBasePerformTest_MTASDefinitions all |
| #ifdef R3 |
| import from EPTF_CLL_Common_Definitions all |
| import from EPTF_CLL_LGenBase_ConfigFunctions all |
| import from EPTF_CLL_LGenBase_StepFunctions all |
| #endif |
| #ifdef R2 |
| import from EPTF_CLL_Definitions all |
| import from EPTF_CLL_LGenBase_Functions all |
| #endif |
| |
| function f_EPTF_LGenBasePerformTest_MTAS_initEvents() |
| runs on EPTF_LGenBasePerformTest_MTAS_CT |
| { |
| v_EPTF_CAI3G_myBIdx := f_EPTF_LGenBase_declareBehaviorType |
| ( |
| c_EPTF_CAI3G_myBName, |
| -1, null,null, null |
| ); |
| f_EPTF_LGenBase_declareFsmEvent(c_EPTF_CAI3G_myBName,"c_EPTF_CAI3G_inputName_sendSessionRequest")//0 |
| f_EPTF_LGenBase_declareFsmEvent(c_EPTF_CAI3G_myBName,"c_EPTF_CAI3G_inputName_receiveSessionResponse")//1 |
| f_EPTF_LGenBase_declareFsmEvent(c_EPTF_CAI3G_myBName,"c_EPTF_CAI3G_inputName_receive503ErrorResponse")//2 |
| f_EPTF_LGenBase_declareFsmEvent(c_EPTF_CAI3G_myBName,"c_EPTF_CAI3G_inputName_receive500ErrorResponse")//3 |
| f_EPTF_LGenBase_declareFsmEvent(c_EPTF_CAI3G_myBName,"c_EPTF_CAI3G_inputName_receiveUndefinedResponse")//4 |
| f_EPTF_LGenBase_declareFsmEvent(c_EPTF_CAI3G_myBName,"c_EPTF_CAI3G_inputName_responseSocketError")//5 |
| |
| v_DiameterBase_myBIdx := f_EPTF_LGenBase_declareBehaviorType(c_LGen_DiameterBase_Behaviour_name, |
| -1, null,null, null) |
| |
| c_DiameterBase_inputIdx_getCER := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_getCER); |
| c_DiameterBase_inputIdx_getCEA := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_getCEA); |
| c_DiameterBase_inputIdx_getDWR := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_getDWR); |
| c_DiameterBase_inputIdx_getDWA := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_getDWA); |
| c_DiameterBase_inputIdx_getDPR := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_getDPR); |
| c_DiameterBase_inputIdx_getDPA := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_getDPA); |
| c_DiameterBase_inputIdx_getACR := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_getACR); |
| c_DiameterBase_inputIdx_getACA := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_getACA); |
| c_DiameterBase_inputIdx_connInitialized := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_connInitialized); |
| c_DiameterBase_inputIdx_getRequest := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_getRequest); |
| c_DiameterBase_inputIdx_getAnswer := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_getAnswer); |
| c_DiameterBase_inputIdx_connOpened := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_connOpened); |
| c_DiameterBase_inputIdx_connClosed := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_connClosed); |
| c_DiameterBase_inputIdx_timeoutTw := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_timeoutTw); |
| c_DiameterBase_inputIdx_connTimeout := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_connTimeout); |
| c_DiameterBase_inputIdx_missingAVP := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_missingAVP); |
| c_DiameterBase_inputIdx_unknownUser := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_unknownUser); |
| c_DiameterBase_inputIdx_identitiesDontMatch := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_identitiesDontMatch); |
| c_DiameterBase_inputIdx_unknownHopByHop := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterBase_Behaviour_name,c_DiameterBase_inputName_unknownHopByHop); |
| |
| v_Diameter3gpp_myBIdx := f_EPTF_LGenBase_declareBehaviorType(c_LGen_Diameter3GPP_Behaviour_name, |
| -1, null,null, null) |
| c_Diameter3gpp_inputIdx_getUDR := f_EPTF_LGenBase_declareFsmEvent(c_LGen_Diameter3GPP_Behaviour_name,c_Diameter3gpp_inputName_getUDR); |
| c_Diameter3gpp_inputIdx_getSNR := f_EPTF_LGenBase_declareFsmEvent(c_LGen_Diameter3GPP_Behaviour_name,c_Diameter3gpp_inputName_getSNR); |
| c_Diameter3gpp_inputIdx_getPNR := f_EPTF_LGenBase_declareFsmEvent(c_LGen_Diameter3GPP_Behaviour_name,c_Diameter3gpp_inputName_getPNR); |
| c_Diameter3gpp_inputIdx_getPUR := f_EPTF_LGenBase_declareFsmEvent(c_LGen_Diameter3GPP_Behaviour_name,c_Diameter3gpp_inputName_getPUR); |
| |
| v_DiameterCC_myBIdx := f_EPTF_LGenBase_declareBehaviorType(c_LGen_DiameterCC_Behaviour_name, |
| -1, null, null, null); |
| c_DiameterCC_inputIdx_getCCR := f_EPTF_LGenBase_declareFsmEvent(c_LGen_DiameterCC_Behaviour_name,c_DiameterCC_inputName_getCCR); |
| |
| v_H248_LGen_myBIdx := |
| f_EPTF_LGenBase_declareBehaviorType( |
| c_LGen_H248_Behaviour_name, |
| -1, null, null, null); |
| |
| f_EPTF_LGenBase_declareFsmEvent( |
| c_LGen_H248_Behaviour_name, |
| c_EPTF_H248_LGen_inputName_recvMessage)//0 |
| f_EPTF_LGenBase_declareFsmEvent( |
| c_LGen_H248_Behaviour_name, |
| c_EPTF_H248_LGen_inputName_sendInitialSC)//1 |
| f_EPTF_LGenBase_declareFsmEvent( |
| c_LGen_H248_Behaviour_name, |
| c_EPTF_H248_LGen_inputName_sendDisconnectSC)//2 |
| f_EPTF_LGenBase_declareFsmEvent( |
| c_LGen_H248_Behaviour_name, |
| c_EPTF_H248_LGen_inputName_sendEventNotify)//3 |
| f_EPTF_LGenBase_declareFsmEvent( |
| c_LGen_H248_Behaviour_name, |
| c_EPTF_H248_LGen_inputName_reconnect)//4 |
| f_EPTF_LGenBase_declareFsmEvent( |
| c_LGen_H248_Behaviour_name, |
| c_EPTF_H248_LGen_inputName_sendServiceChange)//5 |
| |
| v_EPTF_XCAP_myBIdx := f_EPTF_LGenBase_declareBehaviorType( |
| c_EPTF_XCAP_myBName, |
| -1, null, null, null); |
| |
| f_EPTF_LGenBase_declareFsmEvent(c_EPTF_XCAP_myBName,c_EPTF_XCAP_inputName_start) |
| f_EPTF_LGenBase_declareFsmEvent(c_EPTF_XCAP_myBName,c_EPTF_XCAP_inputName_responseSuccessful) |
| f_EPTF_LGenBase_declareFsmEvent(c_EPTF_XCAP_myBName,c_EPTF_XCAP_inputName_responseUnsuccessful) |
| f_EPTF_LGenBase_declareFsmEvent(c_EPTF_XCAP_myBName,c_EPTF_XCAP_inputName_responseError) |
| f_EPTF_LGenBase_declareFsmEvent(c_EPTF_XCAP_myBName,c_EPTF_XCAP_inputName_responseUnauthorized) |
| f_EPTF_LGenBase_declareFsmEvent(c_EPTF_XCAP_myBName,c_EPTF_XCAP_inputName_retryAfter) |
| f_EPTF_LGenBase_declareFsmEvent(c_EPTF_XCAP_myBName,c_EPTF_XCAP_inputName_responseSocketError) |
| |
| f_EPTF_LGenBase_declareCompactFsmTable(f_CAI3G_return_compactFsm_connection()) |
| f_EPTF_LGenBase_declareCompactFsmTable(f_CAI3G_return_compactIndexedFsm_UserManagement()) |
| f_EPTF_LGenBase_declareCompactFsmTable(f_DiameterBase_return_compactFsm()) |
| f_EPTF_LGenBase_declareCompactFsmTable(f_EPTF_Diameter3GPP_return_CompactFSM()) |
| f_EPTF_LGenBase_declareCompactFsmTable(f_DiameterBaseRedirect_return_compactFsm()) |
| f_EPTF_LGenBase_declareCompactFsmTable(f_EPTF_DiameterCC_return_CompactFSM()) |
| f_EPTF_LGenBase_declareCompactFsmTable(f_EPTF_H248_LGen_return_compactFsm()) |
| f_EPTF_LGenBase_declareCompactFsmTable(f_EPTF_XCAP_return_CompactFsm_Application_GETPUT()) |
| f_EPTF_LGenBase_declareCompactFsmTable(f_EPTF_XCAP_return_CompactFsm_Application_GET()) |
| } |
| |
| |
| const EPTF_CharstringList c_FSMNames := { |
| "Bulk_Behavior", |
| "User Management Behavior", |
| "Diameter Base", |
| "Diameter 3GPP", |
| "Diameter Base Redirect", |
| "Diameter CC", |
| c_EPTF_H248_LGen_fsmName, |
| "IMS XCAP GETPUT FSM", |
| "IMS XCAP GET FSM" |
| } |
| |
| function f_EPTF_LGenBasePerformTest_dummyStep(in EPTF_LGenBase_TestStepArgs pl_ptr) |
| runs on EPTF_LGenBaseStats_CT { |
| } |
|
|
| function f_CAI3G_return_compactFsm_connection() |
| runs on EPTF_LGenBasePerformTest_MTAS_CT return EPTF_LGenBase_CompactFsmTable |
| { |
| return { |
| name := "Bulk_Behavior", |
| // [0] [1] [2] |
| stateList := {"idle","Waiting for Response","holdoff"}, |
| // [0] |
| timerList := {{"T_HoldOff",0.3},{"T_Timeout",1.5}}, |
| table := { |
| {eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_startTC,fsm}, |
| cellRow := { |
| //state[0]==idle |
| {{ //actionList |
| {refers(f_EPTF_LGenBase_step_trafficSuccess),{1}} |
| }, |
| omit, |
| 1 //nextState |
| } |
| //state[1]==Waiting for Response |
| ,{omit,omit,omit} |
| //state[2]==holdoff |
| ,{omit,omit,omit} |
| }//cellRow |
| },{eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_stopTC,fsm}, |
| cellRow := { |
| //state[0]==idle |
| {omit,omit,omit} |
| //state[1]==Waiting for Response |
| ,{{ |
| {refers(f_EPTF_LGenBase_step_timerCancel),{0}}, |
| {refers(f_EPTF_LGenBase_step_entityStopped),{}} |
| }, omit, 0} |
| //state[2]==holdoff |
| ,{omit,omit,0} |
| }//cellRow |
| },{eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_abortTC,fsm}, |
| cellRow := { |
| //state[0]==idle |
| {omit,omit,0} |
| //state[1]==Waiting for Response |
| ,{omit,omit,0} |
| //state[2]==holdoff |
| ,{omit,omit,0} |
| }//cellRow |
| },{eventToListen := {v_EPTF_CAI3G_myBIdx,c_EPTF_CAI3G_inputIdx_receiveSessionResponse,fsm}, |
| cellRow := { |
| //state[0]==idle |
| {omit,omit,omit} |
| //state[1]==Waiting For Response |
| ,{{ //actionList |
| {refers(f_EPTF_LGenBase_step_trafficSuccess),{}} |
| }, |
| omit, |
| c_EPTF_CAI3G_fsmState_idle //nextState |
| } |
| //state[2]==holdoff |
| ,{omit,omit,omit} |
| }//cellRow |
| },{eventToListen := {v_EPTF_CAI3G_myBIdx,c_EPTF_CAI3G_inputIdx_receive503ErrorResponse,fsm}, |
| cellRow := { |
| {omit,omit,omit} |
| //state[1]==Waiting For Response |
| ,{omit, |
| omit, |
| 2 //nextState |
| } |
| ,{omit,omit,omit} |
| }//cellRow |
| },{eventToListen := {v_EPTF_CAI3G_myBIdx,c_EPTF_CAI3G_inputIdx_receive500ErrorResponse,fsm}, |
| cellRow := { |
| {omit,omit,omit} |
| ,{{ //actionList |
| {refers(f_EPTF_LGenBase_step_trafficFailed),{}} |
| }, |
| omit, |
| c_EPTF_CAI3G_fsmState_idle //nextState |
| } |
| ,{omit,omit,omit} |
| }//cellRow |
| },{eventToListen := {c_EPTF_LGenBase_specialBIdx_timerTimeout,c_EPTF_CAI3G_fsmTimer_holdoff,fsm}, |
| cellRow := { |
| {omit,omit,omit} |
| ,{omit,omit,omit} |
| ,{{ //actionList |
| //{refers(f_EPTF_CAI3G_step_handleTimerTimeout_holdoff),{}} |
| }, |
| omit, |
| 1 //nextState |
| } |
| }//cellRow |
| },{eventToListen := {c_EPTF_LGenBase_specialBIdx_timerTimeout,1,fsm}, |
| cellRow := { |
| {omit,omit,0} |
| ,{{{refers(f_EPTF_LGenBase_step_trafficFailed),{}}},omit,0} |
| ,{omit,omit,0 //nextState |
| } |
| }//cellRow |
| } |
| }//table |
| }//return FSM |
| } |
| |
| function f_CAI3G_return_compactIndexedFsm_UserManagement() |
| runs on EPTF_LGenBasePerformTest_MTAS_CT return EPTF_LGenBase_CompactFsmTable |
| { |
| return { |
| name := "User Management Behavior", |
| // [0] [1] [2] |
| stateList := {"idle","Waiting For Get Response","Waiting For Set Response","holdoff"}, |
| // [0] [1] [2] |
| timerList := {{"T_HoldOff",0.3},{"T_Timeout",1.3}}, |
| table := { |
| {eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_startTC,fsm}, |
| cellRow := { |
| //state[0]==idle |
| {{ //actionList |
| {refers(f_EPTF_LGenBase_step_trafficSuccess),{1}} |
| }, |
| omit, |
| 1 //nextState |
| } |
| //state[1]==waiting get |
| ,{omit,omit,omit} |
| //state[2]==waiting set |
| ,{omit,omit,omit} |
| //state[3]==holdoff |
| ,{omit,omit,omit} |
| }//cellRow |
| },{eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_stopTC,fsm}, |
| cellRow := { |
| //state[0]==idle |
| {omit,omit,0} |
| //state[1]==waiting get |
| ,{omit,omit,0} |
| //state[2]==waiting set |
| ,{omit,omit,0} |
| //state[3]==holdoff |
| ,{omit,omit,0} |
| }//cellRow |
| },{eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_abortTC,fsm}, |
| cellRow := { |
| //state[0]==idle |
| {omit,omit,omit} |
| //state[1]==waiting get |
| ,{omit,omit,omit} |
| //state[2]==waiting set |
| ,{omit,omit,omit} |
| //state[3]==holdoff |
| ,{omit,omit,omit} |
| }//cellRow |
| },{eventToListen := {v_EPTF_CAI3G_myBIdx,c_EPTF_CAI3G_inputIdx_receiveSessionResponse,fsm}, |
| cellRow := { |
| //state[0]==idle |
| {omit,omit,omit} |
| //state[1]==waiting |
| ,{{ //actionList |
| {refers(f_EPTF_LGenBase_step_timerCancel),{1}} |
| }, |
| omit, |
| 1 //nextState |
| } |
| //state[2]==waiting set |
| ,{{ //actionList |
| {refers(f_EPTF_LGenBase_step_trafficSuccess),{}} |
| }, |
| omit, |
| 0 //nextState |
| } |
| //state[3]==holdoff |
| ,{omit,omit,omit} |
| }//cellRow |
| },{eventToListen := {v_EPTF_CAI3G_myBIdx,0,entity}, |
| cellRow := { |
| //state[0]==idle |
| {{ //actionList |
| {refers(f_EPTF_LGenBasePerformTest_dummyStep),{1}} |
| }, |
| omit, |
| 0 //nextState |
| } |
| ,{omit,omit,omit} |
| ,{omit,omit,omit} |
| ,{omit,omit,omit} |
| }//cellRow |
| }, |
| {eventToListen := {v_EPTF_CAI3G_myBIdx,c_EPTF_CAI3G_inputIdx_receive503ErrorResponse,fsm}, |
| cellRow := { |
| //state[0]==idle |
| {omit,omit,omit} |
| //state[1]==Waiting For Get |
| ,{{ //actionList |
| {refers(f_EPTF_LGenBase_step_timerStart),{0}} |
| }, |
| omit, |
| 3 //nextState |
| } |
| //state[2]==Waiting For Set |
| ,{{ //actionList |
| {refers(f_EPTF_LGenBase_step_timerStart),{0}} |
| }, |
| omit, |
| 3 //nextState |
| } |
| //state[3]==holdoff |
| ,{omit,omit,omit} |
| }//cellRow |
| },{eventToListen := {v_EPTF_CAI3G_myBIdx,c_EPTF_CAI3G_inputIdx_receive500ErrorResponse,fsm}, |
| cellRow := { |
| //state[0]==idle |
| {omit,omit,omit} |
| //state[1]==Waiting For Response |
| ,{{ //actionList |
| {refers(f_EPTF_LGenBase_step_trafficFailed),{}} |
| }, |
| omit, |
| 0 //nextState |
| } |
| //state[2]==Waiting For Response |
| ,{{ //actionList |
| {refers(f_EPTF_LGenBase_step_trafficFailed),{}} |
| }, |
| omit, |
| 0 //nextState |
| } |
| //state[3]==holdoff |
| ,{omit,omit,omit} |
| }//cellRow |
| },{eventToListen := {c_EPTF_LGenBase_specialBIdx_timerTimeout,c_EPTF_CAI3G_fsmTimer_holdoff,fsm}, |
| cellRow := { |
| //state[0]==idle |
| {omit,omit,omit} |
| //state[1]==connecting |
| ,{omit,omit,omit} |
| //state[2]==connected |
| ,{omit,omit,omit} |
| //state[3]==holdoff |
| ,{{ //actionList |
| {refers(f_EPTF_LGenBase_step_trafficFailed),{1}} |
| }, |
| omit, |
| 0 //nextState |
| } |
| }//cellRow |
| },{eventToListen := {c_EPTF_LGenBase_specialBIdx_timerTimeout,1,fsm}, |
| cellRow := { |
| //state[0]==idle |
| {omit,omit,0} |
| //state[1]==Waiting For Response |
| ,{omit,omit,0} |
| //state[2]==holdoff |
| ,{omit,omit,0} |
| ,{omit,omit,0} |
| }//cellRow |
| } |
| }//table |
| }//return FSM |
| } |
| |
| function f_DiameterBase_return_compactFsm() |
| runs on EPTF_LGenBasePerformTest_MTAS_CT |
| return EPTF_LGenBase_CompactFsmTable |
| { |
| return { |
| name := "Diameter Base", |
| |
| stateList := {"idle","connected"}, |
| |
| timerList := {}, |
| table := { |
| {eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_abortTC,general}, |
| cellRow := { |
| //state=closed |
| {{ |
| {refers(f_EPTF_LGenBasePerformTest_dummyStep),{}} |
| },omit, omit}, |
| {omit,omit,omit} |
| } |
| }, |
| {eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_stopTC,fsm}, |
| cellRow := { |
| {{ |
| {refers(f_EPTF_LGenBasePerformTest_dummyStep),{}} |
| },omit, omit}, |
| {{ |
| {refers(f_EPTF_LGenBasePerformTest_dummyStep),{}} |
| },omit, 0} |
| } |
| }, |
| // Diameter Base handling |
| {eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getCER,entity}, |
| cellRow := { |
| {{ |
| {refers(f_EPTF_LGenBase_step_trafficSuccess),{}} |
| },omit, omit}, |
| {omit,omit,omit} |
| } |
| }, |
| {eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getDPR,entity}, |
| cellRow := { |
| {omit,omit,omit}, |
| {omit,omit,omit} |
| |
| } |
| }, |
| {eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getDWR,entity}, |
| cellRow := { |
| {{ |
| {refers(f_EPTF_LGenBase_step_trafficFailed),{}} |
| },omit, omit}, |
| {omit,omit,omit} |
| } |
| }, |
| {eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getACR,entity}, |
| cellRow := { |
| {{ |
| {refers(f_EPTF_LGenBase_step_trafficFailed),{}} |
| },omit, omit}, |
| {omit,omit,omit} |
| } |
| }, |
| {eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getAnswer,entity}, |
| cellRow := { |
| {omit,omit,omit}, |
| {omit,omit,omit} |
| |
| } |
| }, |
| {eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getDPA,entity}, |
| cellRow := { |
| {{ |
| {refers(f_EPTF_LGenBase_step_trafficFailed),{}} |
| },omit, omit}, |
| {omit,omit,omit} |
| } |
| } |
| }//table |
| } |
| } |
| |
| function f_EPTF_Diameter3GPP_return_CompactFSM() |
| runs on EPTF_LGenBasePerformTest_MTAS_CT |
| return EPTF_LGenBase_CompactFsmTable |
| { |
| return { |
| name := "Diameter 3GPP", |
| // [0] |
| stateList := {"idle"}, |
| timerList := {}, |
| table := { |
| |
| {eventToListen := {v_DiameterBase_myBIdx, c_DiameterBase_inputIdx_connClosed,entity}, |
| cellRow := { |
| //state[0]==idle |
| {{ |
| {refers(f_EPTF_LGenBase_step_trafficSuccess),{}} |
| }, omit, omit} |
| } |
| }, |
| {eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_stopTC,general}, |
| cellRow := { |
| {omit,omit,omit} |
| } |
| }, |
| {eventToListen := {v_Diameter3gpp_myBIdx, c_Diameter3gpp_inputIdx_getUDR,entity}, |
| cellRow := { |
| {omit,omit,omit} |
| } |
| }, |
| {eventToListen := {v_Diameter3gpp_myBIdx, c_Diameter3gpp_inputIdx_getSNR,entity}, |
| cellRow := { |
| {omit,omit,omit} |
| } |
| }, |
| {eventToListen := {v_Diameter3gpp_myBIdx, c_Diameter3gpp_inputIdx_getPNR,entity}, |
| cellRow := { |
| {omit,omit,omit} |
| } |
| }, |
| {eventToListen := {v_Diameter3gpp_myBIdx, c_Diameter3gpp_inputIdx_getPUR,entity}, |
| cellRow := { |
| {omit,omit,omit} |
| } |
| } |
| } |
| } |
| } |
| |
| function f_DiameterBaseRedirect_return_compactFsm() |
| runs on EPTF_LGenBasePerformTest_MTAS_CT |
| return EPTF_LGenBase_CompactFsmTable |
| { |
| return { |
| name := "Diameter Base Redirect", |
| |
| stateList := {"idle","connected"}, |
| |
| timerList := {}, |
| table := { |
| {eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_startTC,fsm}, |
| cellRow := { |
| //state=closed |
| {{ |
| {refers(f_EPTF_LGenBasePerformTest_dummyStep),{}} |
| },omit, omit}, |
| {omit,omit,omit} |
| } |
| }, |
| {eventToListen := {c_EPTF_LGenBase_bIdx,c_EPTF_LGenBase_inputIdx_testMgmt_stopTC,fsm}, |
| cellRow := { |
| {{ |
| {refers(f_EPTF_LGenBase_step_trafficSuccess),{}} |
| },omit, omit}, |
| //state=open |
| {{ |
| {refers(f_EPTF_LGenBasePerformTest_dummyStep),{}} |
| },omit, 0} |
| } |
| }, |
| // Diameter Base handling |
| {eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getCER,entity}, |
| cellRow := { |
| //state=closed |
| {{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{3}} |
| },omit, 1}, |
| {{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{3}} |
| },omit, omit} |
| } |
| }, |
| {eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getDPR,entity}, |
| cellRow := { |
| //state=closed |
| {{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}} |
| },omit, omit}, |
| //state=open |
| {{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}} |
| },omit, omit} |
| |
| } |
| }, |
| {eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getDWR,entity}, |
| cellRow := { |
| //state=closed |
| {{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}} |
| },omit, omit}, |
| {{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}} |
| },omit, omit} |
| } |
| }, |
| {eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getACR,entity}, |
| cellRow := { |
| {{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}} |
| },omit, omit}, |
| {{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}} |
| },omit, omit} |
| } |
| }, |
| {eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getAnswer,entity}, |
| cellRow := { |
| {omit,omit,omit}, |
| //state=closed |
| {omit,omit,omit} |
| |
| } |
| }, |
| {eventToListen := {v_DiameterBase_myBIdx,c_DiameterBase_inputIdx_getDPA,entity}, |
| cellRow := { |
| {{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}} |
| },omit, omit}, |
| //state=closing |
| {{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}} |
| },omit, omit} |
| } |
| }, |
| {eventToListen := {v_DiameterBase_myBIdx, c_DiameterBase_inputIdx_getRequest,entity}, |
| cellRow := { |
| //state[0]==idle |
| {{ |
| {refers(f_EPTF_LGenBasePerformTest_dummyStep),{}} |
| }, omit, omit}, |
| {{ |
| {refers(f_EPTF_LGenBasePerformTest_dummyStep),{}} |
| }, omit, omit} |
| } |
| } |
| }//table |
| } |
| } |
| |
| function f_EPTF_DiameterCC_return_CompactFSM() |
| runs on EPTF_LGenBasePerformTest_MTAS_CT |
| return EPTF_LGenBase_CompactFsmTable |
| { |
| return { |
| name := "Diameter CC", |
| // [0] |
| stateList := {"idle"}, |
| timerList := {}, |
| table := { |
| {eventToListen := {v_DiameterCC_myBIdx,c_DiameterCC_inputIdx_getCCR,general}, |
| cellRow := { |
| //state[0]==idle |
| {{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}}, omit,omit} |
| |
| } |
| } |
| } |
| } |
| } |
| |
| function f_EPTF_H248_LGen_return_compactFsm() |
| runs on EPTF_LGenBasePerformTest_MTAS_CT |
| return EPTF_LGenBase_CompactFsmTable |
| { |
| return { |
| name := c_EPTF_H248_LGen_fsmName, |
| stateList := {"idle","waiting"}, |
| timerList := {/*{"StatTimer", tsp_statTimer_update}*/}, |
| table := { |
| { |
| // send open message |
| eventToListen := {v_H248_LGen_myBIdx, c_EPTF_H248_LGen_inputIdx_recvMessage,entity}, |
| cellRow := { |
| //state[0]==waiting |
| {{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}}, omit,omit}, |
| {omit, omit,omit} |
| } |
| }, |
| { |
| eventToListen := {v_H248_LGen_myBIdx, c_EPTF_H248_LGen_inputIdx_sendInitialSC,entity}, |
| cellRow := { |
| //state[0]==waiting |
| {{{refers(f_EPTF_LGenBasePerformTest_dummyStep),{}}}, omit,omit}, |
| { |
| omit, omit, omit |
| } |
| } |
| }, |
| { |
| eventToListen := {v_H248_LGen_myBIdx, c_EPTF_H248_LGen_inputIdx_sendDisconnectSC,entity}, |
| cellRow := { |
| //state[0]==waiting |
| { |
| omit, omit, omit |
| }, |
| { |
| omit, omit, omit |
| } |
| } |
| }, |
| { |
| eventToListen := {v_H248_LGen_myBIdx, c_EPTF_H248_LGen_inputIdx_sendEventNotify,entity}, |
| cellRow := { |
| //state[0]==waiting |
| { |
| omit, omit, omit |
| }, |
| { |
| omit, omit, omit |
| } |
| } |
| }, |
| { |
| eventToListen := {v_H248_LGen_myBIdx, c_EPTF_H248_LGen_inputIdx_reconnect,entity}, |
| cellRow := { |
| //state[0]==waiting |
| { |
| omit, omit, omit |
| }, |
| { |
| omit, omit, omit |
| } |
| } |
| }, |
| { |
| eventToListen := {c_EPTF_LGenBase_bIdx, c_EPTF_LGenBase_inputIdx_testMgmt_abortTC,general}, |
| cellRow := { |
| //state[0]==waiting |
| { |
| omit, omit, omit |
| }, |
| { |
| omit, omit, omit |
| } |
| } |
| }, |
| { |
| eventToListen := {c_EPTF_LGenBase_bIdx, c_EPTF_LGenBase_inputIdx_testMgmt_trafficCaseStopped,general}, |
| cellRow := { |
| //state[0]==waiting |
| |
| { |
| omit, omit, omit |
| }, |
| { |
| omit, omit, omit |
| } |
| } |
| } |
| } //table |
| }//fsm |
| } |
| function f_EPTF_XCAP_return_CompactFsm_Application_GETPUT() |
| runs on EPTF_LGenBasePerformTest_MTAS_CT return EPTF_LGenBase_CompactFsmTable |
| { |
| return { |
| name := "IMS XCAP GETPUT FSM", |
| // [0] [1] |
| stateList := {"Idle","Get","WaitingForPutResponse","WaitingForPutResponse"}, |
| timerList := {{"T_EPTF_XCAP_Latency",0.3},{"T_EPTF_XCAP_PUTGETDELAY",1.3}}, |
| table := { |
| {eventToListen := {c_EPTF_LGenBase_bIdx, c_EPTF_LGenBase_inputIdx_testMgmt_startTC,fsm}, |
| cellRow := { |
| {{ |
| {refers(f_EPTF_LGenBase_step_trafficSuccess),{}} |
| }, omit, 2}, |
| {omit,omit,omit}, |
| {omit,omit,omit}, |
| {omit,omit,omit} |
| } |
| }, |
| {eventToListen := {c_EPTF_LGenBase_specialBIdx_timerTimeout,0,fsm}, |
| cellRow := { |
| //state=idle |
| {omit,omit,omit}, |
| {omit,omit,omit}, |
| {{ |
| {refers(f_EPTF_LGenBase_step_trafficFailed),{}} |
| }, omit, 0}, |
| {{ |
| {refers(f_EPTF_LGenBase_step_trafficFailed),{}} |
| }, omit, 0} |
| } |
| }, |
| {eventToListen := {c_EPTF_LGenBase_specialBIdx_timerTimeout,1,fsm}, |
| cellRow := { |
| {omit,omit,omit}, |
| {{ |
| {refers(f_EPTF_LGenBase_step_timerStart),{0}} |
| }, omit, 3}, |
| {omit,omit,omit}, |
| {omit,omit,omit} |
| } |
| }, |
| {eventToListen := {v_EPTF_XCAP_myBIdx,c_EPTF_XCAP_inputIdx_responseSuccessful,entity}, |
| cellRow := { |
| //state=idle |
| {omit,omit,omit}, |
| {omit,omit,omit}, |
| |
| //state==waitingForResponse |
| {{ |
| {refers(f_EPTF_LGenBase_step_timerCancel),{0}}, |
| {refers(f_EPTF_LGenBase_step_timerStart),{1}} |
| }, omit, 1}, |
| {{ |
| {refers(f_EPTF_LGenBase_step_timerCancel),{0}}, |
| {refers(f_EPTF_LGenBase_step_trafficSuccess),{}} |
| }, omit, 0} |
| } |
| }, |
| {eventToListen := {v_EPTF_XCAP_myBIdx,c_EPTF_XCAP_inputIdx_responseUnsuccessful,entity}, |
| cellRow := { |
| //state=idle |
| {omit,omit,omit}, |
| {omit,omit,omit}, |
| //state==waitingForResponse |
| {{ |
| {refers(f_EPTF_LGenBase_step_timerCancel),{0}}, |
| {refers(f_EPTF_LGenBase_step_trafficFailed),{}} |
| }, omit, 0}, |
| {{ |
| {refers(f_EPTF_LGenBase_step_timerCancel),{0}}, |
| {refers(f_EPTF_LGenBase_step_trafficFailed),{}} |
| }, omit, 0} |
| } |
| }, |
| {eventToListen := {c_EPTF_LGenBase_bIdx, c_EPTF_LGenBase_inputIdx_testMgmt_stopTC,entity}, |
| cellRow := { |
| //state=idle |
| {omit,omit,omit}, |
| {omit,omit,omit}, |
| |
| {{ |
| {refers(f_EPTF_LGenBase_step_timerCancel),{0}}, |
| {refers(f_EPTF_LGenBase_step_timerCancel),{1}}, |
| {refers(f_EPTF_LGenBase_step_entityStopped),{}} |
| }, omit, 0}, |
| {{ |
| {refers(f_EPTF_LGenBase_step_timerCancel),{0}}, |
| {refers(f_EPTF_LGenBase_step_timerCancel),{1}}, |
| {refers(f_EPTF_LGenBase_step_entityStopped),{}} |
| }, omit, 0} |
| } |
| } |
| |
| }//table |
| }//fsm |
| } |
| |
| /////////////////////////////////////////////////////////// |
| // Function: f_EPTF_XCAP_return_CompactFsm_Application_GET |
| // |
| // Purpose: |
| // Returns the Application FSM for XCAP |
| // |
| // Parameters: |
| // - |
| // |
| // Return Value: |
| // <EPTF_LGenBase_CompactFsmTable> - the result |
| // |
| // Errors: |
| // - |
| // |
| // Detailed Comments: |
| // - |
| // |
| /////////////////////////////////////////////////////////// |
| function f_EPTF_XCAP_return_CompactFsm_Application_GET() |
| runs on EPTF_LGenBasePerformTest_MTAS_CT return EPTF_LGenBase_CompactFsmTable |
| { |
| return { |
| name := "IMS XCAP GET FSM", |
| // [0] [1] |
| stateList := {"idle","waitingForResponse"}, |
| timerList := {{"T_EPTF_XCAP_Latency",1.3}}, |
| table := { |
| {eventToListen := {c_EPTF_LGenBase_bIdx, c_EPTF_LGenBase_inputIdx_testMgmt_startTC,fsm}, |
| cellRow := { |
| //state==idle |
| {{ |
| {refers(f_EPTF_LGenBase_step_trafficSuccess),{0}} |
| }, omit, omit}, |
| //state==waitingForResponse |
| {omit,omit,omit} |
| } |
| }, |
| {eventToListen := {c_EPTF_LGenBase_specialBIdx_timerTimeout,0,fsm}, |
| cellRow := { |
| //state=idle |
| {omit,omit,omit}, |
| //state==waitingForResponse |
| {{ |
| {refers(f_EPTF_LGenBase_step_trafficFailed),{}} |
| }, omit, 0} |
| } |
| }, |
| {eventToListen := {v_EPTF_XCAP_myBIdx,c_EPTF_XCAP_inputIdx_responseSuccessful,entity}, |
| cellRow := { |
| //state=idle |
| {omit,omit,omit}, |
| //state==waitingForResponse |
| {{ |
| {refers(f_EPTF_LGenBase_step_timerCancel),{0}}, |
| {refers(f_EPTF_LGenBase_step_trafficSuccess),{}} |
| //{refers(f_EPTF_XCAP_step_reportUpEvent),{c_EPTF_XCAP_inputIdx_response_successful}} |
| }, omit, 0} |
| } |
| }, |
| {eventToListen := {v_EPTF_XCAP_myBIdx,c_EPTF_XCAP_inputIdx_responseUnsuccessful,entity}, |
| cellRow := { |
| //state=idle |
| {omit,omit,omit}, |
| //state==waitingForResponse |
| {{ |
| {refers(f_EPTF_LGenBase_step_timerCancel),{0}}, |
| {refers(f_EPTF_LGenBase_step_trafficFailed),{}} |
| //{refers(f_EPTF_XCAP_step_reportUpEvent),{c_EPTF_XCAP_inputIdx_response_Unsuccessful}} |
| }, omit, 0} |
| } |
| }, |
| {eventToListen := {c_EPTF_LGenBase_bIdx, c_EPTF_LGenBase_inputIdx_testMgmt_stopTC,entity}, |
| cellRow := { |
| //state=idle |
| {omit,omit,omit}, |
| //state==waitingForResponse |
| {{ |
| {refers(f_EPTF_LGenBase_step_timerCancel),{0}} |
| }, omit, 0} |
| } |
| } |
| |
| }//table |
| }//fsm |
| } |
|
|
| } // end of module
|