Я запускаю ночную сборку TFS, которая за последние несколько дней не смогла завершить все свои тесты. Через несколько часов происходит сбой с сообщением «Тестовый запуск прерван». До этого тесты всегда выполнялись успешно, и в систему, которая запускает эти тесты, не вносилось никаких серьезных (или даже незначительных) изменений.
Информация:
- Два запуска MStest в сборке (модульные тесты)
- Тайм-аут установлен на 20 часов
- Работает ок. 15 часов до отказа
- Тесты настроены на продолжение в случае сбоя
Когда я смотрю в журнале TFS последний запуск, он показывает следующее (2017-04-11T06:42:47.5500707Z):
[предупреждение]DistributedTests: тестовый запуск прерван. Подробная информация о журналах выполнения. [предупреждение]DistributedTests: создан новый тестовый запуск.
[предупреждение]Тестовый запуск поставлен в очередь для службы сборки коллекции проектов
[предупреждение]DistributedTests: начато обнаружение тестов.
[предупреждение]DistributedTests: обнаружение тестовых прогонов завершено . Идентификатор запуска теста: 533
[предупреждение]DistributedTests: обнаружено 290 тестовых наборов.
[предупреждение]DistributedTests: выполнение теста запущено. Идентификатор тестового запуска: 533
[предупреждение]DistributedTests: время ожидания тестового запуска истекло. Идентификатор тестового запуска: 533
[предупреждение]DistributedTests: тестовый запуск прерван. Идентификатор тестового запуска: 533
[ошибка]Тестовый запуск был прерван из-за сбоя задачи.
Когда я смотрю журнал выполнения (worker_20170410-234426-utc_864.log), я вижу:
06:42:47.659516 BaseLogger.LogConsoleMessage(scope.JobId = 7ced7f31-e360-47f3-b334-ef20faeaf000, message = ##[error]Тестовый запуск был прерван, задача не выполнена.) 06:42:47.659516 Microsoft.TeamFoundation. DistributedTask.Agent.Common.AgentExecutionTerminationException: сценарий PowerShell завершен с ошибками. в Microsoft.TeamFoundation.DistributedTask.Handlers.PowerShellHandler.Execute(контекст ITaskContext, CancellationToken CancellationToken) в Microsoft.TeamFoundation.DistributedTask.Worker.JobRunner.RunTask(контекст ITaskContext, задача TaskWrapper, CancellationTokenSource tokenSource)
В журнале тестирования, я не вижу никаких ошибок в VS, просто предупреждение о невозможности подключения (часто такое вижу):
W, 2060, 5, 10/04/2017, 16:26:03.595, XXXTESTING\QTController.exe, Не удалось выполнить проверку LoadTestResultConnectString: при установлении соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен на разрешение удаленных подключений. (поставщик: Сетевые интерфейсы SQL, ошибка: 26 — Ошибка при обнаружении указанного сервера/экземпляра)
Я также вижу ошибку в журнале событий приложений одновременно:
Не удается найти описание события с идентификатором 0 из исходного приложения. Либо компонент, вызывающий это событие, не установлен на вашем локальном компьютере, либо установка повреждена. Вы можете установить или восстановить компонент на локальном компьютере.
Если событие возникло на другом компьютере, отображаемая информация должна была быть сохранена вместе с событием.
К мероприятию была приложена следующая информация:
Исключение обработчика ошибок: System.ServiceModel.CommunicationException: Произошла ошибка чтения из канала: канал был завершен. (109, 0x6d). ---> System.IO.IOException: операция чтения не удалась, см. внутреннее исключение. ---> System.ServiceModel.CommunicationException: Произошла ошибка чтения из канала: канал был завершен. (109, 0x6d). ---> System.IO.PipeException: Произошла ошибка чтения из канала: канал был завершен. (109, 0x6d).....
ресурс сообщения присутствует, но сообщение не найдено в таблице строк/сообщений
Проблема в том, что я действительно не знаю, как интерпретировать эти сообщения, в каждом журнале просто говорится, что «тестовый запуск был прерван, задача не удалась», я даже не уверен, что проблема с powershell была причиной этого. Я также не уверен, что ошибка, выданная в журнале приложений, связана с этим, хотя она возникла точно в то же время, когда произошел сбой запуска.
Также трудно исследовать эту проблему, когда вы действительно не знаете, что вызывает сбой агента тестирования. Есть сообщения, связанные с VS и к тестовому агенту TFS, но они не вызывают меня как связанные вопросы, и, конечно же, есть несколько бесполезный пост о /visual-studio-team-services-build-error-?forum=TFService" rel="nofollow noreferrer">сообщение Powershell.
Кто-нибудь видел такого рода проблемы раньше? Я не думаю, что за последние несколько дней на моем сервере сборки что-то изменилось (возможно, обновления...), что, по вашему мнению, может вызвать такую проблему?