Oh sure, I see now what you mean. Back then when I was thinking about this subject it seemed to me that soft assertions could be something implemented in pytest core itself using the assertion rewriting module (which in turn would put the assertion calls around the context manager), along the lines of what Bruno mentioned. Except that I probably would not go for a generic hook, but just the soft assertion feature itself.
On Fri, Mar 27, 2020, 5:09 PM Maximilian Roos <m...@maximilianroos.com> wrote: > Hi Victor, > > > What about pytest-assume as a context manager around the assert line? > > Yes, this could work with either a context manager or a function like > pytest-check uses. > But it couples the plugin to the tests; it's no longer possible to run the > plugin on normal tests with a plain `assert`, which is some of the > brilliant philosophy of pytest. > > Without such a hook, I think the function or context manager is the best > path forward, and is a reasonable way to build a better prototype before > adding hooks deep in pytest internals. > > Thank you! > Max > > On Fri, 27 Mar 2020 at 09:26, Victor Maryama <victor.mary...@gmail.com> > wrote: > >> What about pytest-assume as a context manager around the assert line? >> That way you get the soft assertions feature and pytest still rewrites >> the assertions. >> >> On Fri, Mar 27, 2020, 12:47 PM Bruno Oliveira <nicodde...@gmail.com> >> wrote: >> >>> Hi Maximilian, >>> >>> On Thu, Mar 26, 2020 at 7:29 PM Maximilian Roos <m...@maximilianroos.com> >>> wrote: >>> >>>> >>>> To prefix: as a long time user and evangelizer of pytest, a big thank >>>> you for the superb tool. >>>> >>> >>> Thanks for the kind words, we appreciate it. >>> >>> >>>> As per that README, it only works on the first failure, because the >>>> test doesn't continue execution beyond that. *Is there any way of >>>> allowing execution to continue, without ripping up the internals of >>>> pytest?* >>>> My prior is "no", since the assertion rewrite still retains an assertion, >>>> and there's no hook for changing that. >>>> >>> >>> Not at the moment I'm afraid. >>> >>> I think it should be possible to implement a hook that transforms the >>> AST, which our rewriter would then call. I think, with this hook in place, >>> you would be able to rewrite assert statements into a function call of your >>> plugin, which would then be free to do whatever it wanted. If you are >>> interested, I suggest writing up a proposal in the issue tracker so it can >>> be discussed. >>> >>> Cheers, >>> Bruno >>> >>> >>>> Ref: a similar question I asked @okken >>>> https://github.com/okken/pytest-check/issues/32 >>>> >>>> Thank you, >>>> Max >>>> _______________________________________________ >>>> 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