2017-12-31 28 views
2

unittest에 대한 html 코드 적용 범위를 생성했습니다. 문제는 include 전 처리기에서 정의 된 모든 것에 대한 코드 적용 범위를 생성한다는 것입니다.lcov를 사용하여 .cpp 파일에 대한 통합을 수행하는 동안 헤더 파일 적용 범위를 제외합니다.

unittest의 코드 범위는 unitTest 코드 커버리지 보고서 링크 내에 있습니다. unitTest

코드 커버리지를 생성하기 전에 테스트 파일의 gcda와 gcno 파일을 모두 지우지 만 여전히 도움이되지 않습니다. 이 작업을 수행하는 코드는 다음과 같습니다 Coverage Report

내가 시작하고 다음과 같이 처리기를 포함의 말에 LCOV_EXCL_START 및 LCOV_EXCL_STOP을 추가하려고하지만 여전히 doesnot 도움 :

find obj/ ! -name '*_unittests*' -type f -delete 

코드 커버리지 보고서는 아래의 쇼 .

LCOV_EXCL_START 
#include <inttypes.h> 
#include "../src/generators/buffersss.h" 
#include "gtest/gtest.h" 
#include <getopt.h> 
LCOV_EXCL_STOP 
Test code goes here..... 

여기서 내가 뭘 잘못하고 있니?

답변

0

다음 코드는 문제를 해결

lcov --remove coverage.info '/usr/include/*' 'src/*' -o filtered_coverage.info