LINUX.ORG.RU

Балансировка параметризованного pytest-а на основе априорных данных в xdist

 , , ,


0

2

У меня есть тест в pytest, параметризованный примерно 30 значениями. И я заранее знаю, что некоторые параметры вычисляются дольше остальных. Если карта ляжет так, что два долгих теста лягут на один процесс, то получится что-то вроде:

Screenshot-20220603-112154.png

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

Проблема в том, что заранее неизвестно количество процессов, по-этому разделить тест на файлы просто так нельзя.

Можно формировать файлы рантаймом, конечно, но это как-то некрасиво, может кто что проще подскажет?

Разделить тест на несколько, каждый пометить своей группой с помощью xdist_group, и запускать pytest c --dist loadgroup? Можно даже динамически их попилить на группы, если заморочаться.

qaqa ★★
()
Последнее исправление: qaqa (всего исправлений: 1)