Compare Revisions

The credentials to download the source code are:
 Username: svnusers
 Password: svnusers

Ignore whitespace Rev 2204 → Rev 2205

/branches/STF484_VALIDATION/ttcn/AtsDENM/ItsDenm_TestCases.ttcn
283,45 → 283,6
} // end TC_DEN_EVGN_BV_07
/**
* @desc Check that sequenceNumber is set to a next unused value each time an event is detected (Sequence number wrap around)
* <pre>
* PICS Selection: none
* Initial conditions:
* with {
* the IUT being in the "initial state"
* and the IUT having generated several events
* and the IUT having generated its last DENM
* containing management container
* containing actionID
* containing sequenceNumber
* indicating SEQ1
* and an active event being associated with sequenceNumber SEQ1 + 1
* and no active event being associated with sequenceNumber SEQ1 + 2
* }
* Expected behaviour:
* ensure that {
* when {
* the IUT is requested to generate a new event
* }
* then {
* the IUT sends a valid DENM
* containing management container
* containing actionID
* containing sequenceNumber
* indicating SEQ1 + 2
* }
* }
* </pre>
*
* @see ETSI TS 102 869-2 v1.4.1 TP/DEN/EVGN/BV-08, ETSI EN 302 637-3, clauses 6.1.1.1, 8.2.1.2
*/
testcase TC_DEN_EVGN_BV_08() runs on ItsDenm system ItsDenmSystem {
f_DEN_EVGN_BV_08();
} // end TC_DEN_EVGN_BV_08
/**
* @desc Check that actionID are generated using newly assigned stationID when a pseudonym change occurs
* <pre>
* PICS Selection: none
/branches/STF484_VALIDATION/ttcn/AtsDENM/ItsDenm_TestControl.ttcn
26,7 → 26,6
execute(TC_DEN_EVGN_BV_04());
execute(TC_DEN_EVGN_BV_05());
execute(TC_DEN_EVGN_BV_07());
execute(TC_DEN_EVGN_BV_08());
execute(TC_DEN_EVGN_BV_10());
}
/branches/STF484_VALIDATION/ttcn/AtsDENM/ItsDenm_TpFunctions.ttcn
570,79 → 570,6
} // end TC_DEN_EVGN_BV_07
/**
* @desc TP Function for TC_DEN_EVGN_BV_08
*/
function f_DEN_EVGN_BV_08() runs on ItsDenm {
// Local variables
var template (value) SituationContainer v_situation := m_situation(CauseCodeType_vehicleBreakdown_, VehicleBreakdownSubCauseCode_unavailable_);
var SequenceNumber v_firstSequenceNumber;
var DenmInd v_denmInd;
var integer i;
// Test control
if (not PICS_DENM_GENERATION) {
log("*** " & testcasename() & ": PICS_DENM_GENERATION required for executing the TC ***");
setverdict(inconc);
stop;
}
// Test component configuration
f_cfUp();
// Test adapter configuration
// Preamble
f_prInitialState();
f_utTriggerEvent(m_utTriggerEvent(v_situation));
f_awaitDenMessage(mw_denmInd(mw_anyDenmPdu), v_denmInd);
v_firstSequenceNumber := v_denmInd.msgIn.denm.management.actionID.sequenceNumber;
for (i := 1; i < 65535; i := i + 1) {
f_utTriggerEvent(m_utTriggerEvent(v_situation));
f_awaitDenMessage(mw_denmInd(mw_anyDenmPdu), v_denmInd);
f_poCancelEvent(e_iut, v_denmInd.msgIn.denm.management.actionID);
}
f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);
// Test Body
f_utTriggerEvent(m_utTriggerEvent(v_situation));
tc_ac.start;
alt {
[] denmPort.receive(
mw_denmInd(
mw_denmPdu(
mw_denm(
mw_denmMgmtConWithActionID(
mw_actionId(-, f_increaseSequenceNumber(v_firstSequenceNumber))
)
)
)
)
) -> value v_denmInd {
tc_ac.stop;
log("*** " & testcasename() & ": PASS: Successfully received expected DENM. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_success);
}
[] denmPort.receive(mw_denmInd(mw_anyDenmPdu)) {
tc_ac.stop;
log("*** " & testcasename() & ": FAIL: Received an unexpected DENM. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
}
[] tc_ac.timeout {
log("*** " & testcasename() & ": INCONC: Timeout while awaiting the reception of a message. ***");
f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
}
}
// Postamble
f_poCancelEvent(e_iut, m_actionId(v_firstSequenceNumber));
f_poCancelEvent(e_iut, m_actionId(f_increaseSequenceNumber(v_firstSequenceNumber)));
f_cfDown();
} // end TC_DEN_EVGN_BV_08
/**
* @desc TP Function for TC_DEN_EVGN_BV_10
*/
function f_DEN_EVGN_BV_10() runs on ItsDenm {