<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=utf-8">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","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;}
p
{mso-style-priority:99;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman","serif";}
p.MsoAcetate, li.MsoAcetate, div.MsoAcetate
{mso-style-priority:99;
mso-style-link:"Balloon Text Char";
margin:0cm;
margin-bottom:.0001pt;
font-size:8.0pt;
font-family:"Tahoma","sans-serif";}
span.BalloonTextChar
{mso-style-name:"Balloon Text Char";
mso-style-priority:99;
mso-style-link:"Balloon Text";
font-family:"Tahoma","sans-serif";
mso-fareast-language:EN-GB;}
span.EmailStyle20
{mso-style-type:personal;
font-family:"Calibri","sans-serif";
color:#1F497D;}
span.EmailStyle21
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#993366;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@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-GB" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#993366">There was no further comment on your 2<sup>nd</sup> patch so I have committed it. It seemed small and safe enough.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#993366"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#993366">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#993366">Abid<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#993366"><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> lldb-commits-bounces@cs.uiuc.edu [mailto:lldb-commits-bounces@cs.uiuc.edu]
<b>On Behalf Of </b>Abid, Hafiz<br>
<b>Sent:</b> 12 January 2015 17:33<br>
<b>To:</b> Ilia K<br>
<b>Cc:</b> lldb-commits@cs.uiuc.edu<br>
<b>Subject:</b> Re: [Lldb-commits] [PATCH] test: ignore IOError in Base.deletePexpectChild and clean TestMySyntax test<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">It seems that your 2<sup>nd</sup> patch is needed. I will look at it tomorrow.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Thanks,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Abid<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt">
<div>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span lang="EN-US" style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Ilia K [<a href="mailto:ki.stfu@gmail.com">mailto:ki.stfu@gmail.com</a>]
<br>
<b>Sent:</b> 12 January 2015 13:27<br>
<b>To:</b> Abid, Hafiz<br>
<b>Cc:</b> <a href="mailto:lldb-commits@cs.uiuc.edu">lldb-commits@cs.uiuc.edu</a><br>
<b>Subject:</b> Re: [Lldb-commits] [PATCH] test: ignore IOError in Base.deletePexpectChild and clean TestMySyntax test<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Hello,<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">One more test failed:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">{code}<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">======================================================================<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">ERROR: test_lldbmi_sourceoption (TestMiStartupOptions.MiStartupOptionsTestCase)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> Test that 'lldb-mi --interpreter' can execute a prepared file which passed via --source option.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">----------------------------------------------------------------------<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Traceback (most recent call last):<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> File "/Users/IliaK/p/llvm/tools/lldb/test/lldbtest.py", line 1767, in tearDown<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> Base.tearDown(self)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> File "/Users/IliaK/p/llvm/tools/lldb/test/lldbtest.py", line 1087, in tearDown<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> self.deletePexpectChild()<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> File "/Users/IliaK/p/llvm/tools/lldb/test/lldbtest.py", line 1072, in deletePexpectChild<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> self.child.sendline('settings set interpreter.prompt-on-quit false')<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> File "/Users/IliaK/p/llvm/tools/lldb/test/pexpect-2.4/pexpect.py", line 966, in sendline<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> n = self.send(s)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> File "/Users/IliaK/p/llvm/tools/lldb/test/pexpect-2.4/pexpect.py", line 958, in send<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> c = os.write(self.child_fd, s)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">OSError: [Errno 5] Input/output error<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Config=x86_64-clang<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal">{code}<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Ilia<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On Mon, Jan 12, 2015 at 4:24 PM, Ilia K <<a href="mailto:ki.stfu@gmail.com" target="_blank">ki.stfu@gmail.com</a>> wrote:<o:p></o:p></p>
<div>
<p class="MsoNormal">Hello Abid,<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">Cleanup didn't help and I got the error again:<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal">{code}<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">======================================================================<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">ERROR: test_lldbmi_eval (TestMiEvaluate.MiEvaluateTestCase)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> Test that 'lldb-mi --interpreter' works for evaluating.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">----------------------------------------------------------------------<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Traceback (most recent call last):<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> File "/Users/IliaK/p/llvm/tools/lldb/test/lldbtest.py", line 1767, in tearDown<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> Base.tearDown(self)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> File "/Users/IliaK/p/llvm/tools/lldb/test/lldbtest.py", line 1087, in tearDown<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> self.deletePexpectChild()<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> File "/Users/IliaK/p/llvm/tools/lldb/test/lldbtest.py", line 1072, in deletePexpectChild<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> self.child.sendline('settings set interpreter.prompt-on-quit false')<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> File "/Users/IliaK/p/llvm/tools/lldb/test/pexpect-2.4/pexpect.py", line 966, in sendline<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> n = self.send(s)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> File "/Users/IliaK/p/llvm/tools/lldb/test/pexpect-2.4/pexpect.py", line 958, in send<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> c = os.write(self.child_fd, s)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">OSError: [Errno 5] Input/output error<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Config=x86_64-clang<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal">{code}<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Could you submit IOError patch?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Ilia<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On Tue, Dec 30, 2014 at 9:16 PM, Ilia K <<a href="mailto:ki.stfu@gmail.com" target="_blank">ki.stfu@gmail.com</a>> wrote:<o:p></o:p></p>
<div>
<p class="MsoNormal">Nope, it didn't help:<o:p></o:p></p>
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">{code}<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal">======================================================================<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">ERROR: test_lldbmi_pendbreakonsym (TestMiBreakpoint.MiBreakpointTestCase)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> Test that 'lldb-mi --interpreter' works for pending symbol breakpoints.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">----------------------------------------------------------------------<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Traceback (most recent call last):<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> File "/Users/IliaK/p/llvm/tools/lldb/test/lldbtest.py", line 1765, in tearDown<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> Base.tearDown(self)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> File "/Users/IliaK/p/llvm/tools/lldb/test/lldbtest.py", line 1087, in tearDown<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> self.deletePexpectChild()<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> File "/Users/IliaK/p/llvm/tools/lldb/test/lldbtest.py", line 1072, in deletePexpectChild<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> self.child.sendline('settings set interpreter.prompt-on-quit false')<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> File "/Users/IliaK/p/llvm/tools/lldb/test/pexpect-2.4/pexpect.py", line 966, in sendline<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> n = self.send(s)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> File "/Users/IliaK/p/llvm/tools/lldb/test/pexpect-2.4/pexpect.py", line 958, in send<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> c = os.write(self.child_fd, s)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">OSError: [Errno 5] Input/output error<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Config=x86_64-clang<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal">{code}<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Ilia<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On Tue, Dec 30, 2014 at 8:15 PM, Abid, Hafiz <<a href="mailto:Hafiz_Abid@mentor.com" target="_blank">Hafiz_Abid@mentor.com</a>> wrote:<o:p></o:p></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">I committed the cleanup in 224990. Please have a look and let me know if you see a problem.
<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">Regards,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">Abid<o:p></o:p></span></p>
<div>
<div class="MsoNormal" align="center" style="text-align:center"><span style="color:black">
<hr size="3" width="100%" align="center">
</span></div>
<div>
<p class="MsoNormal"><b><span style="font-family:"Tahoma","sans-serif";color:black">From:</span></b><span style="font-family:"Tahoma","sans-serif";color:black"> Ilia K [<a href="mailto:ki.stfu@gmail.com" target="_blank">ki.stfu@gmail.com</a>]<br>
<b>Sent:</b> Tuesday, December 30, 2014 4:50 PM<o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"><br>
<b>To:</b> Abid, Hafiz<br>
<b>Cc:</b> <a href="mailto:lldb-commits@cs.uiuc.edu" target="_blank">lldb-commits@cs.uiuc.edu</a><br>
<b>Subject:</b> Re: [Lldb-commits] [PATCH] test: ignore IOError in Base.deletePexpectChild and clean TestMySyntax test<o:p></o:p></span></p>
</div>
</div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="color:black">Now I have modified breakpoint's test and IOError sometimes happens:
<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="color:black">{code}<o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="color:black">$ <b>./dotest.py -v --executable $BUILDDIR/bin/lldb -f MiBreakpointTestCase.test_lldbmi_pendbreakonsym</b><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">['./dotest.py', '-v', '--executable', '/Users/IliaK/p/llvm/build_ninja/bin/lldb', '-f', 'MiBreakpointTestCase.test_lldbmi_pendbreakonsym']<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">LLDB library dir: /Users/IliaK/p/llvm/build_ninja/bin<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">lldb-330.99.0<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">lldb.pre_flight: None<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">lldb.post_flight: None<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">Session logs for test failures/errors/unexpected successes will go into directory '2014-12-30-19_45_12'<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">Command invoked: ./dotest.py -v --executable /Users/IliaK/p/llvm/build_ninja/bin/lldb -f MiBreakpointTestCase.test_lldbmi_pendbreakonsym<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">compilers=['clang']<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">Configuration: arch=x86_64 compiler=clang<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">----------------------------------------------------------------------<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">Collected 1 test<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">1: test_lldbmi_pendbreakonsym (TestMiBreakpoint.MiBreakpointTestCase)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> Test that 'lldb-mi --interpreter' works for pending symbol breakpoints. ... ERROR<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">======================================================================<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">ERROR: test_lldbmi_pendbreakonsym (TestMiBreakpoint.MiBreakpointTestCase)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> Test that 'lldb-mi --interpreter' works for pending symbol breakpoints.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">----------------------------------------------------------------------<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">Traceback (most recent call last):<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> File "/Users/IliaK/p/llvm/tools/lldb/test/lldbtest.py", line 1765, in tearDown<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> Base.tearDown(self)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> File "/Users/IliaK/p/llvm/tools/lldb/test/lldbtest.py", line 1087, in tearDown<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> self.deletePexpectChild()<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> File "/Users/IliaK/p/llvm/tools/lldb/test/lldbtest.py", line 1072, in deletePexpectChild<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> self.child.sendline('settings set interpreter.prompt-on-quit false')<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> File "/Users/IliaK/p/llvm/tools/lldb/test/pexpect-2.4/pexpect.py", line 966, in sendline<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> n = self.send(s)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> File "/Users/IliaK/p/llvm/tools/lldb/test/pexpect-2.4/pexpect.py", line 958, in send<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> c = os.write(self.child_fd, s)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">OSError: [Errno 5] Input/output error<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">Config=x86_64-clang<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">----------------------------------------------------------------------<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">{code}<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">Here are my changes:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">{code}<o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="color:black">Index: test/tools/lldb-mi/TestMiBreakpoint.py<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">===================================================================<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">--- test/tools/lldb-mi/TestMiBreakpoint.py (revision 224982)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">+++ test/tools/lldb-mi/TestMiBreakpoint.py (working copy)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">@@ -48,17 +48,13 @@<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> child.expect("\^done,bkpt={number=\"1\"")<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> child.sendline("-exec-run")<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">- child.sendline("") # FIXME: lldb-mi hangs here, so extra return is needed<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> child.expect("\^running")<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> child.expect("\*stopped,reason=\"breakpoint-hit\"")<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> child.sendline("-exec-continue")<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> child.expect("\^running")<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> child.expect("\*stopped,reason=\"exited-normally\"")<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">- child.expect_exact(prompt)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">- child.sendline("quit")<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">-<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> # Now that the necessary logging is done, restore logfile to None to<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> # stop further logging.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> child.logfile_send = None<o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="color:black">{code}<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="color:black">Thanks,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">Ilia<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="color:black">On Tue, Dec 30, 2014 at 7:39 PM, Abid, Hafiz <<a href="mailto:Hafiz_Abid@mentor.com" target="_blank">Hafiz_Abid@mentor.com</a>> wrote:<o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">I also found in the existing test cases that both ways have been used. So I will remove that prompt and 'quit' from the lldb-mi test cases as you have done from
one of them. Then if you still get the IOError then we can apply your 2nd patch.
<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">Thanks,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">Abid<o:p></o:p></span></p>
<div>
<div class="MsoNormal" align="center" style="text-align:center"><span style="color:black">
<hr size="3" width="100%" align="center">
</span></div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-family:"Tahoma","sans-serif";color:black">From:</span></b><span style="font-family:"Tahoma","sans-serif";color:black"> Ilia K [<a href="mailto:ki.stfu@gmail.com" target="_blank">ki.stfu@gmail.com</a>]<br>
<b>Sent:</b> Tuesday, December 30, 2014 4:29 PM<br>
<b>To:</b> Abid, Hafiz<br>
<b>Cc:</b> <a href="mailto:lldb-commits@cs.uiuc.edu" target="_blank">lldb-commits@cs.uiuc.edu</a><br>
<b>Subject:</b> RE: [Lldb-commits] [PATCH] test: ignore IOError in Base.deletePexpectChild and clean TestMySyntax test</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<div>
<div>
<p><span style="color:black">As I understood both of them are legal (in theory) but in practice I faced with IOError. I think we should ignore IOError because we can't fix isalive() method.<o:p></o:p></span></p>
<p><span style="color:black">Thanks,<br>
Ilia<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="color:black">On 30 Dec 2014 19:21, "Abid, Hafiz" <<a href="mailto:Hafiz_Abid@mentor.com" target="_blank">Hafiz_Abid@mentor.com</a>> wrote:<o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">Thanks for quick reply. Your patch is removing the following line from lldb-mi test case.
<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">- child.sendline("quit")<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">I am wondering what is the convention of terminating the executable that we invoked. Do the test is supposed to kill it (using 'quit') command or it can be left
to the other part of testing code which as you noted also use sendline('quit').<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">Regards,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">Abid<o:p></o:p></span></p>
<div>
<div class="MsoNormal" align="center" style="text-align:center"><span style="color:black">
<hr size="3" width="100%" align="center">
</span></div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-family:"Tahoma","sans-serif";color:black">From:</span></b><span style="font-family:"Tahoma","sans-serif";color:black"> Ilia K [<a href="mailto:ki.stfu@gmail.com" target="_blank">ki.stfu@gmail.com</a>]<br>
<b>Sent:</b> Tuesday, December 30, 2014 4:11 PM<br>
<b>To:</b> Abid, Hafiz<br>
<b>Cc:</b> <a href="mailto:lldb-commits@cs.uiuc.edu" target="_blank">lldb-commits@cs.uiuc.edu</a><br>
<b>Subject:</b> Re: [Lldb-commits] [PATCH] test: ignore IOError in Base.deletePexpectChild and clean TestMySyntax test</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="color:black">** i</span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">t will cause a IOError because later it will try to kill process using 'sendline(quit)'.</span><span style="color:black">
<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">Thanks,</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">Ilia</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="color:black">On Tue, Dec 30, 2014 at 7:06 PM, Ilia K <<a href="mailto:ki.stfu@gmail.com" target="_blank">ki.stfu@gmail.com</a>> wrote:<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="color:black">Hello Abid, <o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">I'm glad to see you.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">>RE: </span><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">IMHO once we have removed the extra quit call from the test cases, we will not need the check for OSErrror.</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black">Unfortunately it's not. The deletePexpectChild() sometimes causes that problem when isalive returns a false positive result.</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black">{code}</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"> # This is for the case of directly spawning 'lldb' and interacting with it<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"> # using pexpect.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"> if self.child and self.child.isalive():
<b><i><--here</i></b><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"> import pexpect<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"> with recording(self, traceAlways) as sbuf:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"> print >> sbuf, "tearing down the child process...."<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"> try:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"> if self.child_in_script_interpreter:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"> self.child.sendline('quit()')<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"> self.child.expect_exact(self.child_prompt)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"> self.child.sendline('settings set interpreter.prompt-on-quit false')<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"> self.child.sendline('quit')<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"> self.child.expect(pexpect.EOF)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"> except (ValueError, OSError, pexpect.ExceptionPexpect):<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"> # child is already terminated<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"> pass<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"> finally:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"> # Give it one final blow to make sure the child is terminated.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"> self.child.close()<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black">{code}<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black">The pexpect's isalive() method is nonblocking. It checks whether process was terminated or not. But the problem is that process may be terminated after isalive() was called --
it will cause a IOError.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black">Thanks,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black">Ilia<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Tahoma","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="color:black">On Tue, Dec 30, 2014 at 6:46 PM, Abid, Hafiz <<a href="mailto:Hafiz_Abid@mentor.com" target="_blank">Hafiz_Abid@mentor.com</a>> wrote:<o:p></o:p></span></p>
<div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">I dont see any problem with the patch that cleans up the TestMiSyntax.py. But I see that similar cleanup is needed in other tests too. I will make the change
and then commit all of them. <o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">IMHO once we have removed the extra quit call from the test cases, we will not need the check for OSErrror.
<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">Thanks,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif";color:black">Abid<o:p></o:p></span></p>
<div>
<div class="MsoNormal" align="center" style="text-align:center"><span style="color:black">
<hr size="3" width="100%" align="center">
</span></div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-family:"Tahoma","sans-serif";color:black">From:</span></b><span style="font-family:"Tahoma","sans-serif";color:black"> Ilia K [<a href="mailto:ki.stfu@gmail.com" target="_blank">ki.stfu@gmail.com</a>]<br>
<b>Sent:</b> Monday, December 22, 2014 11:54 AM<br>
<b>To:</b> Abid, Hafiz; <a href="mailto:lldb-commits@cs.uiuc.edu" target="_blank">
lldb-commits@cs.uiuc.edu</a><br>
<b>Subject:</b> Re: [Lldb-commits] [PATCH] test: ignore IOError in Base.deletePexpectChild and clean TestMySyntax test</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="color:black">Hello, <o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">My previous messages left without answer. I'm posting them again (see below) with patch files.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">The initial message: <a href="http://lists.cs.uiuc.edu/pipermail/lldb-commits/Week-of-Mon-20141215/014599.html" target="_blank">http://lists.cs.uiuc.edu/pipermail/lldb-commits/Week-of-Mon-20141215/014599.html</a><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">Thanks,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">Ilia<o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="color:black">On Tue, Dec 16, 2014 at 7:02 PM, Ilia K <<a href="mailto:ki.stfu@gmail.com" target="_blank">ki.stfu@gmail.com</a>> wrote:<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="color:black">Hello, <o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">>RE: </span><span style="font-size:10.5pt;font-family:"Arial","sans-serif";color:#333333">IOError may happen when child already exited but dotest has missed this and tries to exit using 'child.sendline("quit")'</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">Actually it's OSError (not IOError):<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="color:black">======================================================================<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">ERROR: test_lldbmi_tokens (TestMiSyntax.MiSyntaxTestCase)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> Test that 'lldb-mi --interpreter' echos command tokens.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">----------------------------------------------------------------------<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">Traceback (most recent call last):<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> File "/Users/IliaK/p/llvm_delphi/tools/lldb/test/lldbtest.py", line 1770, in tearDown<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> Base.tearDown(self)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> File "/Users/IliaK/p/llvm_delphi/tools/lldb/test/lldbtest.py", line 1092, in tearDown<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> self.deletePexpectChild()<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> File "/Users/IliaK/p/llvm_delphi/tools/lldb/test/lldbtest.py", line 1074, in deletePexpectChild<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> self.child.sendline('settings set interpreter.prompt-on-quit false')<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> File "/Users/IliaK/p/llvm_delphi/tools/lldb/test/pexpect-2.4/pexpect.py", line 966, in sendline<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> n = self.send(s)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> File "/Users/IliaK/p/llvm_delphi/tools/lldb/test/pexpect-2.4/pexpect.py", line 958, in send<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> c = os.write(self.child_fd, s)<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">OSError: [Errno 5] Input/output error<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">Config=x86_64-clang<o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">Therefore I updated lldbtest_ignore_ioerror_on_theardown.patch file.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">Btw, may be better to filter only IO errors from OSError class? It'll look like:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">{code}<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">try:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> ...<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">except (ValueError, pexpect.ExceptionPexpect):<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> # child is already terminated<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> pass<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">except OSError, e:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> if </span><span style="font-size:10.5pt;font-family:Consolas;color:black;border:none windowtext 1.0pt;padding:0cm">e.errno != errno.EIO:</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> # unexpected exception<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> raise<o:p></o:p></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="color:black"> # child is already terminated<o:p></o:p></span></p>
</div>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> pass<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">finally:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"> ...<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">{code}<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">Thanks,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">Ilia<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
<div>
<p class="MsoNormal"><span style="color:black">On Tue, Dec 16, 2014 at 4:42 PM, Ilia K <<a href="mailto:ki.stfu@gmail.com" target="_blank">ki.stfu@gmail.com</a>> wrote:
<o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="color:black">Hello, <o:p></o:p></span></p>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black">I found the following:<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Arial","sans-serif";color:#333333">IOError may happen when child already exited but dotest has missed this and tries to exit using 'child.sendline("quit")'</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Arial","sans-serif";color:#333333">Also, I clean syntax test. -exec-run no hangs more and 'quit' isn't needed at exit.</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Arial","sans-serif";color:#333333">Thanks,</span><span style="color:black"><o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Arial","sans-serif";color:#333333">Ilia</span><span style="color:black"><o:p></o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><span style="color:black"><o:p> </o:p></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</div>
</div>
</body>
</html>