2014-03-30 5 views
2

모든 TeamCity 에이전트에 BullsEye Coverage가 설치되어 있으며 BullsEye를 켜고 프로젝트를 재구성하고 단위 테스트를 실행 한 다음 BullsEye를 해제하는 야간 스크립트가 있습니다. BullsEye bin 디렉토리가 시스템 경로에없고 내 스크립트가 실행 전에 경로를 추가합니다. (경로는 해당 세션에 대한 스크립트의 일부로 만 추가되며 전체 시스템에 대해 영구적으로 설정되지는 않습니다).BullsEye 컴파일러로 프로젝트를 컴파일하는 이유는 무엇입니까?

요즘 TeamCity 빌드 로그에서 BullsEye 컴파일러를 사용하는 모든 프로젝트 (정규 프로젝트뿐만 아니라 적용 범위를 실행하도록 구성된 프로젝트)도 주목합니다. 다음은 로그의 예입니다.

[11:29:38] [bsii_algorithms\build\vc10\bsii_algorithms.vcxproj] ClCompile (8s) 
[11:29:38] [ClCompile] CL (3s) 
[11:29:38] [CL] C:\Program Files (x86)\BullseyeCoverage\bin\CL.exe /c /I..\..\include /I..\..\..\bsii_common\include ... 

또한 프로젝트 중 하나가 실제로 느립니다. 구체적으로, "ResolveProjectReferences"는 약 20 분이 걸립니다. 나는 일종의 분석이 켜져 있기 때문에 이것이 일어날 수 있다고 온라인에서 읽었습니다. 그래서 TeamCity 사용자를 사용하여 서버에 로그인하고 BullsEye를 다시 껐습니다. 그러나 도움이되지 않았습니다.

그래서 제 질문은 다음과 같습니다

  • 은 불즈 아이는 기계 경로에없는 경우에도 모든 것이 불즈 아이 폴더에서 컴파일러로 컴파일되는 것을 확인인가?
  • 범위 스크립트 만 BullsEye 컴파일러를 사용하도록 컴퓨터를 구성하려면 어떻게해야합니까?
  • 빌드가 오래 걸리는 이유가 될 수 있습니까?

감사합니다.

답변

0

예, 불 즈 아이 폴더의 컴파일러가 사용됩니다. 이것은 실제 컴파일러를 특별한 "계측 된 버전"으로 가로 채서 Bullseye coverage 도구가 작동하는 방법입니다. 결국 Visual Studio 컴파일러는 Under-the-Hood라고합니다.

스크립트에서 불스 아이를 활성화하는 단계 ('cov01 -1'호출)를 제거하면 불 즈 아이 컴파일러가 Visual Studio 컴파일러로의 패스 스루 만 수행하면 코드 커버리지가 없어집니다.

타이밍 질문이 확실하지 않습니다. 은 VS 땡기 문서에

링크 : 황소가 (? 레지스트리를 통해) 세계적으로 켜져 있는지 here

0

주 그래서 어떤 자신을 발견 할 것이다 당신의 범위 빌드로 병렬로 실행하는 빌드 (부분적으로) 계측. 이러한 이유로 우리는 자체 시스템에서 커버리지 빌드를 실행합니다.

+0

이 문제가 확실합니까? 우리는 (cov01 - on으로) 커버리지를 켜는 배치 스크립트를 통해 빌드를 실행한다. 해당 배치 스크립트에만 적용되지 않습니까? – Dina