Обработка аппаратных ресурсов при тестировании с Jenkins - PullRequest
3 голосов
/ 26 сентября 2011

Я хочу настроить Jenkins на 1) получение нашего исходного кода из нашего репозитория, 2) компиляцию и сборку 3) запуск тестов на встроенном устройстве

шаг 1 и 2 довольно прост и понятенс Jenkins, что касается шага 3, у нас есть сотни этих устройств в различных версиях, и я ищу утилиту (предпочтительно в python), которая может обрабатывать доступность аппаратных устройств / ресурсов.

втаким образом, что один из шагов сможет определить, какое из устройств доступно, и выполнить тесты на нем.

1 Ответ

1 голос
/ 27 сентября 2011

Что я обнаружил, так это то, что лучше всего делать что-то вроде Дженкинса или, если вы используете Enterprise, Electric Commander, управлять «пулом ресурсов», пул - это, по сути, виртуальные устройства, но у них естьсвойство, такое, что вы можете вызывать скрипт Python с IP-адресом или последовательным портом и связываться с вашими устройствами.

Я использовал его для автоматического встроенного тестирования на радиостанциях.Сценарий python управлял целым рядом тестов, и commander выбирал одношаговый ресурс из пула, который имел ip, и передавал его в скрипт python.Затем test выполнит все тесты, и stdout будет сохранен в commander / jenkins ... Также установите свойства для отслеживания количества пройденных / неудачных попыток, так как при выполнении теста

// основной ресурс получает элемент одного шага из пулав основном ресурсе написал крошечный скрипт, который спрашивал, имеет ли элемент, извлеченный из пула, имя ресурса == "Bench1" .. "BenchX" и т. д.

в основном:

if resource.name == "BENCH1": python myscript.py --com COM3 --baud 9600 ... и т. д.

действительно замечательная возможность сделать это таким образом, если вам нужно отключить устройство,вам не нужно доставлять изменения скрипта, вы просто помечаете ресурс commander / jenkins как отключенный, и основной «проект» все еще может извлечь из того, что осталось в вашем пуле ресурсов

...