<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
On 12/28/2011 10:58 AM, Leahy, Oliver wrote:
<blockquote
cite="mid:06B307D2846C7C4FB931AE0C3CA3950746999D18@G9W0707.americas.hpqcorp.net"
type="cite">
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<meta name="Generator" content="Microsoft Word 12 (filtered
medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@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;}
@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]-->
<div class="WordSection1">
<p class="MsoNormal">What’s the recommended way to use
coverage.py with code that uses sys.settrace()<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’m using settrace() to simulate error
conditions at certain lines during testing, but<o:p></o:p></p>
<p class="MsoNormal">this interferes with the use coverage.py
makes of settrace() and I’m getting incorrect<o:p></o:p></p>
<p class="MsoNormal">coverage metrics.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’m hacking at my code to try to store an
existing value for sys.gettrace() whenever<o:p></o:p></p>
<p class="MsoNormal">I call settrace(), and then restoring the
pre-existing trace function whenever I stop<o:p></o:p></p>
<p class="MsoNormal">tracing using my function, but it’s not
working for me at the moment.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Is this a sensible approach to this
problem? Would anyone have any other suggestions?<o:p></o:p></p>
</div>
</blockquote>
I don't know if anyone has tried measuring code that uses settrace.
You should be able to use gettrace and settrace to save and restore
the coverage trace function, but I won't be that surprised if it
isn't working. You should try using the --timid flag on "coverage
run" to see if it helps. It's specifically for environments that do
unusual things with settrace(). Are you sure settrace() is the best
way to accomplish your goals? Mocking can also inject errors into
running code, and may be easier to work with in the long run.<br>
<br>
In any case, if you need more help, post more details.<br>
<br>
--Ned.<br>
<blockquote
cite="mid:06B307D2846C7C4FB931AE0C3CA3950746999D18@G9W0707.americas.hpqcorp.net"
type="cite">
<div class="WordSection1">
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">Ollie<o:p></o:p></p>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
testing-in-python mailing list
<a class="moz-txt-link-abbreviated" href="mailto:testing-in-python@lists.idyll.org">testing-in-python@lists.idyll.org</a>
<a class="moz-txt-link-freetext" href="http://lists.idyll.org/listinfo/testing-in-python">http://lists.idyll.org/listinfo/testing-in-python</a>
</pre>
</blockquote>
</body>
</html>