Why not add a breaking changes locked (to contributors with write access) and pinned issue that people can subscribe to like what trio does? Eg, https://github.com/python-trio/trio/issues/1
On Mon, Dec 9, 2024, 6:32 AM Adi Roiban via Twisted <twisted@python.org> wrote: > 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 >
_______________________________________________ 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/WFQV3L5YRJ7MM6K2RT6TIYWVQ7V7A3DO/ Code of Conduct: https://twisted.org/conduct