Commit 65908a1f authored by mogos's avatar mogos
Browse files

added timer f_timerLowerBound and f_timerUpperBound

parent f431c367
Loading
Loading
Loading
Loading
+5 −13
Original line number Diff line number Diff line
@@ -892,7 +892,7 @@ module AtsECall_IVS_Testcases {
            }
            else {
                v_diff := fx_timeDiff(v_firstSendSignal.time, v_lastSendSignal.time);
                if (v_diff < 0 or v_diff > float2int(c_t3_timer * 1000.0)) {
                if (v_diff < 0 or v_diff > float2int(f_timerUpperBound(c_t3_timer) * 1000.0)) {
                    setverdict(fail, "The received audible Initiation signal persisted for " & fx_float2str((int2float(v_diff) / 1000.0)) & "s (> " & fx_float2str(c_t3_timer) & "s) from when the call is answered")
                }
                else {
@@ -1436,7 +1436,7 @@ module AtsECall_IVS_Testcases {
            var CallEstablishedEvent v_callEstablished;
            var CallEvent v_callEvent;
            var integer v_diff;
            timer t_t2 := c_t2_timer + PX_CTP_1_1_16_2_HANG_UP_RANGE;
            timer t_t2 := f_timerUpperBound(c_t2_timer);

            // Test component configuration
            f_configIvsUp(c_defaultPsapSimulatorConfiguration);
@@ -1457,7 +1457,7 @@ module AtsECall_IVS_Testcases {
                [] callControl.receive(mw_anyCallHangUp) -> value v_callEvent {
                    v_diff := fx_timeDiff(v_callEstablished.time, v_callEvent.callHangUp.time);

                    if (v_diff < float2int(c_t2_timer * 1000.0 - PX_CTP_1_1_16_2_HANG_UP_RANGE)) {
                    if (v_diff < float2int(f_timerLowerBound(c_t2_timer) * 1000.0)) {
                        setverdict(fail, "IVS cleared down call before T2 expired")
                    }
                    else {
@@ -1555,10 +1555,6 @@ module AtsECall_IVS_Testcases {
         */
        testcase CTP_1_1_17_2() runs on PsapMtc system PsapSystem {

            // Local variables
            timer t_callbackDelay := PX_CTP_1_1_17_3_CALL_BACK_DELAY;
            timer t_redialWindowTimer := PX_IVS_REDIAL_WINDOW + PX_IVS_REDIAL_GUARD_TIMER;

            // Test component configuration
            f_configIvsUp(c_defaultPsapSimulatorConfiguration);
            
@@ -1646,11 +1642,10 @@ module AtsECall_IVS_Testcases {
        testcase CTP_1_1_17_3() runs on PsapMtc system PsapSystem {

            // Local variables
            var ModemConfiguration v_locaPsapSimCfg := modifies c_defaultPsapSimulatorConfiguration := {automaticAlAck := true, alAckValue := c_positiveAlAck};
            timer t_callbackDelay := PX_CTP_1_1_17_3_CALL_BACK_DELAY;

            // Test component configuration
            f_configIvsUp(v_locaPsapSimCfg);
            f_configIvsUp(c_defaultPsapSimulatorConfiguration);

            // Precondition: Call-back is in progress
            f_establishCall();
@@ -1661,9 +1656,6 @@ module AtsECall_IVS_Testcases {

            f_clearDown(NETWORK, 10.0);

            adapterControl.send(m_setAutomaticAlAck(PX_MODEM_INSTANCE, true, c_positiveAlAck));
            f_adapterExpect(mw_anyConfigChanged);

            uiPort.send(ShowMessageBox: {
                    title := "Callback",
                    msg := "Callback will be initiated in " & int2str(float2int(PX_CTP_1_1_17_3_CALL_BACK_DELAY)) & " seconds.",
@@ -1765,7 +1757,7 @@ module AtsECall_IVS_Testcases {
            
            // Local variables
            var ModemConfiguration v_locaPsapSimCfg := modifies c_defaultPsapSimulatorConfiguration := {automaticAlAck := true, alAckValue := c_clearDownAlAck};
            timer t_callbackDelay := PX_CTP_1_1_17_4_CALL_BACK_DELAY;
            timer t_callbackDelay := c_ctp_1_1_17_4_call_back_delay;

            // Test component configuration
            f_configIvsUp(v_locaPsapSimCfg);
+17 −1
Original line number Diff line number Diff line
@@ -874,7 +874,7 @@ module LibItsECall_Functions {
     */
    function f_validateRedialAttempts() runs on PsapMtc {
        var boolean v_redialAttempted;
        timer t_redialWindowTimer := PX_IVS_REDIAL_WINDOW;
        timer t_redialWindowTimer := c_ivs_redial_window;
        timer t_guard := PX_IVS_REDIAL_GUARD_TIMER;

        // monitor redial attempts
@@ -908,4 +908,20 @@ module LibItsECall_Functions {
            }
        }
    }
    
    group timers {
        /**
         * Return the lower bound to be used when measuring timers
         */
        function f_timerLowerBound(float duration) return float {
            return duration - duration * c_timer_tolerance;
        }

        /**
         * Return the lower bound to be used when measuring timers
         */
        function f_timerUpperBound(float duration) return float {
            return duration + duration * c_timer_tolerance;
        }
    }
}
+0 −16
Original line number Diff line number Diff line
@@ -126,30 +126,14 @@ module LibItsECall_Pixits {
         */
        modulepar float PX_CTP_1_1_17_3_CALL_BACK_DELAY := 3.0 * 60.0;
  
        /**
         * @desc Delay until calling back during CTP_1_1_17_4
         */
        modulepar float PX_CTP_1_1_17_4_CALL_BACK_DELAY := 55.0 * 60.0;

        /**
         * @desc A list of IVS supported crash types, used by test CTP/PE-IVS/TRG/1.1.2.5
         */
        modulepar CharstringRecord PX_SUPPORTED_CRASH_TYPES := {"FRONTAL", "LATERAL"}
        
        /**
         * @desc Redial window after failed msd transmission
         */
        modulepar float PX_IVS_REDIAL_WINDOW := 120.0;

        /**
         * @desc Number of seconds to wait for a redial attempt after the two minute window
         */
        modulepar float PX_IVS_REDIAL_GUARD_TIMER := 30.0;
        
        /**
         * @desc Timeout in seconds to wait for hangup from IVS during CTP_1_1_16_2
         */
        modulepar float PX_CTP_1_1_16_2_HANG_UP_RANGE := 60.0;
        
    } // end ivs
}
+21 −1
Original line number Diff line number Diff line
@@ -753,7 +753,7 @@ module LibItsECall_TypesAndValues {
            numberOfAlAcks := 5,
            numberOfLlAcks := 5,
            automaticAlAck := true,
            alAckValue := 0,
            alAckValue := c_positiveAlAck,
            inbandDirection := PULL,
            internalSubscriber := "",
            noAckOfMsd := false,
@@ -770,6 +770,11 @@ module LibItsECall_TypesAndValues {
    } // end configurationTemplates

    group timers {
        /**
         * @desc Timer tolerance
         */
        const float c_timer_tolerance := 0.1;
    	
        /**
         * @desc  IVS' Call Clear-down Fallback Timer
         */
@@ -814,5 +819,20 @@ module LibItsECall_TypesAndValues {
         * @desc IVS NAD network "Deregistration Fallback Timer" (DFT)
         */
        const float c_t10_timer := 12.0 * 3600.0;
        
        /**
         * @desc Redial window after failed msd transmission
         */
        const float c_ivs_redial_window := 120.0;
        
        /**
         * @desc Time to wait before initiating a call back if the eCall was abnormally terminated 
         */
        const float c_callback_delay := 3.0 * 60.0;
        
        /**
         * @desc Delay until calling back during CTP_1_1_17_4
         */
        modulepar float c_ctp_1_1_17_4_call_back_delay := 55.0 * 60.0;
    }
}