lcov/genhtml 코드 적용 범위 출력에 테스트 사례 설명을 포함하는 방법

StackOverflow https://stackoverflow.com//questions/12717239

  •  13-12-2019
  •  | 
  •  

문제

저는 C 코드 기반에 대한 코드 적용 범위 보고서를 생성하기 위해 lcov를 사용하고 있습니다.테스트 설명을 최종 출력에 통합하고 싶습니다(lcov의 gendesc 유틸리티 사용).

그러나 나는 그것을 수행하는 방법에 대한 단서가 없으며 gendesc에 대한 문서는 다소 드문 것 같습니다(좋은 오래된 Google이 나에게 말할 수 있는 한).

그만큼 LTP의 gendesc 정보 입력 테스트 케이스 설명 파일(genhtml에서 예상되는 대로)을 생성하는 방법을 설명합니다.그리고 genhtml 정보 제공하다 --show-descriptions, 그리고 --description-file 이러한 테스트 케이스 설명 파일을 입력하기 위한 것입니다.

그러나 최종 보고서에 포함되도록 테스트 사례를 참조하는 방법을 모르겠습니다.genhtml은 그것들을 다음과 같이 본다 사용하지 않은 테스트 케이스 따라서 생성된 html 출력에서 ​​제외됩니다.나는 사용할 수 있다 --keep-descriptions, 그러나 어떤 테스트 사례가 실행되었는지는 알려주지 않습니다. (분명히 코드에서 테스트 설명까지 참조하는 방법을 모르기 때문입니다.)

그렇다면 최종 출력에서 ​​어떤 테스트가 실행되었는지 lcov/genhtml에 어떻게 알릴 수 있습니까?어떤 아이디어가 있나요?

도움이 되었습니까?

해결책

테스트 사례 이름을 적용 범위 데이터와 연결하려면 lcov의 --test-name 옵션을 사용하여 적용 범위 데이터를 수집하는 동안 해당 이름을 지정하십시오.

lcov --capture --directory project-dir --output-file coverage.info --test-name "test01"

그런 다음 이미 언급한 단계를 계속 진행합니다. 즉, 테스트 사례 설명 파일 "tests.txt"를 만듭니다.

test01
    Some test

genhtml에서 예상하는 형식으로 변환합니다.

gendesc tests.txt --output-filename tests.desc

마지막으로 설명 파일을 genhtml에 지정합니다.

genhtml coverage.info --output-directory out --description-file tests.desc --show-details
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top