저는 주로 C++로 작성된 프로젝트를 위해 사소한 크로스 플랫폼 빌드 시스템을 통합하려고합니다. 지금까지 Cmake와 Scons를 평가 해 보았습니다. 둘 다 GNU를 개선 한 것으로 나타 났지만이 도구를 사용하려고 시도한 컨텍스트에서 어느 방식도 우아하거나 투명하게 보이지 않았습니다. 이로 인해 Boost Build (Bjam)가 생겼고, 내 프로젝트가
내 빌드 디렉토리에 .gcno 및 .gcda 파일이 있습니다. CoverStory로 디렉토리를 열면 모든 것이 잘 보입니다. 궁극적 인 목표는 gcov 출력 (.gcno 및 .gcda 파일)을 읽는 것이지만이 두 파일 유형은 바이너리 형식입니다. 텍스트 파일과 같은 텍스트를 저장할 수 있도록 터미널을 통해 읽는 방법이 있습니까? 감사합니다.
플래그 --coverage를 사용하여 CMake로 컴파일하고 내 부스트 유닛 테스트 프로그램을 실행하면 확장자 .cpp.gcda 및 .cpp.gcno가있는 파일이 생성됩니다. 그런 다음 gcovr을 실행하면 .gcno 파일을 찾을 수 없다고 주장합니다 (오류 메시지 ".gcno : 그래프 파일을 열 수 없음"). 아마도 모든 출력 파일을 이동할 수 있지만
유니버설 바이너리를 빌드하는 프로젝트에 대한 코드 커버리지 통계를 얻으려고합니다. 그러나 .gcno 파일은 생성되지 않습니다. 예 : 여러 개의 아치가없는 $ls
helloworld.c
$cat helloworld.c
#include <stdio.h>
int main (void) {
printf("hello world \n");
클래스 프로젝트의 경우 gcov를 사용하여 주 기능이없는 파일을 테스트해야하지만 주 기능이있는 파일에서 호출됩니다. 그래서 우리가 작성한 라이브러리 호출을 모두 가지고있는 .c 파일이 있고 그 호출을 테스트하는 .c 파일이 있습니다. 문제는 gcov를 사용하면 실행 가능 .c 파일에서만 작동하며 다른 .c 파일에서 함수 호출 범위를 표시하지 않는다는 것입니
Android API에서 SQLite 메소드를 실행하는 Android 애플리케이션의 테스트를 진행 중입니다. 안드로이드 오픈 소스 프로젝트 (AOSP)에서 SQLite 코드의 코드 커버리지를 얻고 싶습니다. 테스트를 실행할 때 G-Cov를 실행하고 그 커버리지 정보를 저장하도록 설정했습니다. 그러나이 서비스 범위 정보가 저장되는 위치는 알 수 없습니다. 나
헤더 전용 C++ 라이브러리 (많은 템플릿 등)에 대해 GCov를 사용하여 테스트 적용 범위를 확인합니다. 그러나 사용되지 않는 함수가 컴파일러에 의해 처음 생성되지 않기 때문에 모든 헤더에 대해 100 % 적용 범위를보고합니다. 발견 된 기능을 수동으로 발견하는 것은 쉽지만 지속적인 통합의 목적을 무효로합니다 ... 어떻게 자동으로이 문제를 해결합니까?
내가 코드 기반을 기존 coverage.The 코드에 대한 기존의 코드베이스에 대하여 gcov를 구성하려고이 서비스를 기반으로 코드베이스 (.IE는 하나 개의 서비스 여러 파일 c 및 CPP를 포함) configure gcov에 대한 위키 페이지를 다음과 같이 수정했습니다. -fprofile-arcs -ftest-coverage 을 makefile에 추가했