Loading ttcn/TestCodec/TestCodec_Btp.ttcn +6 −22 Original line number Original line Diff line number Diff line Loading @@ -33,8 +33,7 @@ module TestCodec_Btp { template BtpPacket m_btpA_With_Payload ( template BtpPacket m_btpA_With_Payload ( in template (value) BtpPortId p_destPort, in template (value) BtpPortId p_destPort, in template (value) BtpPortId p_sourcePort, in template (value) BtpPortId p_sourcePort, in template DecodedBtpPayload p_decodedPayload, in template BtpRawPayload p_rawPayload in template (value) octetstring p_rawPayload ) := { ) := { header := { header := { btpAHeader := { btpAHeader := { Loading @@ -42,17 +41,13 @@ module TestCodec_Btp { sourcePort := p_sourcePort sourcePort := p_sourcePort } } }, }, payload := { payload :=p_rawPayload decodedPayload := p_decodedPayload, rawPayload := p_rawPayload } } } template BtpPacket mw_btpA_With_Payload ( template BtpPacket mw_btpA_With_Payload ( in template (present) BtpPortId p_destPort, in template (present) BtpPortId p_destPort, in template (present) BtpPortId p_sourcePort, in template (present) BtpPortId p_sourcePort, in template DecodedBtpPayload p_decodedPayload, in template BtpRawPayload p_rawPayload in template (present) octetstring p_rawPayload ) := { ) := { header := { header := { btpAHeader := { btpAHeader := { Loading @@ -60,10 +55,7 @@ module TestCodec_Btp { sourcePort := p_sourcePort sourcePort := p_sourcePort } } }, }, payload := { payload := p_rawPayload decodedPayload := p_decodedPayload, rawPayload := p_rawPayload } } } template (value) BtpPacket m_btpB_Without_Payload ( template (value) BtpPacket m_btpB_Without_Payload ( Loading @@ -82,8 +74,7 @@ module TestCodec_Btp { template BtpPacket m_btpB_With_Payload ( template BtpPacket m_btpB_With_Payload ( in template (value) BtpPortId p_destPort, in template (value) BtpPortId p_destPort, in template (value) BtpPortId p_destinationPortInfo, in template (value) BtpPortId p_destinationPortInfo, in template DecodedBtpPayload p_decodedPayload, in template (value) BtpRawPayload p_rawPayload in template (value) octetstring p_rawPayload ) := { ) := { header := { header := { btpBHeader := { btpBHeader := { Loading @@ -91,10 +82,7 @@ module TestCodec_Btp { destinationPortInfo := p_destinationPortInfo destinationPortInfo := p_destinationPortInfo } } }, }, payload := { payload := p_rawPayload decodedPayload := p_decodedPayload, rawPayload := p_rawPayload } } } } // End of group LibItsBtp_DummyTemplates } // End of group LibItsBtp_DummyTemplates Loading @@ -117,7 +105,6 @@ module TestCodec_Btp { m_btpA_With_Payload ( m_btpA_With_Payload ( 1234, 1234, 0, 0, omit, 'CAFEDECA'O 'CAFEDECA'O ), ), true, true, Loading @@ -130,7 +117,6 @@ module TestCodec_Btp { m_btpB_With_Payload ( m_btpB_With_Payload ( 1234, 1234, 4567, 4567, omit, 'CAFEDECA'O 'CAFEDECA'O ), ), true, true, Loading @@ -143,7 +129,6 @@ module TestCodec_Btp { BtpReq:{msgOut := m_btpA_With_Payload ( BtpReq:{msgOut := m_btpA_With_Payload ( 1234, 1234, 0, 0, omit, 'CAFEDECA'O 'CAFEDECA'O ) ) }, }, Loading Loading @@ -177,7 +162,6 @@ module TestCodec_Btp { BtpReq : { msgOut := m_btpA_With_Payload ( BtpReq : { msgOut := m_btpA_With_Payload ( 1234, 1234, 0, 0, omit, 'CAFEDECA'O 'CAFEDECA'O ) ) } } Loading ttcn/TestCodec/TestCodec_GeoNetworking.ttcn +61 −11 Original line number Original line Diff line number Diff line Loading @@ -33,7 +33,11 @@ module TestCodec_GeoNetworking { // import from LibItsSecurity_Templates all; // import from LibItsSecurity_Templates all; // import from LibItsSecurity_Functions all; // import from LibItsSecurity_Functions all; // import from LibItsSecurity_Pixits all; // import from LibItsSecurity_Pixits all; // // LibItsBtp import from LibItsBtp_TypesAndValues all; import from LibItsBtp_Templates all; // LibItsGeoNetworking // LibItsGeoNetworking import from LibItsGeoNetworking_TypesAndValues all; import from LibItsGeoNetworking_TypesAndValues all; import from LibItsGeoNetworking_Templates all; import from LibItsGeoNetworking_Templates all; Loading Loading @@ -169,12 +173,9 @@ module TestCodec_GeoNetworking { template (value) GnNonSecuredPacket m_geoNwBeaconPacket_payload( template (value) GnNonSecuredPacket m_geoNwBeaconPacket_payload( in template (value) LongPosVector p_sourceLongPosVec, in template (value) LongPosVector p_sourceLongPosVec, in template (value) octetstring p_payload in template (value) GnRawPayload p_payload ) modifies m_geoNwBeaconPacket := { ) modifies m_geoNwBeaconPacket := { payload := { payload := p_payload decodedPayload := omit, rawPayload := p_payload } } } /** /** Loading Loading @@ -504,6 +505,7 @@ module TestCodec_GeoNetworking { TestGeoNetworkingReq( TestGeoNetworkingReq( v_gnReq, v_gnReq, false); false); v_gnReq.msgOut.gnPacket.packet.payload := omit TestDecodeGeoNetworkingReq( TestDecodeGeoNetworkingReq( v_gnReq, v_gnReq, v_buffer v_buffer Loading Loading @@ -534,6 +536,7 @@ module TestCodec_GeoNetworking { TestGeoNetworkingReq( TestGeoNetworkingReq( v_gnReq, v_gnReq, false); false); v_gnReq.msgOut.gnPacket.packet.payload := omit TestDecodeGeoNetworkingReq( TestDecodeGeoNetworkingReq( v_gnReq, v_gnReq, v_buffer v_buffer Loading @@ -545,6 +548,25 @@ module TestCodec_GeoNetworking { group testGeoNetPort { group testGeoNetPort { /** * @desc Receive template for GeoNetworking DENM Packet * @param p_destinationShortPosVec Short position vector of destination * @param p_seqNumber Sequence number of GeoUnicast packet * @param p_nextHeader Id of next header */ template (present) GnNonSecuredPacket mw_geoNwTsbPacketWithNextHeader_cam( in template (present) LongPosVector p_sourceLongPosVec := ?, in template (present) UInt8 p_hopLimit := ?, in template (value) NextHeader p_nextHeader ) modifies mw_geoNwShbPacket := { commonHeader := mw_commonHeaderWithHopLimit( p_nextHeader, m_shbHeaderType, p_hopLimit ), payload := ? } // End of template mw_geoNwTsbPacketWithNextHeader_cam /** /** * @desc validate GeoNetworkingReq/Broadcast * @desc validate GeoNetworkingReq/Broadcast * @verdict Pass on success, Fail otherwise * @verdict Pass on success, Fail otherwise Loading @@ -553,6 +575,7 @@ module TestCodec_GeoNetworking { var GeoNetworkingReq v_gnReq; var GeoNetworkingReq v_gnReq; var ExtendedHeader v_header; var ExtendedHeader v_header; var boolean v_got_it := false; var boolean v_got_it := false; var GeoNetworkingInd v_msg; if (PX_GN_UPPER_LAYER != e_any) { if (PX_GN_UPPER_LAYER != e_any) { log("PX_GN_UPPER_LAYER shall be set to e_any"); log("PX_GN_UPPER_LAYER shall be set to e_any"); Loading @@ -572,13 +595,40 @@ module TestCodec_GeoNetworking { geoNetworkingPort.send(v_gnReq); geoNetworkingPort.send(v_gnReq); tc_ac.start; tc_ac.start; alt { alt { [v_got_it == false] geoNetworkingPort.receive(mw_geoNwInd(?)) { [] geoNetworkingPort.receive( mw_geoNwInd( mw_geoNwPdu( mw_geoNwTsbPacketWithNextHeader_cam( -, -, e_btpB )))) { if (v_got_it == false) { v_got_it := true; v_got_it := true; setverdict(pass); setverdict(pass); } repeat; repeat; } } [] geoNetworkingPort.receive( mw_geoNwInd( mw_geoNwPdu( mw_geoNwLsRequestPacket( ?, ? )))) -> value v_msg { log( valueof( v_msg.msgIn.gnPacket.packet.extendedHeader.lsRequestHeader.srcPosVector )); repeat; } [] geoNetworkingPort.receive(mw_geoNwInd(?)) { setverdict(fail); } [] tc_ac.timeout { [] tc_ac.timeout { setverdict(fail, "Expected message not received1"); if (v_got_it == false) { setverdict(inconc, "Expected message not received1"); } } } } } Loading ttcn/TestCodec/TestCodec_Multiport.ttcn 0 → 100644 +283 −0 Original line number Original line Diff line number Diff line module TestCodec_Multiport { // LibCommon import from LibCommon_BasicTypesAndValues all; import from LibCommon_DataStrings all; // LibIts // import from ITS_Container language "ASN.1:1997" all; // import from CAM_PDU_Descriptions language "ASN.1:1997"all; // import from DENM_PDU_Descriptions language "ASN.1:1997" all; // LibItsCommon // import from LibItsCommon_TypesAndValues all; // import from LibItsCommon_Functions all; // LibItsExternal import from LibItsExternal_TypesAndValues all; // LibItsCam // import from LibItsCam_TypesAndValues all; import from LibItsCam_TestSystem all; // import from LibItsCam_Templates { // template m_camReq; // group camTemplateFunctions // }; // // LibItsDenm // import from LibItsDenm_Templates all; import from LibItsDenm_TestSystem all; // // // LibItsSecurity // import from LibItsSecurity_TypesAndValues all; // import from LibItsSecurity_Templates all; // import from LibItsSecurity_Functions all; // import from LibItsSecurity_Pixits all; // // LibItsGeoNetworking import from LibItsGeoNetworking_TypesAndValues all; import from LibItsGeoNetworking_Templates all; import from LibItsGeoNetworking_Functions all; import from LibItsGeoNetworking_TestSystem all; import from LibItsGeoNetworking_Pixits all; import from LibItsGeoNetworking_Pics all; import from LibItsGeoNetworking_EncdecDeclarations all; // TestCodec import from TestCodec_TestAndSystem all; /*type component MultiplePorts extends ItsBaseComponent { port GeoNetworkingPort; port CamPort; port DenmPort; //component variables var CamInd vc_camMsg; var DenmInd vc_camMsg; var GeoNetworkingInd vc_camMsg; //default var default vc_default := null; //global variables var boolean vc_camReceived := false; var UtCamEventIndList vc_utEvents := {}; var boolean vc_utDefaultActive := true; var boolean vc_camDefaultActive := true; var boolean vc_denmDefaultActive := true; var boolean vc_geoNetworkingDefaultActive := true; } // End of component ItsCam */ group LibItsGeoNetworking_testCases { group LibItsGeoNetworking_DummyTemplates { /** * @desc Dummy template for GN_Address */ template (value) GN_Address m_dummyGnAddrIut := { typeOfAddress := e_manual, stationType := e_roadSideUnit, stationCountryCode := 33, mid := 'a4fedecabeef'O } /** * @desc Dummy template for long position vector */ template (value) LongPosVector m_dummyLongPosVectorIut := { gnAddr := m_dummyGnAddrIut, timestamp_ := 123456, latitude := 4856, longitude := 675, pai := '1'B, speed := 55, heading := 9876 } template (value) GN_Address m_dummyGnAddrNodeA := { typeOfAddress := e_manual, stationType := e_pedestrian, stationCountryCode := 49, mid := 'a4fdea5ea5ed'O } template (value) GN_Address m_dummyGnAddrNodeB := { typeOfAddress := e_manual, stationType := e_specialVehicle, stationCountryCode := 50, mid := 'a40102030405'O } template (value) GN_Address m_dummyGnAddrNodeC := { typeOfAddress := e_manual, stationType := e_moped, stationCountryCode := 42, mid := 'deadbabebeef'O } template (value) LongPosVector m_dummyLongPosVectorNodeA := { gnAddr := m_dummyGnAddrNodeA, timestamp_ := 875, latitude := 265, longitude := 789, pai := '0'B, speed := 80, heading := 548 } template (value) LongPosVector m_dummyLongPosVectorNodeB := { gnAddr := m_dummyGnAddrNodeB, timestamp_ := 4585, latitude := 126, longitude := 123, pai := '0'B, speed := 45, heading := 125 } template (value) LongPosVector m_dummyLongPosVectorNodeC := { gnAddr := m_dummyGnAddrNodeC, timestamp_ := 23644, latitude := 23754, longitude := 49645, pai := '0'B, speed := 110, heading := 23 } template (value) ShortPosVector m_dummyShortPosVectorNodeC := { gnAddr := m_dummyGnAddrNodeC, timestamp_ := 23644, latitude := 23754, longitude := 49645 } template (value) Area m_dummyArea1 := { geoAreaPosLatitude := 298376, geoAreaPosLongitude := 32745, distanceA := 1234, distanceB := 5678, angle := 9123 } template (value) Area m_dummyArea2 := { geoAreaPosLatitude := 873548, geoAreaPosLongitude := 2837, distanceA := 8765, distanceB := 4321, angle := 4567 } template (value) GeoBroadcastArea m_dummyGeoBroadcastArea1 := { geoBroadcastSubType := e_geoBroadcastRect, geoBroadcastArea := m_dummyArea1 } template (value) GeoBroadcastArea m_dummyGeoBroadcastArea2 := { geoBroadcastSubType := e_geoBroadcastElip, geoBroadcastArea := m_dummyArea2 } template (value) GeoAnycastArea m_dummyGeoAnycastArea1 := { geoAnycastSubType := e_geoAnycastCircle, geoAnycastArea := m_dummyArea1 } template (value) GeoAnycastArea m_dummyGeoAnycastArea2 := { geoAnycastSubType := e_geoAnycastRect, geoAnycastArea := m_dummyArea2 } template (value) GnNonSecuredPacket m_geoNwBeaconPacket_payload( in template (value) LongPosVector p_sourceLongPosVec, in template (value) GnRawPayload p_payload ) modifies m_geoNwBeaconPacket := { payload := p_payload } /** * @desc Send template for GeoUnicast header * @param p_sourceLongPosVec Long position vector of source * @param p_destinationLongPosVec Long position vector of destination * @param p_senderLongPosVec Long position vector of sender * @param p_seqNumber Sequence number of GeoUnicast packet */ template (value) ExtendedHeader m_geoUnicastHeaderGeoNetworking( in template (value) LongPosVector p_sourceLongPosVec, in template (value) ShortPosVector p_dstPosVector, in template (value) UInt16 p_seqNumber ) := { geoUnicastHeader := { seqNumber := p_seqNumber, reserved := c_uInt8Zero, srcPosVector := p_sourceLongPosVec, dstPosVector := p_dstPosVector } } template (value) GeoNetworkingInd m_geoNwInd_withLinkLayerDestination( in template (value) GeoNetworkingPdu p_geoNwMsg, in template (value) MacAddress p_llDestinationAdress := 'FFFFFFFFFFFF'O, in template (value) Bit256 p_ssp := int2bit(0, 256), in template (value) UInt32 p_its_aid := 0 ) := { msgIn := p_geoNwMsg, macDestinationAddress := p_llDestinationAdress, ssp := p_ssp, its_aid := p_its_aid } } // End of group LibItsGeoNetworking_DummyTemplates group testMultiPort { /** * @desc validate GeoNetworkingReq/Broadcast * @verdict Pass on success, Fail otherwise */ testcase tc_GeoNet_Port() runs on ItsGeoNetworking system ItsGeoNetworkingSystem { var GeoNetworkingReq v_gnReq; var ExtendedHeader v_header; if (PX_GN_UPPER_LAYER != e_any) { log("PX_GN_UPPER_LAYER shall be set to e_any"); stop; } map(self:geoNetworkingPort, system:geoNetworkingPort); v_gnReq := valueof(m_geoNwReq_linkLayerBroadcast( m_geoNwPdu( m_geoNwBroadcastPacket( m_dummyLongPosVectorNodeB, 3456, m_dummyGeoBroadcastArea1 )))); geoNetworkingPort.send(v_gnReq); tc_ac.start; alt { [] geoNetworkingPort.receive(mw_geoNwInd(?)) { setverdict(pass); } [] tc_ac.timeout { setverdict(fail, "Expected message not received1"); } } unmap(self:geoNetworkingPort, system:geoNetworkingPort); } } // End of group testMultiPort } // End of group LibItsGeoNetworking_testCases } // End of module Loading
ttcn/TestCodec/TestCodec_Btp.ttcn +6 −22 Original line number Original line Diff line number Diff line Loading @@ -33,8 +33,7 @@ module TestCodec_Btp { template BtpPacket m_btpA_With_Payload ( template BtpPacket m_btpA_With_Payload ( in template (value) BtpPortId p_destPort, in template (value) BtpPortId p_destPort, in template (value) BtpPortId p_sourcePort, in template (value) BtpPortId p_sourcePort, in template DecodedBtpPayload p_decodedPayload, in template BtpRawPayload p_rawPayload in template (value) octetstring p_rawPayload ) := { ) := { header := { header := { btpAHeader := { btpAHeader := { Loading @@ -42,17 +41,13 @@ module TestCodec_Btp { sourcePort := p_sourcePort sourcePort := p_sourcePort } } }, }, payload := { payload :=p_rawPayload decodedPayload := p_decodedPayload, rawPayload := p_rawPayload } } } template BtpPacket mw_btpA_With_Payload ( template BtpPacket mw_btpA_With_Payload ( in template (present) BtpPortId p_destPort, in template (present) BtpPortId p_destPort, in template (present) BtpPortId p_sourcePort, in template (present) BtpPortId p_sourcePort, in template DecodedBtpPayload p_decodedPayload, in template BtpRawPayload p_rawPayload in template (present) octetstring p_rawPayload ) := { ) := { header := { header := { btpAHeader := { btpAHeader := { Loading @@ -60,10 +55,7 @@ module TestCodec_Btp { sourcePort := p_sourcePort sourcePort := p_sourcePort } } }, }, payload := { payload := p_rawPayload decodedPayload := p_decodedPayload, rawPayload := p_rawPayload } } } template (value) BtpPacket m_btpB_Without_Payload ( template (value) BtpPacket m_btpB_Without_Payload ( Loading @@ -82,8 +74,7 @@ module TestCodec_Btp { template BtpPacket m_btpB_With_Payload ( template BtpPacket m_btpB_With_Payload ( in template (value) BtpPortId p_destPort, in template (value) BtpPortId p_destPort, in template (value) BtpPortId p_destinationPortInfo, in template (value) BtpPortId p_destinationPortInfo, in template DecodedBtpPayload p_decodedPayload, in template (value) BtpRawPayload p_rawPayload in template (value) octetstring p_rawPayload ) := { ) := { header := { header := { btpBHeader := { btpBHeader := { Loading @@ -91,10 +82,7 @@ module TestCodec_Btp { destinationPortInfo := p_destinationPortInfo destinationPortInfo := p_destinationPortInfo } } }, }, payload := { payload := p_rawPayload decodedPayload := p_decodedPayload, rawPayload := p_rawPayload } } } } // End of group LibItsBtp_DummyTemplates } // End of group LibItsBtp_DummyTemplates Loading @@ -117,7 +105,6 @@ module TestCodec_Btp { m_btpA_With_Payload ( m_btpA_With_Payload ( 1234, 1234, 0, 0, omit, 'CAFEDECA'O 'CAFEDECA'O ), ), true, true, Loading @@ -130,7 +117,6 @@ module TestCodec_Btp { m_btpB_With_Payload ( m_btpB_With_Payload ( 1234, 1234, 4567, 4567, omit, 'CAFEDECA'O 'CAFEDECA'O ), ), true, true, Loading @@ -143,7 +129,6 @@ module TestCodec_Btp { BtpReq:{msgOut := m_btpA_With_Payload ( BtpReq:{msgOut := m_btpA_With_Payload ( 1234, 1234, 0, 0, omit, 'CAFEDECA'O 'CAFEDECA'O ) ) }, }, Loading Loading @@ -177,7 +162,6 @@ module TestCodec_Btp { BtpReq : { msgOut := m_btpA_With_Payload ( BtpReq : { msgOut := m_btpA_With_Payload ( 1234, 1234, 0, 0, omit, 'CAFEDECA'O 'CAFEDECA'O ) ) } } Loading
ttcn/TestCodec/TestCodec_GeoNetworking.ttcn +61 −11 Original line number Original line Diff line number Diff line Loading @@ -33,7 +33,11 @@ module TestCodec_GeoNetworking { // import from LibItsSecurity_Templates all; // import from LibItsSecurity_Templates all; // import from LibItsSecurity_Functions all; // import from LibItsSecurity_Functions all; // import from LibItsSecurity_Pixits all; // import from LibItsSecurity_Pixits all; // // LibItsBtp import from LibItsBtp_TypesAndValues all; import from LibItsBtp_Templates all; // LibItsGeoNetworking // LibItsGeoNetworking import from LibItsGeoNetworking_TypesAndValues all; import from LibItsGeoNetworking_TypesAndValues all; import from LibItsGeoNetworking_Templates all; import from LibItsGeoNetworking_Templates all; Loading Loading @@ -169,12 +173,9 @@ module TestCodec_GeoNetworking { template (value) GnNonSecuredPacket m_geoNwBeaconPacket_payload( template (value) GnNonSecuredPacket m_geoNwBeaconPacket_payload( in template (value) LongPosVector p_sourceLongPosVec, in template (value) LongPosVector p_sourceLongPosVec, in template (value) octetstring p_payload in template (value) GnRawPayload p_payload ) modifies m_geoNwBeaconPacket := { ) modifies m_geoNwBeaconPacket := { payload := { payload := p_payload decodedPayload := omit, rawPayload := p_payload } } } /** /** Loading Loading @@ -504,6 +505,7 @@ module TestCodec_GeoNetworking { TestGeoNetworkingReq( TestGeoNetworkingReq( v_gnReq, v_gnReq, false); false); v_gnReq.msgOut.gnPacket.packet.payload := omit TestDecodeGeoNetworkingReq( TestDecodeGeoNetworkingReq( v_gnReq, v_gnReq, v_buffer v_buffer Loading Loading @@ -534,6 +536,7 @@ module TestCodec_GeoNetworking { TestGeoNetworkingReq( TestGeoNetworkingReq( v_gnReq, v_gnReq, false); false); v_gnReq.msgOut.gnPacket.packet.payload := omit TestDecodeGeoNetworkingReq( TestDecodeGeoNetworkingReq( v_gnReq, v_gnReq, v_buffer v_buffer Loading @@ -545,6 +548,25 @@ module TestCodec_GeoNetworking { group testGeoNetPort { group testGeoNetPort { /** * @desc Receive template for GeoNetworking DENM Packet * @param p_destinationShortPosVec Short position vector of destination * @param p_seqNumber Sequence number of GeoUnicast packet * @param p_nextHeader Id of next header */ template (present) GnNonSecuredPacket mw_geoNwTsbPacketWithNextHeader_cam( in template (present) LongPosVector p_sourceLongPosVec := ?, in template (present) UInt8 p_hopLimit := ?, in template (value) NextHeader p_nextHeader ) modifies mw_geoNwShbPacket := { commonHeader := mw_commonHeaderWithHopLimit( p_nextHeader, m_shbHeaderType, p_hopLimit ), payload := ? } // End of template mw_geoNwTsbPacketWithNextHeader_cam /** /** * @desc validate GeoNetworkingReq/Broadcast * @desc validate GeoNetworkingReq/Broadcast * @verdict Pass on success, Fail otherwise * @verdict Pass on success, Fail otherwise Loading @@ -553,6 +575,7 @@ module TestCodec_GeoNetworking { var GeoNetworkingReq v_gnReq; var GeoNetworkingReq v_gnReq; var ExtendedHeader v_header; var ExtendedHeader v_header; var boolean v_got_it := false; var boolean v_got_it := false; var GeoNetworkingInd v_msg; if (PX_GN_UPPER_LAYER != e_any) { if (PX_GN_UPPER_LAYER != e_any) { log("PX_GN_UPPER_LAYER shall be set to e_any"); log("PX_GN_UPPER_LAYER shall be set to e_any"); Loading @@ -572,13 +595,40 @@ module TestCodec_GeoNetworking { geoNetworkingPort.send(v_gnReq); geoNetworkingPort.send(v_gnReq); tc_ac.start; tc_ac.start; alt { alt { [v_got_it == false] geoNetworkingPort.receive(mw_geoNwInd(?)) { [] geoNetworkingPort.receive( mw_geoNwInd( mw_geoNwPdu( mw_geoNwTsbPacketWithNextHeader_cam( -, -, e_btpB )))) { if (v_got_it == false) { v_got_it := true; v_got_it := true; setverdict(pass); setverdict(pass); } repeat; repeat; } } [] geoNetworkingPort.receive( mw_geoNwInd( mw_geoNwPdu( mw_geoNwLsRequestPacket( ?, ? )))) -> value v_msg { log( valueof( v_msg.msgIn.gnPacket.packet.extendedHeader.lsRequestHeader.srcPosVector )); repeat; } [] geoNetworkingPort.receive(mw_geoNwInd(?)) { setverdict(fail); } [] tc_ac.timeout { [] tc_ac.timeout { setverdict(fail, "Expected message not received1"); if (v_got_it == false) { setverdict(inconc, "Expected message not received1"); } } } } } Loading
ttcn/TestCodec/TestCodec_Multiport.ttcn 0 → 100644 +283 −0 Original line number Original line Diff line number Diff line module TestCodec_Multiport { // LibCommon import from LibCommon_BasicTypesAndValues all; import from LibCommon_DataStrings all; // LibIts // import from ITS_Container language "ASN.1:1997" all; // import from CAM_PDU_Descriptions language "ASN.1:1997"all; // import from DENM_PDU_Descriptions language "ASN.1:1997" all; // LibItsCommon // import from LibItsCommon_TypesAndValues all; // import from LibItsCommon_Functions all; // LibItsExternal import from LibItsExternal_TypesAndValues all; // LibItsCam // import from LibItsCam_TypesAndValues all; import from LibItsCam_TestSystem all; // import from LibItsCam_Templates { // template m_camReq; // group camTemplateFunctions // }; // // LibItsDenm // import from LibItsDenm_Templates all; import from LibItsDenm_TestSystem all; // // // LibItsSecurity // import from LibItsSecurity_TypesAndValues all; // import from LibItsSecurity_Templates all; // import from LibItsSecurity_Functions all; // import from LibItsSecurity_Pixits all; // // LibItsGeoNetworking import from LibItsGeoNetworking_TypesAndValues all; import from LibItsGeoNetworking_Templates all; import from LibItsGeoNetworking_Functions all; import from LibItsGeoNetworking_TestSystem all; import from LibItsGeoNetworking_Pixits all; import from LibItsGeoNetworking_Pics all; import from LibItsGeoNetworking_EncdecDeclarations all; // TestCodec import from TestCodec_TestAndSystem all; /*type component MultiplePorts extends ItsBaseComponent { port GeoNetworkingPort; port CamPort; port DenmPort; //component variables var CamInd vc_camMsg; var DenmInd vc_camMsg; var GeoNetworkingInd vc_camMsg; //default var default vc_default := null; //global variables var boolean vc_camReceived := false; var UtCamEventIndList vc_utEvents := {}; var boolean vc_utDefaultActive := true; var boolean vc_camDefaultActive := true; var boolean vc_denmDefaultActive := true; var boolean vc_geoNetworkingDefaultActive := true; } // End of component ItsCam */ group LibItsGeoNetworking_testCases { group LibItsGeoNetworking_DummyTemplates { /** * @desc Dummy template for GN_Address */ template (value) GN_Address m_dummyGnAddrIut := { typeOfAddress := e_manual, stationType := e_roadSideUnit, stationCountryCode := 33, mid := 'a4fedecabeef'O } /** * @desc Dummy template for long position vector */ template (value) LongPosVector m_dummyLongPosVectorIut := { gnAddr := m_dummyGnAddrIut, timestamp_ := 123456, latitude := 4856, longitude := 675, pai := '1'B, speed := 55, heading := 9876 } template (value) GN_Address m_dummyGnAddrNodeA := { typeOfAddress := e_manual, stationType := e_pedestrian, stationCountryCode := 49, mid := 'a4fdea5ea5ed'O } template (value) GN_Address m_dummyGnAddrNodeB := { typeOfAddress := e_manual, stationType := e_specialVehicle, stationCountryCode := 50, mid := 'a40102030405'O } template (value) GN_Address m_dummyGnAddrNodeC := { typeOfAddress := e_manual, stationType := e_moped, stationCountryCode := 42, mid := 'deadbabebeef'O } template (value) LongPosVector m_dummyLongPosVectorNodeA := { gnAddr := m_dummyGnAddrNodeA, timestamp_ := 875, latitude := 265, longitude := 789, pai := '0'B, speed := 80, heading := 548 } template (value) LongPosVector m_dummyLongPosVectorNodeB := { gnAddr := m_dummyGnAddrNodeB, timestamp_ := 4585, latitude := 126, longitude := 123, pai := '0'B, speed := 45, heading := 125 } template (value) LongPosVector m_dummyLongPosVectorNodeC := { gnAddr := m_dummyGnAddrNodeC, timestamp_ := 23644, latitude := 23754, longitude := 49645, pai := '0'B, speed := 110, heading := 23 } template (value) ShortPosVector m_dummyShortPosVectorNodeC := { gnAddr := m_dummyGnAddrNodeC, timestamp_ := 23644, latitude := 23754, longitude := 49645 } template (value) Area m_dummyArea1 := { geoAreaPosLatitude := 298376, geoAreaPosLongitude := 32745, distanceA := 1234, distanceB := 5678, angle := 9123 } template (value) Area m_dummyArea2 := { geoAreaPosLatitude := 873548, geoAreaPosLongitude := 2837, distanceA := 8765, distanceB := 4321, angle := 4567 } template (value) GeoBroadcastArea m_dummyGeoBroadcastArea1 := { geoBroadcastSubType := e_geoBroadcastRect, geoBroadcastArea := m_dummyArea1 } template (value) GeoBroadcastArea m_dummyGeoBroadcastArea2 := { geoBroadcastSubType := e_geoBroadcastElip, geoBroadcastArea := m_dummyArea2 } template (value) GeoAnycastArea m_dummyGeoAnycastArea1 := { geoAnycastSubType := e_geoAnycastCircle, geoAnycastArea := m_dummyArea1 } template (value) GeoAnycastArea m_dummyGeoAnycastArea2 := { geoAnycastSubType := e_geoAnycastRect, geoAnycastArea := m_dummyArea2 } template (value) GnNonSecuredPacket m_geoNwBeaconPacket_payload( in template (value) LongPosVector p_sourceLongPosVec, in template (value) GnRawPayload p_payload ) modifies m_geoNwBeaconPacket := { payload := p_payload } /** * @desc Send template for GeoUnicast header * @param p_sourceLongPosVec Long position vector of source * @param p_destinationLongPosVec Long position vector of destination * @param p_senderLongPosVec Long position vector of sender * @param p_seqNumber Sequence number of GeoUnicast packet */ template (value) ExtendedHeader m_geoUnicastHeaderGeoNetworking( in template (value) LongPosVector p_sourceLongPosVec, in template (value) ShortPosVector p_dstPosVector, in template (value) UInt16 p_seqNumber ) := { geoUnicastHeader := { seqNumber := p_seqNumber, reserved := c_uInt8Zero, srcPosVector := p_sourceLongPosVec, dstPosVector := p_dstPosVector } } template (value) GeoNetworkingInd m_geoNwInd_withLinkLayerDestination( in template (value) GeoNetworkingPdu p_geoNwMsg, in template (value) MacAddress p_llDestinationAdress := 'FFFFFFFFFFFF'O, in template (value) Bit256 p_ssp := int2bit(0, 256), in template (value) UInt32 p_its_aid := 0 ) := { msgIn := p_geoNwMsg, macDestinationAddress := p_llDestinationAdress, ssp := p_ssp, its_aid := p_its_aid } } // End of group LibItsGeoNetworking_DummyTemplates group testMultiPort { /** * @desc validate GeoNetworkingReq/Broadcast * @verdict Pass on success, Fail otherwise */ testcase tc_GeoNet_Port() runs on ItsGeoNetworking system ItsGeoNetworkingSystem { var GeoNetworkingReq v_gnReq; var ExtendedHeader v_header; if (PX_GN_UPPER_LAYER != e_any) { log("PX_GN_UPPER_LAYER shall be set to e_any"); stop; } map(self:geoNetworkingPort, system:geoNetworkingPort); v_gnReq := valueof(m_geoNwReq_linkLayerBroadcast( m_geoNwPdu( m_geoNwBroadcastPacket( m_dummyLongPosVectorNodeB, 3456, m_dummyGeoBroadcastArea1 )))); geoNetworkingPort.send(v_gnReq); tc_ac.start; alt { [] geoNetworkingPort.receive(mw_geoNwInd(?)) { setverdict(pass); } [] tc_ac.timeout { setverdict(fail, "Expected message not received1"); } } unmap(self:geoNetworkingPort, system:geoNetworkingPort); } } // End of group testMultiPort } // End of group LibItsGeoNetworking_testCases } // End of module