COVER의 커버리지를 가져오지 못하는 경우
- COVER와 CT 2024.12에서 사용하는 컴파일 플래그가 동일한지 확인
- 커버리지를 측정할 때 전처리 파일을 기준으로 측정합니다. 컴파일 플래그가 다른 경우 전처리 파일이 달라질 수 있습니다.
- 이 경우 COVER와 CT 2024.12의 컴파일 플래그를 동일하게 설정합니다.
- COVER를 실행하여 커버리지를 측정합니다.
- COVER에서 커버리지 데이터를 내보낸 후 CT 2024.12에서 커버리지 가져오기 기능을 수행하여 COVER에서 커버리지 데이터를 가져옵니다.
- 커버리지를 측정할 때 전처리 파일을 기준으로 측정합니다. 컴파일 플래그가 다른 경우 전처리 파일이 달라질 수 있습니다.
void testFunction(){
int a;
int b;
//CT에서는 CT_FLAG라는 매크로를 추가하고 커버에서는 추가하지 않은 경우나 혹은 그 반대의 경우
#ifdef CT_FLAG
callFunction();
#endif
}
- COVER와 CT 2024.12의 bodyhash가 동일한지 확인
- COVER와 CT 2024.12에서 같은 함수의 bodyhash의 값이 다르게 계산되어 커버리지 가져오기가 실패하는 경우가 있습니다. 이 경우 ut.ini 파일에
EXCLUDE_BODYHASH_CVR_IMPORT=true
옵션을 추가하면 bodyhash의 값이 다르더라도 커버리지를 가져올 수 있습니다.- ut.ini 경로 :
%프로젝트 경로%\.csdata\ut.ini
- ut.ini 경로 :
- COVER와 CT 2024.12에서 같은 함수의 bodyhash의 값이 다르게 계산되어 커버리지 가져오기가 실패하는 경우가 있습니다. 이 경우 ut.ini 파일에
특정 소스 파일에 포함된 “함수 및 커버리지 정보“를 가져오기 못하는 경우
커버리지를 가져오는 중 “일부 함수의 커버리지 정보를 가져오지 못하였습니다.“라는 오류 메시지가 나타나며, 특정 소스 파일에 포함된 “함수 및 커버리지 정보“를 모두 가져오지 못하는 경우가 있습니다. 이 경우, 아래 두 가지 사항을 확인하여 해결할 수 있습니다.
- COVER에서 커버리지를 내보낸 프로젝트의 소스 파일 이름과 CT 2024.12에서 커버리지를 가져올 프로젝트의 소스 파일 이름이 동일한지 확인하고 다르다면 동일하게 변경합니다.
- CT 2024.12의 소스 파일 이름을 COVER의 소스 파일 이름과 동일하게 변경 후 재분석
- COVER 커버리지 가져오기
- 소스 파일에 .C 확장자가 포함된 경우 추가 설정이 필요합니다. CT 2024.12와 COVER가 해당 파일을 동일한 언어로 취급하도록 변경한 후, COVER의 커버리지를 가져올 수 있습니다.
- 소스 파일 확장자 변경
- .C 파일의 확장자를 .c로 변경 후 재분석
- COVER 커버리지 가져오기
- CT 2024.12의 [소스 파일 확장자] 설정 변경
- [프로젝트 특성] -> [소스 파일 확장자] -> [C/C++ 확장자 목록]에서 *.C 확장자 선택 후 [제거]를 클릭
- [프로젝트 특성] -> [소스 파일 확장자] -> [C/C++ 확장자 목록]에서 [추가]를 클릭 후 *.C 확장자를 c소스 파일 타입으로 선택
- [확인] 및 [적용 후 닫기]
- 프로젝트 재분석
- COVER 커버리지 가져오기
- 소스 파일 확장자 변경
COVER의 커버리지를 가져온 후, 커버리지 값이 다를 때
커버리지를 가져온 후 COVER와 CT 2024.12에 표시되는 커버리지가 다르다면 다음을 살펴보아야 합니다.
- 커버리지의 모수가 다를 때
- 모수가 다르다면 파일별로 모수를 확인하여 커버리지가 달라지는 대상을 특정해야 합니다.
- COVER와 CT 2024.12의 커버리지 측정 대상이 다르다면 대상이 아닌 함수를 측정 제외하여 모수를 맞춰줍니다.
- 모수가 같고 커버리지 결과가 다를 때
- 모수가 같고 커버리지 결과가 다르면 특정 함수의 커버리지를 가져오지 못한 것입니다.
- 커버리지 파일(.csd)과 프로젝트 로그 파일을 수집하여 매뉴얼의 [문제 해결] 페이지 하단의 연락처로 연락 바랍니다.
Need more help with this?
Don’t hesitate to contact us here.