Живое ведение журнала Pytest с параллельным выполнением - возможно?
У меня есть набор тестов, с которым я работаю
python3 -mpytest --log-cli-level=DEBUG ...
на сервере сборки. Живые журналы полезны для устранения неполадок, если тесты застревают или по какой-то причине работают медленно (тесты используют внешние ресурсы).
Чтобы ускорить процесс, их можно запустить, например,
python3 -mpytest -n 4 --log-cli-level=DEBUG ...
иметь четырех параллельных участников теста. Ускорение почти линейно с количеством процессов, и это здорово, но, к сожалению, родительский процесс поглощает все живые журналы. Я получаю записанные журналы в случае сбоя теста, но мне также нужны журналы в реальном времени, чтобы понимать, что происходит в реальном времени. Я понимаю, что результаты всех четырех параллельных запусков будут перемешаны, и это нормально. Цель состоит в том, чтобы коммиттер просто проверял выходные данные сервера сборки и примерно знал, что происходит.
В настоящее время я использую pytest-xdist, но не использую ни одной из более продвинутых функций из него (только многопроцессорность).