[pytest-dev] the sorry state of pylib tests and pylib

Ronny Pfannschmidt opensource at ronnypfannschmidt.de
Tue Sep 27 10:32:10 EDT 2016



On 27.09.2016 16:25, Bruno Oliveira wrote:
>
>
> On Tue, Sep 27, 2016 at 11:14 AM Ronny Pfannschmidt
> <opensource at ronnypfannschmidt.de
> <mailto:opensource at ronnypfannschmidt.de>> wrote:
>
>
>
>     On 27.09.2016 15:59, Bruno Oliveira wrote:
>>     On Tue, Sep 27, 2016 at 10:07 AM Ronny Pfannschmidt
>>     <opensource at ronnypfannschmidt.de
>>     <mailto:opensource at ronnypfannschmidt.de>> wrote:
>>
>>         as things stand we have to maintain it until py.test no
>>         longer depends on it
>>
>>         a 2.0 release that kills py.code is a non-option as any
>>         project dependign on ot will be limited in py.test version
>>
>>
>>     Don't we already vendor py.code in pytest? That makes it
>>     independent from what's installed on the system, at least as far
>>     as py.code is concerned. My idea was just to remove parts which
>>     py.test does not use or is vendored in (svn and py.code come to
>>     mind).
>>      
>     we vendored it to since changing its api in pylib would break
>     down-streams
>     if we now remove it we break down-streams just the same
>
>
> Yes, but those downstream projects would have the option o pinning to
> pylib < 2. Plus I think there must be almost no projects using it, it
> seems very pytest specific, that was one of the reasonings we used to
> justify vendoring py.code into pytest in the first place.
>
>     and we could just have put it into a separate package to begin with
>
>
> One of the reasons to vendor it was to make it easier to fix bugs on
> it without having to apply the fix in a separate library and make a
> separate release; just moving py.code to a separate package would not
> help with that. 
>
well, the fact that we need more than 5 minutes to do a release is
concerning - i#d prefer if we could handle that differently
but well, vendoring py.code  destroyed most tests for py.code in pylib,
and we cant yet abandon pylib

by now i think it would be much more easy to separate py.code and and
prepare to either freeze or evolve it
>
>>         my plan is to de-vendor bits of pylib (like iniconfig, apipkg)
>>
>>     You mean remove them from pylib and publish them as isolated
>>     packages? 
>>
>     correct, the main reason to pull in things like iniconfig and
>     apipkg was, bad packaging tooling 6-7 years ago
>     its much better now
>
>
> I see, but that would break downstream projects which use those
> sub-packages as well, right? Note that I'm fine to do that in a 2.0
> release.
pylib can just expose them the same way it exposes py.test,
the main problem is stable api
>  
>
>>     About py.path, we could implement a backward compatible interface
>>     which is implemented as a thin layer in terms of pathlib (I think
>>     we discussed this on GTalk some other day).
>     thats one of the plans
>     but i would like to eventually get rid of the api alltogether,
>     we couldnt push it when we had the chance, and now pathlib is the
>     standard
>
>
> Sure, but removing that API is a very long term plan IMHO because tons
> of code depend on it (tmpdir is certainly a very popular fixture) so I
> wouldn't dare remove it in the next few years. 
>
> We could eventually introduce a separate fixture which provides the
> pathlib interface, and eventually move tmpdir to a separate plugin for
> legacy code to use. But this would be very down the road in my opinion.
>
> Cheers,
> Bruno.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pytest-dev/attachments/20160927/b4c433bc/attachment.html>


More information about the pytest-dev mailing list