Я тестирую приложение Python / Excel в Гудзоне. Хадсон написан на Java, но я не занимаюсь программированием на Java.

ользую Hudson для автоматизации тестирования очень большого важного продукта. Я хочу, чтобы мои хосты тестирования могли запускать столько параллельных сборок, сколько они теоретически поддерживают, за исключением тестов Excel, которые должны запускаться только по одному на машину в любое время. Одновременно может выполняться любое количество тестов, отличных от Excel, но не более одного теста Excel за раз должен выполняться для каждой машины.

Фон:

Большинство моих тестов - это обычные юнит-тесты, которые я легко могу запустить параллельно. К сожалению, существенная и длительная часть моего плана модульного тестирования состоит из тестов, которые были реализованы в Excel.

Вы можете подумать, что безумно внедрять тест в Excel - на самом деле есть важная причина: большинство наших пользователей получают доступ к нашей системе через Excel. В Excel есть свои причудливые способы обработки данных, поэтому единственный способ гарантировать, что наши вещи работают для пользователей Excel, - это буквально реализовать наше повторное тестирование нашего приложения Excel.

Я написал инструмент для запуска тестов, который позволяет мне легко запускать группу тестов Excel: каждый тест представляет собой отдельный файл .xls. Каждая группа представляет собой папку, полную файлов Excel. У меня около 30 групп, которые нужно запустить для сквозного теста. Мой инструмент преобразует результаты каждого из тестов в XML-стиль в стиле JUnit, который Хадсон может понять. Тесты используют библиотеку pywin32com для автоматизации Excel. При самостоятельном запуске они надежны.

У меня есть группа компьютеров, которые предназначены для проведения тестов. Каждая машина является четырехъядерной и теоретически может запускать довольно много вещей одновременно. К сожалению, я обнаружил, что COM не может использоваться для безопасного управления более чем 1 Excel на машину одновременно.

То есть, если вторая сборка помечается, которая пытается общаться с Excel через COM, это может помешать тому, который уже запущен, и вызвать сбой обоих тестов.

Я могу запустить столько других процессов, отличных от Excel, сколько позволяет машина, но мне нужно найти способ, чтобы Хадсон не пытался запустить более 1 процесса, который требует одновременного выполнения Excel на любой машине.

Ответы на вопрос(2)

Ваш ответ на вопрос