Hi Povilas,

Many thanks for working on this and following up with the deprecation
exception process.

+1 for approving the exception.

On Sun, 8 Dec 2024 at 21:37, <povi...@radix.lt> wrote:

> Hi,
>
> I created this PR to remove TestCase.defer{SetUp, TestMethod, TearDown,
> RunCleanups} methods: https://github.com/twisted/twisted/pull/12389
>
> The justification is as follows:
>
> Currently `TestCase` has the following functions that are presumably
> public due to their naming: `deferSetUp`, `deferTestMethod`,
> `deferRunCleanups` and `deferTearDown`. This raises a few problems. I
> suggest removing the functions without deprecation period due to the
> following reasons:
>
>  - these functions expose so much of the internal structure of TestCase
> that it makes the code hard to change (e.g.
> https://github.com/twisted/twisted/pull/12375 cannot go in)
>
>  - there is no case where the functions would be useful as an extension
> point. The only use of the functions that I found using Github code search
> is my own code in the Buildbot project which overrides `deferRunCleanups`
> and hooks even deeper into TestCase internals.
>
>  - the API is not "public ready" (i.e. the `ignored` parameter) - it seems
> as if they were some kind of internal thing that simply didn't get the `_`
> prefix.
>
>  - deprecation would be harder to implement than usual, due to the
> functions being supposed to be overridden, not just called.
>
>  - this is API for tests, so it is not likely to break functionality that
> is used in production. Only development workflows may be affected where the
> fix is to update the tests.
>
> Given the above - small risk of breaking code for someone and relatively
> high costs for going through the deprecation dance I would suggest to have
> an exception for this change and allow to remove the functions without
> deprecation period.
>
> If you have any objections and you think that the functions should stay or
> at least be removed via deprecation please let me know.
>
> You can send your feedback by replying to this email or add your comment
> to the PR
>
> https://github.com/twisted/twisted/pull/12389
>
> Thanks for your time!
>
> Regards,
> Povilas
> _______________________________________________
> Twisted mailing list -- twisted@python.org
> To unsubscribe send an email to twisted-le...@python.org
> https://mail.python.org/mailman3/lists/twisted.python.org/
> Message archived at
> https://mail.python.org/archives/list/twisted@python.org/message/QOHSOCN45LI7YG4WZS3SYNMT73I3ZJVL/
> Code of Conduct: https://twisted.org/conduct
>


-- 
Adi Roiban
_______________________________________________
Twisted mailing list -- twisted@python.org
To unsubscribe send an email to twisted-le...@python.org
https://mail.python.org/mailman3/lists/twisted.python.org/
Message archived at 
https://mail.python.org/archives/list/twisted@python.org/message/HSH2FK4Y4EWIT4QSYDUEBD6LZEHOMA5L/
Code of Conduct: https://twisted.org/conduct

Reply via email to