2017-04-11 9 views
0

지난 며칠 동안 모든 테스트를 완료 할 수없는 TFS 야간 빌드가 실행 중입니다. "테스트 실행이 중단되었습니다."라는 메시지와 함께 몇 시간 후에 실패합니다. 이전에는 테스트가 항상 성공적으로 실행되었지만 이러한 테스트를 실행하는 시스템에는 큰 변화가 없었습니다.TFS2015 테스트 에이전트가 중단됨 - PowerShell 스크립트가 오류로 완료되었습니다.

정보 :

  • 두 MSTEST는
  • 제한 시간 20 시간 약에 대한
  • 실행합니다로 설정되어 빌드 (단위 테스트)에서 실행됩니다. (: 42 : 47.5500707Z 2017-04-11T06) : 15시간 오류가 발생하기 전에
  • 테스트 나는 그것이 다음 목록 최신 실행을위한 TFS 로그에 볼 때 실패

에서 계속 설정

내가 실행 로그를 (worker_20170410-234426-utc_864.log)을 볼 때

[warning]DistributedTests: Test run is aborted. Logging details of the run logs. [warning]DistributedTests: New test run created.
[warning]Test Run queued for Project Collection Build Service
[warning]DistributedTests: Test discovery started.
[warning]DistributedTests: Test Run Discovery Completed . Test run id: 533
[warning]DistributedTests: 290 test cases discovered.
[warning]DistributedTests: Test execution started. Test run id : 533
[warning]DistributedTests: Test run timed out. Test run id : 533
[warning]DistributedTests: Test run aborted. Test run id: 533
[error]The test run was aborted, failing the task.

나는 다음을 참조하십시오 test log에서

06:42:47.659516 BaseLogger.LogConsoleMessage(scope.JobId = 7ced7f31-e360-47f3-b334-ef20faeaf000, message = ##[error]The test run was aborted, failing the task.) 06:42:47.659516 Microsoft.TeamFoundation.DistributedTask.Agent.Common.AgentExecutionTerminationException: PowerShell script completed with errors. at Microsoft.TeamFoundation.DistributedTask.Handlers.PowerShellHandler.Execute(ITaskContext context, CancellationToken cancellationToken) at Microsoft.TeamFoundation.DistributedTask.Worker.JobRunner.RunTask(ITaskContext context, TaskWrapper task, CancellationTokenSource tokenSource)

, 내가 VS에서 오류가 표시되지 않습니다, 단지 경고 ABO를 나는 또한 동시에 응용 프로그램 이벤트 로그에 던져 오류가 표시

W, 2060, 5, 2017/04/10, 16:26:03.595, XXXTESTING\QTController.exe, Test of LoadTestResultConnectString failed: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)

가 :

The description for Event ID 0 from source Application cannot be found. Either the component that raises this event is not installed on your local computer or the installation is corrupted. You can install or repair the component on the local computer.

If the event originated on another computer, the display information had to be saved with the event.

The following information was included with the event:

Error Handler Exception: System.ServiceModel.CommunicationException: There was an error reading from the pipe: The pipe has been ended. (109, 0x6d). ---> System.IO.IOException: The read operation failed, see inner exception. ---> System.ServiceModel.CommunicationException: There was an error reading from the pipe: The pipe has been ended. (109, 0x6d). ---> System.IO.PipeException: There was an error reading from the pipe: The pipe has been ended. (109, 0x6d).....

the message resource is present but the message is not found in the string/message table

문제는 정말 돈 '이다 (나는이 자주 참조) 연결 UT 수 없습니다 이러한 메시지를 해석하는 방법을 알고, 각 로그에 "테스트 실행이 중단되고 작업에 실패했습니다."라는 메시지가 표시됩니다. PowerShell 문제가 원인인지 여부가 확실하지 않습니다. 또한 응용 프로그램 로그에 던져진 오류와 관련이 있는지 확신 할 수는 없지만 실행이 실패한 것과 정확히 동일한 시간에 throw되었습니다.

테스트 에이전트가 실제로 어떤 원인인지 알 수 없을 때이 문제를 조사하는 것도 어렵습니다. VSTFS Test Agent과 관련된 게시물이 있습니다. 그러나 관련 문제로 저를 공격하지 않으며, 물론 Powershell message에 관한 다소 도움이되지 않는 게시물이 있습니다.

이전에 이런 종류의 문제를 본 사람이 있습니까? 나는 지난 몇일 동안 (아마 업데이트 ...) 내 빌드 서버에서 아무 것도 바뀌지 않았다고 생각하는데, 어떻게 이런 문제가 발생할 것이라고 생각합니까?

+0

vnext 빌드 정의에서 "system.debug"변수를 true (기본값은 false)로 설정하고 다시 시도하십시오.그런 다음 오류에 대한 자세한 로그 메시지가 있는지 확인하십시오. –

+0

테스트가 SQL Server 인스턴스에 연결해야합니다. SQL 서버에 연결할 때 오류가있는 것으로 보입니다. 빌드 에이전트 서버와 SQL 서버 시스템 사이의 네트워크를 확인하고 연결이 작동하는지 확인하십시오. –

+0

@ Tingting0929-MSFT 예 사실을 설정했지만 로그에 더 이상 정보가 표시되지 않습니다. Powershell에 관한 것과 똑같은 것. SQL 서버에 연결을 시도합니다 (VIA 통합 테스트 - MSTest) 전체 테스트 실행 동안 네트워크 연결을 모니터링하는 프로세스를 설정할 수 있습니다. 더 많은 결과가 나오면 내 질문을 업데이트 할 것입니다. –

답변

0

TFS의 "Build"섹션에서 실패한 빌드 (테스트 포함)를 보면 "Aborted"라고 표시됩니다. 빌드의 결과를 보면 TFS의 "Test"섹션에서 테스트가 "Exceeded Timeout"을 실행하도록 지정했습니다.

분명히 MSTest가이 little gem의 기본값과 비교하여 실행되고있었습니다. 나는 그것이 지정되지 않았을 때 디폴트로 8 시간으로 생각하지만, 이것에 대해서는 너무 확신하지 못한다. 어쨌든 "Default.testsets"파일에 다음 설정을 지정합니다.

<?xml version="1.0" encoding="utf-8"?> 
<TestSettings name="TestSettings1"> 
    <Execution> 
    <Timeouts runTimeout="200000000" /> 
    </Execution> 
</TestSettings> 

이 문제를 해결하는 것 같습니다. 테스트가 성공적으로 실행되고 더 이상 종료되지 않습니다.