pytest.raises() returns an ExceptionInfo object which, if a local reference is
made to it, forms a reference cycle:
ExceptionInfo
--> exception
--> stack frame raising the exception
--> current stack frame
--> current local variables
--> Exception Info
Such a reference cycle would then prevent any local variables in the current
stack frame, or any of its child stack frames involved in the same reference
cycle, from being garbage collected until the next reference cycle garbage
collection phase. This unnecessarily increases the program's memory footprint
and potentially slows it down.
This situation is based on a similar one described in the official 'try'
statement Python documentation for locally stored exception references.
--HG--
branch : document_ExceptionInfo_ref_cycle