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에 표시되는 커버리지가 다르다면 다음을 살펴보아야 합니다.
- 커버리지의 모수가 다를 때
- 모수가 다르다면 파일별로 모수를 확인하여 커버리지가 달라지는 대상을 특정해야 합니다.
- COVER와 CT의 커버리지 측정 대상이 다르다면 대상이 아닌 함수를 측정 제외하여 모수를 맞춰줍니다.
- 모수가 같고 커버리지 결과가 다를 때
- 모수가 같고 커버리지 결과가 다르면 특정 함수의 커버리지를 가져오지 못한 것입니다.
- 커버리지 파일(.csd)과 프로젝트 로그 파일을 수집하여 매뉴얼의 [고객 지원] 페이지 하단의 연락처로 연락바랍니다.
Need more help with this?
Don’t hesitate to contact us here.