summaryrefslogtreecommitdiffstats
path: root/lldb/test/tools
Commit message (Collapse)AuthorAgeFilesLines
...
* [TestGdbRemoteAbort] Skip on API 16 Android devicesSiva Chandra2015-06-051-0/+1
| | | | | | | | | | | | | | | | Summary: This change also adds the infrastructure required to specify the API levels for which tests should be skipped. Reviewers: chying, labath Reviewed By: labath Subscribers: tberghammer, lldb-commits Differential Revision: http://reviews.llvm.org/D10282 llvm-svn: 239183
* [TestGdbRemoteRegisterState] Do not flip ARM *psr register in the testSiva Chandra2015-06-041-0/+3
| | | | | | | | | | | | | | | | | | Summary: Not all of that register is readable/writable in user mode. This means that even if the inferior is stopped, parts of the register could be changing. So, do not flip this register to check if its value can be restored. Reviewers: tberghammer, chaoren Reviewed By: tberghammer Subscribers: rengolin, aemerson, lldb-commits Differential Revision: http://reviews.llvm.org/D10204 llvm-svn: 239104
* Use new get_signal_number utility function for tests.Chaoren Lin2015-06-022-7/+8
| | | | | | | | | | | | | | | | Summary: This fixes TestLldbGdbServer and TestSendSignal from Windows to Android. This change depends on D10171. Reviewers: clayborg, ovyalov Reviewed By: clayborg, ovyalov Subscribers: tberghammer, lldb-commits Differential Revision: http://reviews.llvm.org/D10172 llvm-svn: 238852
* Improve handling of print value argument in -stack-list-* commands.Hafiz Abid Qadeer2015-05-291-19/+19
| | | | | | | It was reviewed in http://reviews.llvm.org/D10106. Patch by paulmaybee. llvm-svn: 238572
* [TestLldbGdbServer and TestGdbRemoteXXX] Use "ls -l" instead of "readlink"Siva Chandra2015-05-291-12/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Old Android devices, for example API 16, do not have the "readlink" command. To take care of such devices, this commit changes to use "ls -l" instead of "readlink" to get the lldb-server exe path. The tests fixed with this change for an Android API 16 arm device are: TestGdbRemoteAttach TestGdbRemoteAuxvSupport TestGdbRemoteExpeditedRegisters TestGdbRemoteKill TestGdbRemoteProcessInfo TestGdbRemoteSegFault TestGdbRemoteThreadsInStopReply TestGdbRemote_qThreadStopInfo Further, all tests in TestLldbGdbServer pass (previously erroring out), except one which times out. Test Plan: Run dosep.py with 8 test threads targetting Android API 16 device. Reviewers: vharron, ovyalov Reviewed By: ovyalov Subscribers: tberghammer, aemerson, lldb-commits Differential Revision: http://reviews.llvm.org/D10107 llvm-svn: 238532
* Add a new "qEcho" packet with the following format:Greg Clayton2015-05-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qEcho:%s where '%s' is any valid string. The response to this packet is the exact packet itself with no changes, just reply with what you received! This will help us to recover from packets timing out much more gracefully. Currently if a packet times out, LLDB quickly will hose up the debug session. For example, if we send a "abc" packet and we expect "ABC" back in response, but the "abc" command takes longer than the current timeout value this will happen: --> "abc" <-- <<<error: timeout>>> Now we want to send "def" and get "DEF" back: --> "def" <-- "ABC" We got the wrong response for the "def" packet because we didn't sync up with the server to clear any current responses from previously issues commands. The fix is to modify GDBRemoteCommunication::WaitForPacketWithTimeoutMicroSecondsNoLock() so that when it gets a timeout, it syncs itself up with the client by sending a "qEcho:%u" where %u is an increasing integer, one for each time we timeout. We then wait for 3 timeout periods to sync back up. So the above "abc" session would look like: --> "abc" <-- <<<error: timeout>>> 1 second --> "qEcho:1" <-- <<<error: timeout>>> 1 second <-- <<<error: timeout>>> 1 second <-- "abc" <-- "qEcho:1" The first timeout is from trying to get the response, then we know we timed out and we send the "qEcho:1" packet and wait for 3 timeout periods to get back in sync knowing that we might actually get the response for the "abc" packet in the mean time... In this case we would actually succeed in getting the response for "abc". But lets say the remote GDB server is deadlocked and will never response, it would look like: --> "abc" <-- <<<error: timeout>>> 1 second --> "qEcho:1" <-- <<<error: timeout>>> 1 second <-- <<<error: timeout>>> 1 second <-- <<<error: timeout>>> 1 second We then disconnect and say we lost connection. We might also have a bad GDB server that just dropped the "abc" packet on the floor. We can still recover in this case and it would look like: --> "abc" <-- <<<error: timeout>>> 1 second --> "qEcho:1" <-- "qEcho:1" Then we know our remote GDB server is still alive and well, and it just dropped the "abc" response on the floor and we can continue to debug. <rdar://problem/21082939> llvm-svn: 238530
* Fix breakpoint setting in gdb remote test cases on armTamas Berghammer2015-05-282-4/+10
| | | | llvm-svn: 238411
* Add 'qXfer:features:read' to known stub listYing Chen2015-05-261-0/+1
| | | | | | | | | | | | | | | | | | Summary: -Fix darwin bot failure "unknown qSupported stub feature reported: qXfer:features:read" -TestGdbRemoteAuxvSupport.py and TestLldbGdbServer.py were affected by this problem Test Plan: dotest.py -m --executable /Users/lldb_build/testSlave/buildDir/lldb.src/build/Debug/lldb --framework /Users/lldb_build/testSlave/buildDir/lldb.src/build/Debug/LLDB.framework -A x86_64 -C clang -p TestLldbGdbServer.py dotest.py -m --executable /Users/lldb_build/testSlave/buildDir/lldb.src/build/Debug/lldb --framework /Users/lldb_build/testSlave/buildDir/lldb.src/build/Debug/LLDB.framework -A x86_64 -C clang -p TestGdbRemoteAuxvSupport.py Reviewers: clayborg, sivachandra, vharron Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D10043 llvm-svn: 238262
* Have lldb-mi tests import pexpect at a narrower scope.Zachary Turner2015-05-261-1/+1
| | | | | | | | The tests are xfail'ed on Windows, but would still error out since they were importing pexpect at global scope. This way the tests will correctly report as unsupported. llvm-svn: 238249
* [TestLldbGdbServer] Up sleep duration to 1min in the inferior thread_func.Siva Chandra2015-05-221-1/+1
| | | | | | | | | | | | | | | | | | | | Summary: The current sleep duration is not sufficient for Android. [[ Its a completely different investigation as to why Android needs longer sleep durations for this test. ]] Test Plan: dotest.py -p TestLldbGdbServer on Android and local linux. Reviewers: chaoren Reviewed By: chaoren Subscribers: tberghammer, lldb-commits Differential Revision: http://reviews.llvm.org/D9926 llvm-svn: 237981
* XPASS a bunch of GdbRemote/LldbGdbServer testsVince Harron2015-05-216-8/+0
| | | | | | | | | | | | Depends on r237932 "Fixed intermittent failures in TestGdbRemote*/TestLldbGdbServer" Test Plan: Ran dosep 100x, no failures in these tests Differential Revision: http://reviews.llvm.org/D9892 llvm-svn: 237933
* Fixed intermittent failures in TestGdbRemote*/TestLldbGdbServerVince Harron2015-05-2114-2/+28
| | | | | | | | | | | | | | test/tools/lldb-server/commandline/Test* were actually executing in their parent directory. This looks fine at first because they aren't compiling an inferior executable. Unfortunately, they still call "make clean" during their cleanup, which is likely causing all kinds of havok in tests running in the parent directory Differential Revision: http://reviews.llvm.org/D9869 llvm-svn: 237932
* Re-enable packet logging for GdbRemote/LldbServer testsVince Harron2015-05-211-1/+6
| | | | | | | | Creates logs in session dir Differential Revision: http://reviews.llvm.org/D9847 llvm-svn: 237931
* Fix handling of hijacked events in synchronous modeIlia K2015-05-201-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch includes the following changes: * Fix Target::Launch to handle hijacked event in synchronous mode * Improve MiStartupOptionsTestCase tests to expect *stopped (MI) * Add SBProcess::GetStopEventForStopID * Add ProcessModID::SetStopEventForLastNaturalStopID/GetStopEventForStopID * Add const qualifier to ProcessModID::GetLastNaturalStopID * Add SBProcess::GetStopEventForStopID * Don't broadcast hijacked event in Target::Launch * Add CMICmnLLDBDebugger::CheckIfNeedToRebroadcastStopEvent/RebroadcastStopEvent Test Plan: ./dotest.py -v --executable $BUILDDIR/bin/lldb tools/lldb-mi/startup_options/ Reviewers: zturner, jingham, clayborg, abidh Reviewed By: clayborg Subscribers: abidh, zturner, lldb-commits, clayborg, jingham Differential Revision: http://reviews.llvm.org/D9371 llvm-svn: 237781
* Don't print =breakpoint-created if BP info was emitted in the result record (MI)Ilia K2015-05-193-7/+11
| | | | llvm-svn: 237676
* Fixes errors in remote testsVince Harron2015-05-181-1/+1
| | | | llvm-svn: 237603
* Refactored lldb executable name discoveryVince Harron2015-05-181-19/+13
| | | | | | | | | | | | | | | | | | | | The lldb executable was referenced through the code by 7 different (effectively) global variables. global lldbExecutablePath global lldbExecutable os.environ['LLDB_EXEC'] os.environ['LLDB_TEST'] dotest.lldbExec dotest.lldbHere lldbtest.lldbExec This change uses one global variable lldbtest_config.lldbExec to replace them all. Differential Revision: http://reviews.llvm.org/D9817 llvm-svn: 237600
* Fix typo in previous commitPavel Labath2015-05-181-1/+1
| | | | llvm-svn: 237575
* Update TestMiVar with a bug idPavel Labath2015-05-181-1/+1
| | | | llvm-svn: 237571
* Add --move-to-nearest-code / target.move-to-nearest-code options (attempt 2)Ilia K2015-05-182-0/+49
| | | | | | | | | | | | This patch initially was committed in r237460 but later it was reverted (r237479) due to 4 new failures: * TestExitDuringStep.py * TestNumThreads.py * TestThreadExit.py * TestThreadStates.py This patch also fixes these tests. llvm-svn: 237566
* XFAIL'd some flakey tests on DarwinVince Harron2015-05-172-0/+2
| | | | llvm-svn: 237543
* XFAIL'd some tests that fail very, very rarelyVince Harron2015-05-161-0/+1
| | | | llvm-svn: 237515
* XFAIL'd MiVarTestCase.test_lldbmi_eval on gcc-4.9/i386Vince Harron2015-05-151-0/+1
| | | | | | | | It times out on TestMyVar:113 self.expect("\^done,value=\"0x[0-9a-f]+\"") llvm-svn: 237480
* Reverting r237460 to fix test failures introduced on OSX & LinuxVince Harron2015-05-152-49/+0
| | | | | | | | | TestExitDuringStep.py TestNumThreads.py TestThreadExit.py TestThreadStates.py llvm-svn: 237479
* Add --move-to-nearest-code / target.move-to-nearest-code optionsIlia K2015-05-152-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This option forces to only set a source line breakpoint when there is an exact-match This patch includes the following commits: # Add the -m/--exact-match option in "breakpoint set" command ## Add exact_match arg in BreakpointResolverFileLine ctor ## Add m_exact_match field in BreakpointResolverFileLine ## Add exact_match arg in BreakpointResolverFileRegex ctor ## Add m_exact_match field in BreakpointResolverFileRegex ## Add exact_match arg in Target::CreateSourceRegexBreakpoint ## Add exact_match arg in Target::CreateBreakpoint ## Add -m/--exact-match option in "breakpoint set" command # Add target.exact-match option to skip BP if source line doesn't match ## Add target.exact-match global option ## Add Target::GetExactMatch ## Refactor Target::CreateSourceRegexBreakpoint to accept LazyBool exact_match (was bool) ## Refactor Target::CreateBreakpoint to accept LazyBool exact_match (was bool) # Add target.exact-match test in SettingsCommandTestCase # Add BreakpointOptionsTestCase tests to test --skip-prologue/--exact-match options # Fix a few typos in lldbutil.check_breakpoint_result func # Rename --exact-match/m_exact_match/exact_match/GetExactMatch to --move-to-nearest-code/m_move_to_nearest_code/move_to_nearest_code/GetMoveToNearestCode # Add exact_match field in BreakpointResolverFileLine::GetDescription and BreakpointResolverFileRegex::GetDescription, for example: was: ``` 1: file = '/Users/IliaK/p/llvm/tools/lldb/test/functionalities/breakpoint/breakpoint_command/main.c', line = 12, locations = 1, resolved = 1, hit count = 2 1.1: where = a.out`main + 20 at main.c:12, address = 0x0000000100000eb4, resolved, hit count = 2 ``` now: ``` 1: file = '/Users/IliaK/p/llvm/tools/lldb/test/functionalities/breakpoint/breakpoint_command/main.c', line = 12, exact_match = 0, locations = 1, resolved = 1, hit count = 2 1.1: where = a.out`main + 20 at main.c:12, address = 0x0000000100000eb4, resolved, hit count = 2 ``` Test Plan: ./dotest.py -v --executable $BUILDDIR/bin/lldb functionalities/breakpoint/ ./dotest.py -v --executable $BUILDDIR/bin/lldb settings/ ./dotest.py -v --executable $BUILDDIR/bin/lldb tools/lldb-mi/breakpoint/ Reviewers: jingham, clayborg Reviewed By: clayborg Subscribers: lldb-commits, clayborg, jingham Differential Revision: http://reviews.llvm.org/D9273 llvm-svn: 237460
* Improve the MiVarTestCase.test_lldbmi_var_list_children test (MI)Ilia K2015-05-152-6/+32
| | | | llvm-svn: 237454
* Fix CMICmdArgValPrintValues::Validate & enable 4 tests that were XFAIL'ed in ↵Ilia K2015-05-152-4/+0
| | | | | | r237437 (MI) llvm-svn: 237443
* XFAIL 4 lldb-mi tests to get Linux build green back (MI)Ilia K2015-05-152-0/+4
| | | | llvm-svn: 237437
* Fix parsing of print-values arg (MI)Ilia K2015-05-152-18/+9
| | | | | | | | | # Add CMICmdArgValPrintValues argument # Rework -stack-list-arguments/-stack-list-locals/-stack-list-variables/-var-update/-var-list-children commands to use the CMICmdArgValPrintValues argument instead of usage of pair of non-mandatory arguments like: CMICmdArgValNumber(0) || CMICmdArgValLongOptions("no-values") llvm-svn: 237429
* Fix a reason of *stopped notifications due to SIGINT/SIGSTOP signals (MI)Ilia K2015-05-151-3/+3
| | | | | | | | | | | | | # Add SBProcess::GetInterruptedFromEvent # Add vrEvent arg in CMICmnLLDBDebuggerHandleEvents::HandleProcessEventStateStopped and CMICmnLLDBDebuggerHandleEvents::HandleProcessEventStopSignal # Refactor CMICmnLLDBDebuggerHandleEvents::HandleProcessEventStopSignal ## Clean up and fix typos ## Remove vwrbShouldBrk arg # Fix MiSignalTestCase.test_lldbmi_stopped_when_stopatentry_{local,remote} to expect SIGSTOP instead of SIGINT llvm-svn: 237426
* Fix MiDataTestCase.test_lldbmi_data_disassemble test on Linux (bug 23489)Ilia K2015-05-121-3/+4
| | | | llvm-svn: 237105
* Skip MiDataTestCase.test_lldbmi_data_disassemble test to get Linux build greenIlia K2015-05-121-0/+1
| | | | llvm-svn: 237098
* Improve MiStartupOptionsTestCase.test_lldbmi_executable_option_file test (MI)Ilia K2015-05-121-1/+8
| | | | llvm-svn: 237096
* Show error message from failed evaluation when doing -var-createIlia K2015-05-121-1/+1
| | | | | | | | | | | | | | | | | Summary: When -var-create fails, we will now show the error message from the failed evaluation if it is available. Patch from chuckr@microsoft.com Test Plan: I fixed the MiVarTestCase.test_lldbmi_eval test to expect the new error string. All MI tests passing on OS X. Reviewers: abidh, ChuckR Subscribers: greggm, lldb-commits, paulmaybee Differential Revision: http://reviews.llvm.org/D9691 llvm-svn: 237094
* Escape strings in disassembly comments.Ilia K2015-05-122-0/+30
| | | | | | | | | | | | Summary: Patch from chuckr@microsoft.com Reviewers: abidh, ChuckR Subscribers: paulmaybee, lldb-commits Differential Revision: http://reviews.llvm.org/D9544 llvm-svn: 237092
* os.path.join does not always work for paths on remote platforms.Chaoren Lin2015-05-112-4/+2
| | | | | | | | | | | | | | | | Summary: Since we don't yet have remote windows debugging, it should be safe to assume that the remote target uses unix path separators. Reviewers: ovyalov, zturner, clayborg, vharron Reviewed By: vharron Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9633 llvm-svn: 237006
* Remove unsupported lldb-server parameters from testVince Harron2015-05-101-3/+1
| | | | llvm-svn: 236958
* Improve MiBreakTestCase.test_lldbmi_break_insert_{function*,file_line*} ↵Ilia K2015-05-081-2/+16
| | | | | | tests (MI) llvm-svn: 236840
* Fix =breakpoint-created event after creation of BP (MI)Ilia K2015-05-081-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | For example: was: ``` $ bin/lldb-mi ~/p/hello [...] -break-insert main ^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0000000100000e2d",func="main",file="hello.cpp",fullname="/Users/IliaK/p/hello.cpp",line="14",times="0",original-location="main"} (gdb) =breakpoint-modified,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0000000100000e2d",func="main",file="hello.cpp",fullname="/Users/IliaK/p/hello.cpp",line="14",times="0",original-location="main"} ``` now: ``` $ bin/lldb-mi ~/p/hello [...] -break-insert main ^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0000000100000e2d",func="main",file="hello.cpp",fullname="/Users/IliaK/p/hello.cpp",line="14",times="0",original-location="main"} (gdb) =breakpoint-created,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0000000100000e2d",func="main",file="hello.cpp",fullname="/Users/IliaK/p/hello.cpp",line="14",times="0",original-location="main"} ``` llvm-svn: 236837
* Fix BP address for local symbols if target not launched (MI)Ilia K2015-05-081-5/+3
| | | | | | | | | | | | | | | | | | | | | For example: was: ``` $ bin/lldb-mi ~/p/hello [...] -break-insert -f main ^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0xffffffffffffffff",func="main",file="hello.cpp",fullname="/Users/IliaK/p/hello.cpp",line="14",pending=["main"],times="0",original-location="main"} ``` now: ``` $ bin/lldb-mi ~/p/hello [...] -break-insert -f main ^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="0x0000000100000e2d",func="main",file="hello.cpp",fullname="/Users/IliaK/p/hello.cpp",line="14",pending=["main"],times="0",original-location="main"} ``` llvm-svn: 236830
* Add support for Unicode strings in CMICmnLLDBUtilSBValue::GetValue (MI)Ilia K2015-05-082-10/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch includes the following changes: # Add CMIUtilString::ConvertToASCII to convert unicode to ASCII (MI) # Rework CMICmnLLDBUtilSBValue::GetSimpleValue to print wide/unicode char (MI) ## Add CMICmnLLDBUtilSBValue::GetSimpleValueChar ## Extend CMICmnLLDBUtilSBValue::IsCharType to accept char16_t/char32_t ## Don't ignore the fail_value in SBValue::GetValueAsUnsigned # Rework CMIUtilString::ConvertToASCII (MI) ## Don't use templates ## Change the function signature to convert signle characters (was std::basic_string) ## Rename CMIUtilString::ConvertToASCII to CMIUtilString::ConvertToPrintableASCII # Add CMIUtilString::ConvertToPrintableASCII for char (MI) ## Refactor CMIUtilString::Escape ## Simplify CMICmnLLDBUtilSBValue::GetSimpleValueChar for char # Add char16_t* and char32_t* support in CMICmnLLDBUtilSBValue::GetSimpleValue (MI) ## Add CMICmnLLDBUtilSBValue::GetSimpleValueCStringPointer ## Add CMICmnLLDBUtilSBValue::ReadCStringFromHostMemory2 (it's extended version of CMICmnLLDBUtilSBValue::ReadCStringFromHostMemory) # Improve error checking in CMICmnLLDBUtilSBValue::GetSimpleValueChar (MI) # Refactor CMICmnLLDBUtilSBValue (MI) ## Remove CMICmnLLDBUtilSBValue::ReadCStringFromHostMemory (use CMICmnLLDBUtilSBValue::ReadCStringFromHostMemory2 instead) ## Rename CMICmnLLDBUtilSBValue::ReadCStringFromHostMemory2 to CMICmnLLDBUtilSBValue::ReadCStringFromHostMemory ## Move CMICmnLLDBUtilSBValue::GetValueCString to private methods ## Rename CMICmnLLDBUtilSBValue::GetValueCString to CMICmnLLDBUtilSBValue::GetSimpleValueCStringArray ## Remove CMICmnLLDBUtilSBValue::GetChildValueCString # Improve MiGdbSetShowTestCase.test_lldbmi_gdb_set_show_print_char_array_as_string test to check char16_t/char32_t (MI) # Fix CMICmnLLDBUtilSBValue::GetSimpleValueCStringArray for Unicode (MI) ## Fix handling of char16_t and char32_t ## Improve CMICmnLLDBUtilSBValue::ReadCStringFromHostMemory to read variables of type char[]: add vnMaxLen argument ## Turn on few cases to check char16_t[] and char32_t[] output in MiGdbSetShowTestCase.test_lldbmi_gdb_set_show_print_char_array_as_string # Remove unnecessary checks in CMICmnLLDBUtilSBValue (MI) llvm-svn: 236827
* Fix -var-create for undefined variables (MI)Ilia K2015-05-081-1/+1
| | | | llvm-svn: 236825
* Print process's output line by line (MI)Ilia K2015-05-081-1/+2
| | | | | | | | | | | | | | | | | | | | | For example: was: ``` @"'\r\n` - it's \\ni=1\r\nj=2\r\nx=3\r\ny=4\r\nargc: /Users/IliaK/p/hello\r\nargc: (null)\r\n" ``` now: ``` @"'\r\n" @"` - it's \\ni=1\r\n" @"j=2\r\n" @"x=3\r\n" @"y=4\r\n" @"argc: /Users/IliaK/p/hello\r\n" @"argc: (null)\r\n" ``` llvm-svn: 236824
* Add MiExitTestCase.test_lldbmi_q that checks reduction of quit (MI)Ilia K2015-05-081-0/+24
| | | | llvm-svn: 236822
* Fix -var-list-children command (MI)Ilia K2015-05-082-5/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch incldues the following: # Add from/to arguments in -var-list-children command (MI) ## Handle from and to args ## Don't print children=[] if numchild is 0 ## A bit refactoring ## Add MiVarTestCase.test_lldbmi_var_list_children test # Refactor -var-list-children (MI) ## Remove CMICmdCmdVarListChildren::VecMIValueResult_t ## Add CMICmdCmdVarListChildren::m_miValueList ## Remove CMICmdCmdVarListChildren::m_vecMiValueResult (use CMICmdCmdVarListChildren::m_miValueList instead) ## Print error message if value is invalid: ``` ^error,msg="variable invalid" ``` ## Refactor CMICmdCmdVarListChildren::Acknowledge and remove duplicated code ## Don't print children=[] if numchild is 0 ## Add error checking ## Use CMICmnLLDBDebugSessionInfo::VariableInfoFormat_e for print-values ## Add few more empty-range test cases in MiVarTestCase.test_lldbmi_var_list_children #Improve MiVarTestCase.test_lldbmi_var_list_children test (MI) llvm-svn: 236820
* Make LLDB-MI tests wait for LLDB-MI to start up before sending any MI commandsBruce Mitchener2015-05-084-25/+2
| | | | | | | | | | | | | | | | | | | | | Summary: This set of changes addresses the issue I described in [[ http://llvm.org/pr23403 | 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
* change comment symbol from // to #Ying Chen2015-05-081-2/+2
| | | | llvm-svn: 236803
* Remove tailing " (deleted)" from executable name returned by readlinkYing Chen2015-05-081-1/+3
| | | | | | | | | | | | Summary: When calling readlink, " (deleted)" is appended to executable path if it's deleted. Remove if it's there. Reviewers: chaoren, sivachandra, vharron Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9583 llvm-svn: 236802
* Pass Android device ID to TestStubReverseConnect.Chaoren Lin2015-05-071-1/+1
| | | | llvm-svn: 236789
* Extend r236708 to skip tests also failing on FreeBSDEd Maste2015-05-071-0/+3
| | | | llvm-svn: 236749
OpenPOWER on IntegriCloud