Commit 189e25ea authored by YannGarcia's avatar YannGarcia
Browse files

TTF T024: Compiler error fixed

parent 9d4e824b
Loading
Loading
Loading
Loading
+40 −21
Original line number Diff line number Diff line
@@ -8,12 +8,15 @@ module ItsMbr_TestCases {
  import from LibCommon_DataStrings all;

  // LibIts
  import from ETSI_ITS_CDD language "ASN.1:1997" all;
  import from CAM_PDU_Descriptions language "ASN.1:1997" all;
  import from EtsiTs103759Core language "ASN.1:1997" all;
  import from EtsiTs103759BaseTypes language "ASN.1:1997" all;
  import from EtsiTs103759CommonObservations language "ASN.1:1997" all;
  import from EtsiTs103759AsrCam language "ASN.1:1997" all;
  import from Ieee1609Dot2BaseTypes language "ASN.1:1997" all;
  import from Ieee1609Dot2 language "ASN.1:1997" all;
  import from EtsiTs103097Module language "ASN.1:1997" all;

  // LibItsCommon
  import from LibItsCommon_TypesAndValues all;
@@ -219,6 +222,7 @@ module ItsMbr_TestCases {
          var octetstring v_enc_cam;
          var EtsiTs103759Data v_misbehaviour_report_data;
          var Ieee1609Dot2Data v_ieee1609dot2_signed_and_encrypted_data;
          var Headers v_headers;
          var HttpMessage v_response;

          // Test control
@@ -257,14 +261,21 @@ module ItsMbr_TestCases {
                                                                                                                { 
                                                                                                                    m_v2x_pdu_stream(
                                                                                                                                    c_ObsPdu_etsiGn,
                                                                                                                                    v_enc_cam,
                                                                                                                                    -,
                                                                                                                                    v_certificate
                                                                                                                                    v_enc_cam
                                                                                                                                    )
                                                                                                                  }
                                                                   ))));
          f_http_build_ma_request(v_misbehaviour_report_data, v_ieee1609dot2_signed_and_encrypted_data);
          f_http_send(v_ieee1609dot2_signed_and_encrypted_data);
          f_init_default_headers_list(-, "mbr_request", v_headers);
          httpPort.send(
                        m_http_request(
                                        m_http_request_post(
                                                            PICS_HTTP_POST_URI_MBR,
                                                            v_headers,
                                                            m_http_message_body_binary(
                                                                                      m_binary_body_ieee1609dot2_data(
                                                                                                                      v_ieee1609dot2_signed_and_encrypted_data
                                                                                                                      )))));
          f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);

          // Test Body
@@ -281,7 +292,7 @@ module ItsMbr_TestCases {
            }
            [] tc_ac.timeout {
              log("*** " & testcasename() & "INCONC: No response ***");
              f_selfOrClientSyncAndVerdict(c_tbDone, e_inconc);
              f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
            }
          } // End of 'altstep' statement

@@ -299,6 +310,7 @@ module ItsMbr_TestCases {
          var octetstring v_enc_cam;
          var EtsiTs103759Data v_misbehaviour_report_data;
          var Ieee1609Dot2Data v_ieee1609dot2_signed_and_encrypted_data;
          var Headers v_headers;
          var HttpMessage v_response;

          // Test control
@@ -337,14 +349,21 @@ module ItsMbr_TestCases {
                                                                                                                { 
                                                                                                                    m_v2x_pdu_stream(
                                                                                                                                    c_ObsPdu_etsiGn,
                                                                                                                                    v_enc_cam,
                                                                                                                                    -,
                                                                                                                                    v_certificate
                                                                                                                                    v_enc_cam
                                                                                                                                    )
                                                                                                                  }
                                                                   ))));
          f_http_build_ma_request(v_misbehaviour_report_data, v_ieee1609dot2_signed_and_encrypted_data);
          f_http_send(v_ieee1609dot2_signed_and_encrypted_data);
          f_init_default_headers_list(-, "mbr_request", v_headers);
          httpPort.send(
                        m_http_request(
                                        m_http_request_post(
                                                            PICS_HTTP_POST_URI_MBR,
                                                            v_headers,
                                                            m_http_message_body_binary(
                                                                                      m_binary_body_ieee1609dot2_data(
                                                                                                                      v_ieee1609dot2_signed_and_encrypted_data
                                                                                                                      )))));
          f_selfOrClientSyncAndVerdictPreamble(c_prDone, e_success);

          // Test Body
