Hello there, fellow developers. I am now trying to add xdist intergration capabilities for my plugin, pytest-allure-adaptor and I've run into substantial problems with understanding xdist. Efforts so far are discussed here: https://github.com/allure-framework/allure-python/issues/8 .
As far as the reverse-enginering leeds me, xdist is running a `master` process and `slave` processes, transmitting pytest's Items to slaves and receiving test results from those. It does so by hand-picking into the pytest hooks, calling some of them on the remote site and some on the master side, effectively achieving the `separated` pytest session. However, pytest-allure-adaptor, being a report-generation-kind plugin, relies significantly on the hook specification and call order, and xdist's hook manipulation renders the allure adaptor incapable of working properly. Here come the questions: 1) Is there any kind of documentation / guide lines / examples of xdist's internal architecture and integration? 2) Are there any planned activity on xdist internals? Or any kind of overhaul? Do xdist developers consider its use of hook an API? Is it sane to rely on xdist internal workings retaining campatibility for at least some time? 3) What's recommended / renown way of developing an xdist-capable pytest plugin? 4) Is it sane to rely on pytest hook call order at all? What is the most other-plugin-friendly way to override / modify pytest hooks? Hope for best and thanks in advance for your time. Best, Ivan.
_______________________________________________ pytest-dev mailing list pytest-dev@python.org https://mail.python.org/mailman/listinfo/pytest-dev