<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span lang=EN-CA>It doesn&#8217;t seem possible to pass arguments to a pytest finalizer. I can work around it this way, but it seems exceedingly ugly:<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA>@pytest.fixture(scope = &quot;class&quot;)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA>def test_fixture(request):<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA>&nbsp;&nbsp;&nbsp; global cleanup_parameter<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA>&nbsp;&nbsp;&nbsp; cleanup_parameter = &quot;Cleaning up&quot;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA>&nbsp;&nbsp;&nbsp; def cleanup():<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; global cleanup_parameter<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print cleanup_parameter<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA>&nbsp;&nbsp;&nbsp; try:<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; raise<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA>&nbsp;&nbsp;&nbsp; except Exception:<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cleanup_parameter = &quot;Problem in fixture!&quot;<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; cleanup()<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA>&nbsp;&nbsp;&nbsp; request.addfinalizer(cleanup)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-CA><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA><o:p>&nbsp;</o:p></span></p><p class=MsoNormal><span lang=EN-CA>Is there a better way? <o:p></o:p></span></p></div></body></html>
<pre>The information contained in this electronic mail transmission 
may be privileged and confidential, and therefore, protected 
from disclosure. If you have received this communication in 
error, please notify us immediately by replying to this 
message and deleting it from your computer without copying 
or disclosing it.