@@ -361,7 +380,7 @@ module ItsMbr_TestCases {
            }
            [] tc_ac.timeout {
              log("*** " & testcasename() & "INCONC: No response ***");
              f_selfOrClientSyncAndVerdict(c_tbDone, e_inconc);
              f_selfOrClientSyncAndVerdict(c_tbDone, e_timeout);
            }
          } // End of 'altstep' statement

@@ -437,7 +456,7 @@ module ItsMbr_TestCases {
                                                                    mw_geoNwShbPacket
                                         ))) {
              log("*** " & testcasename() & "INFO: CA message received ***");
              f_sendUtMbrTrigger(c_CamTgt_SecurityCommon, c_Obs_Security_MessageIdIncWithHeaderInfo);
              f_sendUtMbrTrigger(c_CamTgt_SecurityCommon, c_ObsSecurity_MessageIdIncWithHeaderInfo);
              f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            }
            [] tc_ac.timeout {
@@ -602,7 +621,7 @@ module ItsMbr_TestCases {
                                                                    mw_geoNwShbPacket
                                         ))) {
              log("*** " & testcasename() & "INFO: CA message received ***");
              f_sendUtMbrTrigger(c_CamTgt_SecurityCommon, c_Obs_Security_HeaderIncWithSecurityProfile);
              f_sendUtMbrTrigger(c_CamTgt_SecurityCommon, c_ObsSecurity_HeaderIncWithSecurityProfile);
              f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            }
            [] tc_ac.timeout {
@@ -767,7 +786,7 @@ module ItsMbr_TestCases {
                                                                    mw_geoNwShbPacket
                                         ))) {
              log("*** " & testcasename() & "INFO: CA message received ***");
              f_sendUtMbrTrigger(c_CamTgt_SecurityCommon, c_Obs_Security_HeaderPsidIncWithCertificate);
              f_sendUtMbrTrigger(c_CamTgt_SecurityCommon, c_ObsSecurity_HeaderPsidIncWithCertificate);
              f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            }
            [] tc_ac.timeout {
@@ -932,7 +951,7 @@ module ItsMbr_TestCases {
                                                                    mw_geoNwShbPacket
                                         ))) {
              log("*** " & testcasename() & "INFO: CA message received ***");
              f_sendUtMbrTrigger(c_CamTgt_SecurityCommon, c_Obs_Security_MessageIncWithSsp);
              f_sendUtMbrTrigger(c_CamTgt_SecurityCommon, c_ObsSecurity_MessageIncWithSsp);
              f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            }
            [] tc_ac.timeout {
@@ -944,7 +963,7 @@ module ItsMbr_TestCases {
          // Test Body
          // Send CAM message with inconsistent speed value
          for (var integer i := 0; i < PX_REPEAT_INCONSISTENT_MESSAGE; i := i + 1) {
            v_inconsistantMessages[lengthof(v_inconsistantMessages)] := f_prepare_inconsistent_cam(cc_iutCert_A_NO_EMERGENCY_CONTAINER, -,-, -, -, -, -, -, true);
            v_inconsistantMessages[lengthof(v_inconsistantMessages)] := f_prepare_inconsistent_cam(cc_iutCert_A_NO_EMERGENCY_CONTAINER, -,-, -, -, -, -, true);
          } // End of 'for' statement
          log("InfoPort: ", InfoPortData: { data := v_inconsistantMessages });
          infoPort.send(InfoPortData: { data := v_inconsistantMessages });
@@ -1097,7 +1116,7 @@ module ItsMbr_TestCases {
                                                                    mw_geoNwShbPacket
                                         ))) {
              log("*** " & testcasename() & "INFO: CA message received ***");
              f_sendUtMbrTrigger(c_CamTgt_SecurityCommon, c_Obs_Security_HeaderTimeOutsideCertificateValidity);
              f_sendUtMbrTrigger(c_CamTgt_SecurityCommon, c_ObsSecurity_HeaderTimeOutsideCertificateValidity);
              f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            }
            [] tc_ac.timeout {
@@ -1262,7 +1281,7 @@ module ItsMbr_TestCases {
                                                                    mw_geoNwShbPacket
                                         ))) {
              log("*** " & testcasename() & "INFO: CA message received ***");
              f_sendUtMbrTrigger(c_CamTgt_SecurityCommon, c_Obs_Security_HeaderTimeOutsideCertificateValidity);
              f_sendUtMbrTrigger(c_CamTgt_SecurityCommon, c_ObsSecurity_HeaderTimeOutsideCertificateValidity);
              f_selfOrClientSyncAndVerdict(c_prDone, e_success);
            }
            [] tc_ac.timeout {
@@ -1339,8 +1358,8 @@ module ItsMbr_TestCases {
                f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
              }
              // Validate MR content
              log("Validate MR content: ", match(v_etsiTs103759_data.report, mw_cam_specific_report(mw_asr_cam_report_security(m_mb_obs_cam_security_header_time_outside_certificate_validity, { mw_v2x_pdu_stream(1, substr(v_info_port_data.data[0].gnPacket.packet.payload, 4/*BTP layer*/, lengthof(v_info_port_data.data[0].gnPacket.packet.payload) - 4), PX_REPEAT_INCONSISTENT_MESSAGE - 1) }, {}))));
              if (not(match(v_etsiTs103759_data.report, mw_cam_specific_report(mw_asr_cam_report_security(m_mb_obs_cam_security_header_time_outside_certificate_validity, { mw_v2x_pdu_stream(1, substr(v_info_port_data.data[0].gnPacket.packet.payload, 4/*BTP layer*/, lengthof(v_info_port_data.data[0].gnPacket.packet.payload) - 4), PX_REPEAT_INCONSISTENT_MESSAGE - 1) }, {}))))) {
              log("Validate MR content: ", match(v_etsiTs103759_data.report, mw_cam_specific_report(mw_asr_cam_report_security(m_mb_obs_cam_security_message_location_outside_certificate_validity, { mw_v2x_pdu_stream(1, substr(v_info_port_data.data[0].gnPacket.packet.payload, 4/*BTP layer*/, lengthof(v_info_port_data.data[0].gnPacket.packet.payload) - 4), PX_REPEAT_INCONSISTENT_MESSAGE - 1) }, {}))));
              if (not(match(v_etsiTs103759_data.report, mw_cam_specific_report(mw_asr_cam_report_security(m_mb_obs_cam_security_message_location_outside_certificate_validity, { mw_v2x_pdu_stream(1, substr(v_info_port_data.data[0].gnPacket.packet.payload, 4/*BTP layer*/, lengthof(v_info_port_data.data[0].gnPacket.packet.payload) - 4), PX_REPEAT_INCONSISTENT_MESSAGE - 1) }, {}))))) {
                log("*** " & testcasename() & ": FAIL: MR content mismatch ***");
                f_selfOrClientSyncAndVerdict(c_tbDone, e_error);
              } else {
@@ -1448,7 +1467,7 @@ module ItsMbr_TestCases {
          // Test Body
          // Send CAM message with inconsistent speed value
          for (var integer i := 0; i < PX_REPEAT_INCONSISTENT_MESSAGE; i := i + 1) {
            f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(f_prepare_inconsistent_cam(false, true))));
            f_sendGeoNetMessage(valueof(m_geoNwReq_linkLayerBroadcast(f_prepare_inconsistent_cam(-, false, true))));
            f_sleepIgnoreDef(PX_REPEAT_INCONSISTENT_MESSAGE_TIMEOUT);
          } // End of 'for' statement
          log("*** " & testcasename() & ": PASS: MR triggered ***");
@@ -2045,7 +2064,7 @@ module ItsMbr_TestCases {

    } // End of group class1

    group class2
    group class2 {


    } // End of group class2
+21 −3
Original line number Diff line number Diff line
@@ -10,15 +10,33 @@ module ItsMbr_TestControl {

    if (PICS_IUT_ITS_S) {

      execute(TC_MRS_ITSS_SEC_BV_001());
      execute(TC_MRS_ITSS_SEC_BV_01());

      if (PICS_DETECTOR_CAM_SECURITY) {
        execute(TC_MRS_ITSS_SEC_MESSAGES_CLASS1_CAM_BV_01());
        execute(TC_MRS_ITSS_SEC_MESSAGES_CLASS1_CAM_BV_02());
        execute(TC_MRS_ITSS_SEC_MESSAGES_CLASS1_CAM_BV_03());
        execute(TC_MRS_ITSS_SEC_MESSAGES_CLASS1_CAM_BV_04());
        execute(TC_MRS_ITSS_SEC_MESSAGES_CLASS1_CAM_BV_05());
        execute(TC_MRS_ITSS_SEC_MESSAGES_CLASS1_CAM_BV_06());
      } // PICS_DETECTOR_CAM_SECURITY

      if (PICS_DETECTOR_CAM_SPEED) {
        execute(TC_MRS_ITSS_MESSAGES_001());
        execute(TC_MRS_ITSS_MESSAGES_CLASS1_CAM_001());
        execute(TC_MRS_ITSS_MESSAGES_BV_01());
        execute(TC_MRS_ITSS_MESSAGES_CLASS1_CAM_BV_01());
        execute(TC_MRS_ITSS_MESSAGES_CLASS1_CAM_BV_02());
      } // PICS_DETECTOR_CAM_SPEED

      if (PICS_DETECTOR_CAM_LONG_ACC) {
        execute(TC_MRS_ITSS_MESSAGES_CLASS1_CAM_BV_03());
      } // PICS_DETECTOR_CAM_LONG_ACC

    } // PICS_IUT_ITS_S

    if (PICS_IUT_MA) {
      execute(TC_MRS_MA_SEC_BO_01());
    }

  } // End of 'control' statement

} // End of module ItsMbr_TestControl
+8 −0
Original line number Diff line number Diff line
@@ -2,8 +2,16 @@ module LibItsMbr_Pics {

  modulepar boolean PICS_IUT_ITS_S := true;

  modulepar boolean PICS_IUT_MA := true;

  modulepar boolean PICS_DETECTOR_CAM_SPEED := true;

  modulepar boolean PICS_DETECTOR_CAM_POSITION := true;

  modulepar boolean PICS_DETECTOR_CAM_LONG_ACC := true;

  modulepar boolean PICS_DETECTOR_CAM_SECURITY := true;

  modulepar charstring PICS_HTTP_POST_URI_MBR := "/misbehavior-report";

  /**
+21 −11
Original line number Diff line number Diff line
@@ -299,7 +299,7 @@ module LibItsMbr_Templates {
        nonV2xPduEvidence  := p_nonV2xPduEvidence
      } // End of template mw_asr_cam_report_long_acc

      template (value) MbObsCamSpeed m_mb_obs_cam_long_acc_value_too_large := {
      template (value) MbObsCamLongAcc m_mb_obs_cam_long_acc_value_too_large := {
        obsId  := c_ObsLongAcc_ValueTooLarge,
        obs    := { longAcc_ValueTooLarge := NULL }
      } // End of template m_mb_obs_cam_long_acc_value_too_large
@@ -338,30 +338,40 @@ module LibItsMbr_Templates {
        } // End of template mw_asr_cam_report_security

        template (value) MbObsCamSecurity m_mb_obs_cam_security_message_id_inc_with_header_info := {
          obsId  := c_Obs_Security_MessageIdIncWithHeaderInfo,
          obs    := { obs_Position_ChangeTooLarge := NULL }
          obsId  := c_ObsSecurity_MessageIdIncWithHeaderInfo,
          obs    := { security_MessageIdIncWithHeaderInfo := NULL }
        } // End of template m_mb_obs_cam_security_message_id_inc_with_header_info

        template (value) MbObsCamSecurity m_mb_obs_cam_security_header_inc_with_security_profile := {
          obsId  := c_Obs_Security_HeaderIncWithSecurityProfile,
          obs    := { obs_Position_ChangeTooLarge := NULL }
          obsId  := c_ObsSecurity_HeaderIncWithSecurityProfile,
          obs    := { security_HeaderIncWithSecurityProfile := NULL }
        } // End of template m_mb_obs_cam_security_header_inc_with_security_profile

        template (value) MbObsCamSecurity m_mb_obs_cam_security_header_psid_inc_with_certificate := {
          obsId  := c_Obs_Security_HeaderPsidIncWithCertificate,
          obs    := { obs_Position_ChangeTooLarge := NULL }
          obsId  := c_ObsSecurity_HeaderPsidIncWithCertificate,
          obs    := { security_HeaderPsidIncWithCertificate := NULL }
        } // End of template m_mb_obs_cam_security_header_psid_inc_with_certificate

        template (value) MbObsCamSecurity m_mb_obs_cam_security_message_inc_with_ssp := {
          obsId  := c_Obs_Security_MessageIncWithSsp,
          obs    := { obs_Position_ChangeTooLarge := NULL }
          obsId  := c_ObsSecurity_MessageIncWithSsp,
          obs    := { security_MessageIncWithSsp := NULL }
        } // End of template m_mb_obs_cam_security_message_inc_with_ssp

        template (value) MbObsCamSecurity m_mb_obs_cam_security_header_time_outside_certificate_validity := {
          obsId  := c_Obs_Security_MessageIncWithSsp,
          obs    := { obs_Position_ChangeTooLarge := NULL }
          obsId  := c_ObsSecurity_HeaderTimeOutsideCertificateValidity,
          obs    := { security_HeaderTimeOutsideCertificateValidity := NULL }
        } // End of template m_mb_obs_cam_security_header_time_outside_certificate_validity

        template (value) MbObsCamSecurity m_mb_obs_cam_security_message_location_outside_certificate_validity := {
          obsId  := c_ObsSecurity_MessageLocationOutsideCertificateValidity,
          obs    := { security_MessageLocationOutsideCertificateValidity := NULL }
        } // End of template m_mb_obs_cam_security_message_location_outside_certificate_validity

        template (value) MbObsCamSecurity m_mb_obs_cam_security_header_location_time_outside_certificate_validity := {
          obsId  := c_ObsSecurity_HeaderLocationOutsideCertificateValidity,
          obs    := { security_HeaderLocationOutsideCertificateValidity := NULL }
        } // End of template m_mb_obs_cam_security_header_location_time_outside_certificate_validity

    } // End of group security

  } // End of group camObservation
+3 −3
Original line number Diff line number Diff line
@@ -700,11 +700,11 @@ module LibItsMbr_Functions {
        } // End of 'select'statement
      } else if (p_alter_cam_speed_drive_direction_reverse) {
        v_cam.cam.camParameters.highFrequencyContainer.basicVehicleContainerHighFrequency.speed.speedValue := PX_MBR_PASSENGER_CAR_SPEED_THRESHOLD + 1000;
        v_cam.cam.camParameters.highFrequencyContainer.basicVehicleContainerHighFrequency.driveDirection := backward1;
        v_cam.cam.camParameters.highFrequencyContainer.basicVehicleContainerHighFrequency.driveDirection := backward;//DriveDirection_speedLimiterEngaged_backward_;
      } else if (p_alter_cam_long_acc) {
        v_cam.cam.camParameters.highFrequencyContainer.basicVehicleContainerHighFrequency.longitudinalAcceleration := m_longitudinalAcceleration(PX_MBR_PASSENGER_CAR_LONG_ACC_THRESHOLD, );
        v_cam.cam.camParameters.highFrequencyContainer.basicVehicleContainerHighFrequency.longitudinalAcceleration := valueof(m_longitudinalAcceleration(PX_MBR_PASSENGER_CAR_LONG_ACC_THRESHOLD, 102));
      }  else if (p_add_emergency_containers) {
        v_cam.cam.camParameters.specialVehicleContainer.emergencyContainer := m_emergencyContainer;
        v_cam.cam.camParameters.specialVehicleContainer.emergencyContainer := valueof(m_emergencyContainer);
      }

      // Encode CAM payload