HomePhabricator

Make LLDB-MI tests wait for LLDB-MI to start up before sending any MI commands

Authored by brucem on May 8 2015, 2:28 AM.

Description

Make LLDB-MI tests wait for LLDB-MI to start up before sending any MI commands

Summary:
This set of changes addresses the issue I described in Bug 23403, in short most LLDB-MI tests fail unexpectedly due to timeout on my Ubuntu 14.10 x86_64 VirtualBox VM. I have no idea why the Ubuntu buildbots don't seem to suffer from this issue. This patch just makes MiTestCaseBase.spawnLldbMi() block until the spawned LLDB-MI child process outputs the (gdb) prompt, which ensures that MI commands aren't sent to the LLDB-MI child process until it's ready.

Before these changes 52 LLDB-MI tests failed unexpectedly (all but one due to timeouts), after these changes no tests fail due to timeouts. I still get one unexpected failure in test_lldbmi_source_option_start_script_error in TestMiStartupOptions.py, but that's due to a file error, that test should be skipped on Linux just like the other two start_script tests until the file error is fixed.

Patch from Vadim Macagon. Thanks!

Test Plan: ./dotest.py -A x86_64 -C clang --executable $BUILDDIR/bin/lldb tools/lldb-mi/

Reviewers: abidh, domipheus, ki.stfu

Reviewed By: ki.stfu

Subscribers: brucem, lldb-commits

Differential Revision: http://reviews.llvm.org/D9595

llvm-svn: 236816