Commit 722f282c authored by juvancic's avatar juvancic
Browse files

added Trace TPs

parent c6fbf5e1
Loading
Loading
Loading
Loading
+216 −0
Original line number Diff line number Diff line
@@ -1173,15 +1173,157 @@ module NGAP_TCFunctions {
        group Trace_Procedures{
            //8.11.1
            group Trace_Start{

                /**
                * @desc Testcase function for TC_NGAP_gNB_TRP_01
                */
                function f_TC_NGAP_GNB_TRP_01() runs on aMFNGAPComponent {
                   // Local variables

                   // Preamble
                   f_NGAP_amf_init();
                   f_NGAP_amf_UE_Register();
                   //f_NGAP_amf_UE_PDU_ResourceSetup();

                   f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                   // Body
                   f_send_NGAP_PDU(
                     m_ngap_initMsg(
                       m_n2_TraceStart(
                        -,
                        -,
                        m_traceActivation(
                          '0000000000000001'O,//in template (value) NGRANTraceID p_nGRANTraceID,
                          '00000000'B,//in template (value) InterfacesToTrace p_interfacesToTrace,
                          m_traceDepth(minimum),
                          PX_TRANSPORT_LAYER_ADDRESS,
                          omit//in template (omit) TraceActivation.iE_Extensions p_iE_Extensions := omit
                        )
                       )
                     )
                   );

                   f_recv_NGAP_PDU(
                     mw_ngap_initMsg(
                       mw_n2_TraceFailureIndication(
                         -,
                         -,
                         ?,
                         ?
                       )
                     )
                   );

                   f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");

                   // Postamble
                   f_postamble_NGAP_gNB();
                   f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");

                } // End of function f_TC_NGAP_gNB_TRP_01

            } // End of group Trace_Start
            //8.11.2
            group Trace_Failure_Indication{
            } // End of group Trace_Failure_Indication
            //8.11.3
            group Deactivate_Trace{

               /**
                * @desc Testcase function for TC_NGAP_gNB_TRP_02
                */
                function f_TC_NGAP_GNB_TRP_02() runs on aMFNGAPComponent {
                   // Local variables

                   // Preamble
                   f_NGAP_amf_init();
                   f_NGAP_amf_UE_Register();
                   //f_NGAP_amf_UE_PDU_ResourceSetup();

                   f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                   // Body
                   f_send_NGAP_PDU(
                     m_ngap_initMsg(
                       m_n2_DeactivateTrace(
                        -,
                        -,
                        '0000000000000001'O//in template (value) NGRANTraceID p_NGRANTraceID
                       )
                     )
                   );

                   f_recv_NGAP_PDU(
                     mw_ngap_initMsg(
                       mw_n2_TraceFailureIndication(
                         -,
                         -,
                         ?,
                         ?
                       )
                     )
                   );

                   f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");

                   // Postamble
                   f_postamble_NGAP_gNB();
                   f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");

                } // End of function f_TC_NGAP_gNB_TRP_02

            } // End of group Deactivate_Trace
            //8.11.4
            group Cell_Traffic_Trace{

                /**
                * @desc Testcase function for TC_NGAP_gNB_TRP_03
                */
                function f_TC_NGAP_GNB_TRP_03() runs on aMFNGAPComponent {
                   // Local variables

                   // Preamble
                   f_NGAP_amf_init();
                   f_NGAP_amf_UE_Register();
                   //f_NGAP_amf_UE_PDU_ResourceSetup();

                   f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                   // Body
                   action("Trigger CELL TRAFFIC TRACE!");

                   f_recv_NGAP_PDU(
                     mw_ngap_initMsg(
                       mw_n2_CellTrafficTrace(
                         ?,
                         ?,
                         ?,
                         ?,			
                         ?,	
                         ?,		
                         ?	
                       )
                     )
                   );

                   f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");

                   // Postamble
                   f_postamble_NGAP_gNB();
                   f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");

                } // End of function f_TC_NGAP_gNB_TRP_03

            } // End of group Cell_Traffic_Trace
        } // End of group Trace_Procedures
        //8.12
@@ -1785,12 +1927,86 @@ module NGAP_TCFunctions {
        group Trace_Procedures{
            //8.11.1
            group Trace_Start{

              /**
               * @desc Testcase function for TC_NGAP_aMF_TRP_01
               */
               function f_TC_NGAP_AMF_TRP_01() runs on gNBNGAPComponent {
                   // Local variables

                   // Preamble
                   f_NGAP_gnb_init();
                   f_NGAP_gnb_UE_Register();
                   
                   f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                   // Body
                   action("Trigger TRACE START!");

                   f_recv_NGAP_PDU(
                     mw_ngap_initMsg(
                       mw_n2_TraceStart(
                         ?,
                         ?,
                         ?
                       )
                     )
                   );

                   f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");

                   // Postamble
                   f_postamble_NGAP_AMF();
                   f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");

                } // End of function f_TC_NGAP_AMF_TRP_01

            } // End of group Trace_Start
            //8.11.2
            group Trace_Failure_Indication{
            } // End of group Trace_Failure_Indication
            //8.11.3
            group Deactivate_Trace{

              /**
               * @desc Testcase function for TC_NGAP_aMF_TRP_02
               */
               function f_TC_NGAP_AMF_TRP_02() runs on gNBNGAPComponent {
                   // Local variables

                   // Preamble
                   f_NGAP_gnb_init();
                   f_NGAP_gnb_UE_Register();
                   
                   f_selfOrClientSyncAndVerdict(c_prDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Preamble done. ***");

                   // Body
                   action("Trigger DEACTIVATE TRACE!");

                   f_recv_NGAP_PDU(
                     mw_ngap_initMsg(
                       mw_n2_DeactivateTrace(
                         ?,
                         ?,
                         ?
                       )
                     )
                   );

                   f_selfOrClientSyncAndVerdict(c_tbDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Testbody done. ***");

                   // Postamble
                   f_postamble_NGAP_AMF();
                   f_selfOrClientSyncAndVerdict(c_poDone, f_getVerdict());
                   log("*** " & __SCOPE__ & ": INFO: Postamble done. ***");

                } // End of function f_TC_NGAP_AMF_TRP_02

            } // End of group Deactivate_Trace
            //8.11.4
            group Cell_Traffic_Trace{
+140 −0
Original line number Diff line number Diff line
@@ -736,15 +736,99 @@ module NGAP_TestCases {
        group Trace_Procedures{
            //8.11.1
            group Trace_Start{

                /**
                 * @desc  Test objective "Verify that the IUT can send a TRACE_FAILURE_INDICATION to inform AMF that Trace Start procedure has failed due to an interaction with handover procedure."
                 */
                testcase TC_NGAP_GNB_TRP_01() runs on aMFNGAPComponent system TestAdapter {

                    // Local variables
                    var aMFNGAPComponent v_ngap_amf;

                    // Test control
                    if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_10_1) and (not PICS_A3_10_2)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_10_1 and PICS_A3_10_2' shall be set to true for executing the TC. ***");
                        stop;
                    }

                    // Test component configuration
                    f_cf_NGAP_aMF_Up(v_ngap_amf);

                    // Start
                    v_ngap_amf.start(f_TC_NGAP_GNB_TRP_01());

                    // synchronize PTC on 1 sychronization points
                    f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});

                    f_cf_Down/*gNBoraMF*/();

                } // End of testcase TC_NGAP_GNB_TRP_01

            } // End of group Trace_Start
            //8.11.2
            group Trace_Failure_Indication{
            } // End of group Trace_Failure_Indication
            //8.11.3
            group Deactivate_Trace{
                
                /**
                 * @desc  Test objective "Verify that the IUT can send a TRACE_FAILURE_INDICATION to inform AMF that a Deactivate Trace procedure has failed due to an interaction with handover procedure."
                 */
                testcase TC_NGAP_GNB_TRP_02() runs on aMFNGAPComponent system TestAdapter {

                    // Local variables
                    var aMFNGAPComponent v_ngap_amf;

                    // Test control
                    if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_10_2) and (not PICS_A3_10_3)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_10_2 and PICS_A3_10_3' shall be set to true for executing the TC. ***");
                        stop;
                    }

                    // Test component configuration
                    f_cf_NGAP_aMF_Up(v_ngap_amf);

                    // Start
                    v_ngap_amf.start(f_TC_NGAP_GNB_TRP_02());

                    // synchronize PTC on 1 sychronization points
                    f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});

                    f_cf_Down/*gNBoraMF*/();

                } // End of testcase TC_NGAP_GNB_TRP_02

            } // End of group Deactivate_Trace
            //8.11.4
            group Cell_Traffic_Trace{
                
                /**
                 * @desc  Test objective "Verify that the IUT can send a CELL_TRAFFIC_TRACE to send the allocated Trace Recording Session Reference and Trace Reference to AMF."
                 */
                testcase TC_NGAP_GNB_TRP_03() runs on aMFNGAPComponent system TestAdapter {

                    // Local variables
                    var aMFNGAPComponent v_ngap_amf;

                    // Test control
                    if ((not PICS_NGAP_GNB_IUT) and (not PICS_A3_10_4)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_GNB_IUT and PICS_A3_10_4' shall be set to true for executing the TC. ***");
                        stop;
                    }

                    // Test component configuration
                    f_cf_NGAP_aMF_Up(v_ngap_amf);

                    // Start
                    v_ngap_amf.start(f_TC_NGAP_GNB_TRP_03());

                    // synchronize PTC on 1 sychronization points
                    f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});

                    f_cf_Down/*gNBoraMF*/();

                } // End of testcase TC_NGAP_GNB_TRP_03

            } // End of group Cell_Traffic_Trace
        } // End of group Trace_Procedures
        //8.12
