Another one that might be worth taking a peek at is:
https://github.com/ansible/pytest-mp

I've never dug in personally but it always looked promising.

On Thu, Oct 24, 2019 at 4:22 PM RonnyPfannschmidt
<opensou...@ronnypfannschmidt.de> wrote:
>
> Hi Freddy,
>
>
> unfortunately pytest-concurrent is fundamentally broken for managing fixtures 
> and other details,
> as things are my suggestion is to avoid it.
>
>
> -- Ronny
>
> Am 24.10.19 um 15:22 schrieb   Rietdijk:
>
> Hi,
>
> I think having a simple `pytest-multiprocessing` or `pytest-concurrent` would 
> be extremely useful and cover a lot of people's use cases and would strongly 
> recommend to have that as a separate plugin from something bigger that does 
> feature hooks and/or remote execution.. It seems though as such a package 
> already exists, https://github.com/reverbc/pytest-concurrent, which offers 
> --concmode and --concworkers instead.
>
> Frederik
>
> On Thu, Oct 24, 2019 at 2:46 PM Bruno Oliveira <nicodde...@gmail.com> wrote:
>>
>> Hi everyone,
>>
>> For some time now execnet has been in maintenance only mode, and even so 
>> very few people are willing to maintain it; lately just myself and I’m not a 
>> good choice given that I don’t know the codebase at all, plus I have tons on 
>> my plate already. This poses a problem because often we have bug reports or 
>> feature requests in pytest-xdist which would require fixing or improving 
>> execnet, and are currently left without solution.
>>
>> Ronny and I have on occasion discussed the possibility of changing execnet‘s 
>> backend , with the current contenders being multiprocessing for local 
>> distribution and mitogen for remote distribution.
>>
>> I would like to write down some thoughts and gather opinions from the 
>> mailing list members.
>>
>> multiprocessing
>>
>> Aside from not needing to maintain execnet anymore, being able to use 
>> multiprocessing would bring several benefits:
>>
>> pytest -s would work just fine, because multiprocessing does not use 
>> stdout/stderr for communication. This is a often requested feature but which 
>> we can’t (with current expertise) implement on execnet.
>>
>> It would automatically support anything that can be picked to be transmitted 
>> across the wire. Currently execnet does not support custom user types and 
>> some builtins (frozen sets for example).
>>
>> Without execnet we would lose the ability of running the tests in different 
>> interpreter versions, but I believe this has been supplanted by tox in the 
>> ecosystem.
>>
>> mitogen
>>
>> Using mitogen for remote execution would provide automatic bootstrap of the 
>> Python environment, which is not currently supported by xdist‘s ssh remote 
>> execution, greatly limiting its usefulness in real-time scenarios.
>>
>> This is Ronny’s idea and he can add more here if wanted.
>>
>> pytest-xdist2?
>>
>> All the changes mentioned above would break backward compatibility hard, 
>> because details of the execnet implementation are currently exposed to users 
>> in the command-line:
>>
>> pytest -d --tx popen//python
>>
>> And in several hooks:
>>
>> def pytest_xdist_newgateway(gateway):
>>     """ called on new raw gateway creation. """
>>
>> (gateway is an execnet object)
>>
>> To incorporate the new backends, we would need to severely break both 
>> command-line and existing hooks. Given the level of breakage this could 
>> cause, just bumping the major version in this case doesn’t seem enough, it 
>> would be a disservice to users given that probably nobody pins pytest-xdist 
>> to <=2, and it would break the world with hard to understand error messages 
>> once a first major release was released.
>>
>> Because of this, we have been discussing creating a new package, 
>> pytest-xdist2 (other suggestions are welcome), without any backward 
>> compatibility guarantees with pytest-xdist.
>>
>> pytest-xdist2 would, at first, only support local test distribution using 
>> multiprocessing (-n flag), no new hooks, and no remote execution. I’ve made 
>> a proof of concept here:
>>
>> https://github.com/pytest-dev/pytest-xdist/pull/479
>>
>> So it definitely seems possible. One immediate benefit is that the proof of 
>> concept above supports pytest -s already, and can transfer anything that’s 
>> pickled over the wire.
>>
>> So I would like to know what people think of the above ideas, if they are 
>> good/bad, and/or suggest alternatives that we are not seeing right now.
>>
>> Ronny, please feel free to add to this email and correct anything I got 
>> wrong.
>>
>> Cheers,
>> Bruno
>>
>> _______________________________________________
>> pytest-dev mailing list
>> pytest-dev@python.org
>> https://mail.python.org/mailman/listinfo/pytest-dev
>
>
> _______________________________________________
> pytest-dev mailing list
> pytest-dev@python.org
> https://mail.python.org/mailman/listinfo/pytest-dev
>
> _______________________________________________
> pytest-dev mailing list
> pytest-dev@python.org
> https://mail.python.org/mailman/listinfo/pytest-dev
_______________________________________________
pytest-dev mailing list
pytest-dev@python.org
https://mail.python.org/mailman/listinfo/pytest-dev

Reply via email to