[Lldb-commits] [PATCH] test: ignore IOError in Base.deletePexpectChild and clean TestMySyntax test

Abid, Hafiz Hafiz_Abid at mentor.com
Mon Dec 29 00:53:28 PST 2014


Sorry for the delay. I will review your patches this week.

Thanks,
Abid

Sent from my iPhone

On 22 Dec 2014, at 11:54, Ilia K <ki.stfu at gmail.com<mailto:ki.stfu at gmail.com>> wrote:

Hello,

My previous messages left without answer. I'm posting them again (see below) with patch files.
The initial message: http://lists.cs.uiuc.edu/pipermail/lldb-commits/Week-of-Mon-20141215/014599.html

Thanks,
Ilia

On Tue, Dec 16, 2014 at 7:02 PM, Ilia K <ki.stfu at gmail.com<mailto:ki.stfu at gmail.com>> wrote:
Hello,

>RE: IOError may happen when child already exited but dotest has missed this and tries to exit using 'child.sendline("quit")'
Actually it's OSError (not IOError):

======================================================================
ERROR: test_lldbmi_tokens (TestMiSyntax.MiSyntaxTestCase)
   Test that 'lldb-mi --interpreter' echos command tokens.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/Users/IliaK/p/llvm_delphi/tools/lldb/test/lldbtest.py", line 1770, in tearDown
    Base.tearDown(self)
  File "/Users/IliaK/p/llvm_delphi/tools/lldb/test/lldbtest.py", line 1092, in tearDown
    self.deletePexpectChild()
  File "/Users/IliaK/p/llvm_delphi/tools/lldb/test/lldbtest.py", line 1074, in deletePexpectChild
    self.child.sendline('settings set interpreter.prompt-on-quit false')
  File "/Users/IliaK/p/llvm_delphi/tools/lldb/test/pexpect-2.4/pexpect.py", line 966, in sendline
    n = self.send(s)
  File "/Users/IliaK/p/llvm_delphi/tools/lldb/test/pexpect-2.4/pexpect.py", line 958, in send
    c = os.write(self.child_fd, s)
OSError: [Errno 5] Input/output error
Config=x86_64-clang

Therefore I updated lldbtest_ignore_ioerror_on_theardown.patch file.
Btw, may be better to filter only IO errors from OSError class? It'll look like:

{code}
try:
    ...
except (ValueError, pexpect.ExceptionPexpect):
    # child is already terminated
    pass
except OSError, e:
    if e.errno != errno.EIO:
        # unexpected exception
        raise
    # child is already terminated
    pass
finally:
    ...
{code}

Thanks,
Ilia


On Tue, Dec 16, 2014 at 4:42 PM, Ilia K <ki.stfu at gmail.com<mailto:ki.stfu at gmail.com>> wrote:
Hello,

I found the following:
IOError may happen when child already exited but dotest has missed this and tries to exit using 'child.sendline("quit")'

Also, I clean syntax test. -exec-run no hangs more and 'quit' isn't needed at exit.

Thanks,
Ilia

<lldbtest_ignore_ioerror_on_theardown.v2.patch>
<lldbmi_clean_syntax_test.patch>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20141229/4dd82166/attachment.html>


More information about the lldb-commits mailing list