COVER의 커버리지를 가져오지 못하는 경우

COVER와 CT에서 사용하는 컴파일 플래그가 다른 경우

커버리지를 측정할 때 전처리 파일을 기준으로 측정합니다. 컴파일 플래그가 다른 경우 전처리 파일이 달라질 수 있습니다. 이 경우 COVER와 CT의 컴파일 플래그를 동일하게 맞추고 테스트를 재수행 한 후 커버리지 내보내기/가져오기를 합니다.

void testFunction(){
    int a;
    int b;
//CT에서는 CT_FLAG라는 매크로를 추가하고 커버에서는 추가하지 않은 경우나 혹은 그 반대의 경우
#ifdef CT_FLAG
     callFunction();
#endif
}

동일한 함수의 bodyhash가 다르게 계산된 경우

COVER와 CT에서 같은 함수의 bodyhash의 값이 다르게 계산되어 커버리지 가져오기가 실패하는 경우가 있습니다. 이 경우 ut.ini 파일에 EXCLUDE_BODYHASH_CVR_IMPORT=true 옵션을 추가하면 bodyhash의 값이 다르더라도 커버리지를 가져올 수 있습니다.

  • ut.ini 경로 : %프로젝트 경로%\.csdata\ut.ini

특정 소스 파일에 포함된 “함수 및 커버리지 정보“를 가져오기 못하는 경우

커버리지 가져오기 중 “일부 함수의 커버리지 정보를 가져오지 못하였습니다.” 오류 문구와 함께 특정 소스 파일에 포함된 “함수 및 커버리지 정보“를 모두 가져오지 못하는 경우가 있습니다. 이 경우 아래 사항으로 해결할 수 있습니다.

  • COVER에서 커버리지를 내보낸 소스 파일 이름과 CT에서 가져올 이름이 동일한지 확인
    • 이름이 다른 경우, CT 또는 COVER에서 소스 파일 이름 변경을 통해 동일하게 변경.
    • 커버리지 가져오기 진행.

COVER의 커버리지를 가져온 후, 커버리지 값이 다를 때

커버리지를 가져온 후 COVER와 CT에 표시되는 커버리지가 다르다면 다음을 살펴보아야 합니다.

  1. 커버리지의 모수가 다를 때
    • 모수가 다르다면 파일별로 모수를 확인하여 커버리지가 달라지는 대상을 특정해야 합니다.
    • COVER와 CT의 커버리지 측정 대상이 다르다면 대상이 아닌 함수를 측정 제외하여 모수를 맞춰줍니다.
  1. 모수가 같고 커버리지 결과가 다를 때
    • 모수가 같고 커버리지 결과가 다르면 특정 함수의 커버리지를 가져오지 못한 것입니다.
    • 커버리지 파일(.csd)과 프로젝트 로그 파일을 수집하여 매뉴얼의 [고객 지원] 페이지 하단의 연락처로 연락바랍니다.

Need more help with this?
Don’t hesitate to contact us here.

Thanks for your feedback.