Commit ab9f720b authored by tepelmann's avatar tepelmann
Browse files

Harmonized ut functions.

parent 82fb9cb0
Loading
Loading
Loading
Loading
+21 −8
Original line number Diff line number Diff line
@@ -142,10 +142,10 @@
        /**
         * @desc Checks that the event was indicated at the application layer
         * @param p_event The event to check.
         * @param   p_discard The event should not appear. Default value: FALSE.
         * @return 
         */
        function f_utCheckEvent(template (value) UtBtpEvent p_event) runs on ItsNt return FncRetCode {
            var FncRetCode v_ret := e_success;
        function f_utCheckEvent(template (value) UtBtpEvent p_event, boolean p_discard := false) runs on ItsNt {
            var template (value) UtBtpCheck v_utMsg := { p_event };
            
            utPort.send(v_utMsg);
@@ -153,19 +153,32 @@
            alt {
                [] utPort.receive(UtBtpResult:true) {
                    tc_wait.stop;
                    v_ret := e_success;
                    if (p_discard == false) {
                        log("*** f_utCheckEvent: Event correctly indicated at application layer ***");
                    }
                    else {
                        f_selfOrClientSyncAndVerdict("error", e_error, "*** f_utCheckEvent: Event indicated at application layer where it should be discarded ***");
                    }
                }
                [] utPort.receive {
                    tc_wait.stop;
                    v_ret := e_error;
                    if (p_discard == false) {
                        f_selfOrClientSyncAndVerdict("error", e_error, "*** f_utCheckEvent: Event not correctly indicated at application layer ***");
                    }
                    else {
                        log("*** f_utCheckEvent: Another event indicated at application layer, repeating check ***");
                        repeat;
                    }
                }
                [] tc_wait.timeout {
                    v_ret := e_timeout;
                    f_selfOrClientSyncAndVerdict("error", e_timeout, "*** Timeout while waiting for event check result ***");
                    if (p_discard == false) {
                        f_selfOrClientSyncAndVerdict("error", e_timeout, "*** f_utCheckEvent: Timeout while waiting for event check result ***");
                    }
                    else {
                        log("*** f_utCheckEvent: Event not indicated at application layer ***");
                    }
                }
            }
            
            return v_ret;
        }
        
    } // end of group upper tester