@@ -1162,12 +1246,68 @@ module NGAP_TestCases {
        group Trace_Procedures{
            //8.11.1
            group Trace_Start{

                /**
                 * @desc "Verify that the IUT can send a TRACE_START to initiate a trace session for a UE."
                 */
                testcase TC_NGAP_AMF_TRP_01() runs on gNBNGAPComponent system TestAdapter {

                    // Local variables
                    var gNBNGAPComponent v_ngap_gnb;

                    // Test control
                    if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_10_1)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_10_1' shall be set to true for executing the TC. ***");
                        stop;
                    }

                    // Test component configuration
                    f_cf_NGAP_gNB_Up(v_ngap_gnb);

                    // Start
                    v_ngap_gnb.start(f_TC_NGAP_AMF_TRP_01());

                    // synchronize PTC on 1 sychronization points
                    f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});

                    f_cf_Down/*gNBoraMF*/();

                } // End of testcase TC_NGAP_AMF_TRP_01

            } // End of group Trace_Start
            //8.11.2
            group Trace_Failure_Indication{
            } // End of group Trace_Failure_Indication
            //8.11.3
            group Deactivate_Trace{

                /**
                 * @desc "Verify that the IUT can send a DEACTIVATE_TRACE to deactivate a trace session for a UE."
                 */
                testcase TC_NGAP_AMF_TRP_02() runs on gNBNGAPComponent system TestAdapter {

                    // Local variables
                    var gNBNGAPComponent v_ngap_gnb;

                    // Test control
                    if ((not PICS_NGAP_AMF_IUT) and (not PICS_A4_10_3)){
                        log("*** " & __SCOPE__ & ": ERROR: 'PICS_NGAP_AMF_IUT and PICS_A4_10_3' shall be set to true for executing the TC. ***");
                        stop;
                    }

                    // Test component configuration
                    f_cf_NGAP_gNB_Up(v_ngap_gnb);

                    // Start
                    v_ngap_gnb.start(f_TC_NGAP_AMF_TRP_02());

                    // synchronize PTC on 1 sychronization points
                    f_serverSyncNClientsAndStop(1, {c_prDone, c_tbDone, c_poDone});

                    f_cf_Down/*gNBoraMF*/();

                } // End of testcase TC_NGAP_AMF_TRP_02
                
            } // End of group Deactivate_Trace
            //8.11.4
            group Cell_Traffic_Trace{