2010-06-14 5 views
1

설치 프로그램을 사용하는 Cocoa 응용 프로그램이 있습니다. 코드가 설치된 후 코드 커버리지를 실행할 수 있기를 원합니다.설치된 코코아 애플리케이션에서 Gcov를 어떻게 실행합니까?

이것은 하나의 바이너리가 일련의 테스트를 실행하는 일반적인 단위 테스트 시나리오는 아닙니다. 오히려 문제의 테스트는 UI와 앱 백엔드가 실행되는 동안 상호 작용할 것이므로 Gcov가 프로파일 링을하고 있다는 것을 알고 애플리케이션을 시작할 수 있기를 원합니다.

아이디어가 있으십니까? mustISignUp에

업데이트

감사합니다. 내가 왜 질문을했는지 명확히하기 위해서 :

나는 실수로 .gcno와 .gcda 파일을 바이너리와 함께 설치해야만했다 (설치자를 어렵게 만든다). 파일의 원래 위치는 계측 코드와 함께 코드에 하드 와이어됩니다.

내가 쓴 해결책은 빌드 머신의 코드를 압축하여 테스트 머신의 디스크에 올려 놓는 것입니다. lcov (또는 단지 gcov)을 실행할 수 있습니다. 또는 .gcda 파일이 디스크에 만들어지며 소스 코드가있는 컴퓨터로 다시 복사해야합니다.

어느 쪽이든, 소스 코드는 설치 및 런타임에 존재할 필요는 없지만 결과를 lcov 스타일로 되돌리려면 생성 된 커버리지 카운터 파일을 소스 코드와 조정해야합니다.

답변

1

응용 프로그램은 코드 작성 지침을 코드에 삽입 할 올바른 GCC 플래그로 컴파일해야합니다. 당신이 켜고 끌 수있는 것이 아닙니다. 즉, 컴파일 타임에 코드가 수정되어 적용 범위 정보가 출력됩니다.

올바른 플래그를 사용하여 응용 프로그램을 컴파일하면 덮어 쓰지 않으면 적용되지 않을 것입니다 (배포하려는 응용 프로그램에는 적용하지 않을 것입니다) .

관련 문제