summaryrefslogtreecommitdiffstats
path: root/lldb/test
Commit message (Collapse)AuthorAgeFilesLines
...
* Rename dosep.ty to dosep.pyZachary Turner2014-07-213-2/+2
| | | | llvm-svn: 213555
* LLDB now correctly handles virtual inheritance.Greg Clayton2014-07-193-0/+153
| | | | | | | | Test case added as well. <rdar://problem/16785904> llvm-svn: 213433
* Allow the user to override the LLDB_TEST_COMPILER at CMake level.Zachary Turner2014-07-181-1/+3
| | | | llvm-svn: 213421
* Make lldb -P work on Windows.Zachary Turner2014-07-181-5/+5
| | | | | | | | | | | | | | lldb -P, which outputs its python path, works by using Host-layer facilities to get information about the loaded python module. This Host functionality was unimplemented on Windows, so this patch implements it. Additionally, it removes a pexpect dependency from the test runner and uses an equivalent invocation of subprocess. Reviewed by: Todd Fiala Differential Revision: http://reviews.llvm.org/D4548 llvm-svn: 213410
* Fixes a number of issue related to test portability on Windows.Zachary Turner2014-07-1827-30/+27
| | | | | | | | | | | | | | | | | | | | | | | | 99% of this CL is simply moving calls to "import pexpect" to a more narrow scope - i.e. the function that actually runs a particular test. This way the test suite can run on Windows, which doesn't have pexpect, and the individual tests that use pexpect can be disabled on a platform-specific basis. Additionally, this CL fixes a few other cases of non-portability. Notably, using "ps" to get the command line, and os.uname() to determine the architecture don't work on Windows. Finally, this also adds a stubbed out builder_win32 module. The full test suite runs correctly on Windows after this CL, although there is still some work remaining on the C++ side to fix one-shot script commands from LLDB (e.g. script print "foo"), which currently deadlock. Reviewed by: Todd Fiala Differential Revision: http://reviews.llvm.org/D4573 llvm-svn: 213343
* Fixed the objective C symbol parsing in ObjectFileMachO.Greg Clayton2014-07-173-8/+0
| | | | | | | | | | | | | This fixes all of the hidden ivar test cases and any case where we try to find the full definition of an objective C class. This also means hidden ivars show up again. <rdar://problem/15458957> llvm.org/pr20270 llvm.org/pr20269 llvm.org/pr20272 llvm-svn: 213328
* gdb-remote test noise suppression on MacOSX.Todd Fiala2014-07-163-34/+53
| | | | | | | | | | | | | | | | | | | | This change adds a member to the base test case for gdb-remote that indicates whether a stub makes two X stop notification reports on kill commands. This is set to true for debugserver tests. The test for killing an attached process after it's first stop notification has been modified to look at that flag and add an extra X packet matcher so the "unmatched packet warning" doesn't get emitted for the second X on MacOSX with debugserver. I also broke those tests out of the monolithic TestLldbGdbServer mega test case and put it in its own, new TestGdbRemoteKill.py file and test case. Tested: Ubuntu 14.04 x86_64, clang-3.5 built lldb, no test failures. MacOSX 10.9.4, Xcode 6.0 Beta 3 built lldb, no test failures. llvm-svn: 213166
* Fixed the an objective C test case so it passes correctly.Greg Clayton2014-07-161-4/+4
| | | | | | | | Fixed the test case to use a runtime function prototype that will be correct ([NSString stringWithCString: "new"]) instead of one that won't (expression str = [NSString stringWithFormat: @"%cew", 'N']). The runtime doesn't track vararg functions correctly so we can't reconstitute the function correctly. Also fixed some expressions that used "str_id" whose type was "id" and do the necessary casting since "id" doesn't have any methods. llvm-svn: 213113
* TestObjCMethods.FoundationTestCase was failing due to an error, fixed now.Greg Clayton2014-07-161-13/+16
| | | | | | | <rdar://problem/16322133> llvm.org/pr20267 llvm-svn: 213111
* Fix compile warning.Greg Clayton2014-07-151-1/+1
| | | | llvm-svn: 213106
* Modified gdb-remote tests to run with automatically-chosen ports.Todd Fiala2014-07-143-96/+114
| | | | | | | | | | | | Now that llgs supports communicating the 0-port choose-a-port mechanism and can communicate that back to a caller via the --named-pipe option (at parity with debugserver), we use this mechanism to always start llgs and debugserver gdb-remote protocol tests without needing to use some port arbitration mechanism. This eliminates some potential intermittent failures vs. the previous random port and collision-avoidance strategy used. llvm-svn: 212923
* Add FreeBSD failure decorator for TestCallStopAndContinueEd Maste2014-07-121-0/+1
| | | | | | | | | | The testrun now completes successfully on my FreeBSD 11.0-CURRENT laptop. There are some intermittent failures on the FreeBSD buildbot still, which should be addressed in later commits. llvm.org/pr20274 llvm-svn: 212878
* Add FreeBSD decorator for TestMultipleDebuggersEd Maste2014-07-121-0/+1
| | | | | | llvm.org/pr20282 llvm-svn: 212877
* llgs: implement --setsid.Todd Fiala2014-07-122-4/+87
| | | | | | | | | | | | | The --setsid (-S) option changes the session id for the lldb-gdbserver process. This is used by tools such as lldb-platform and allows the user to prevent llgs from being in the same session as a calling terminal session. This will prevents terminal group control signals from affecting lldb-gdbserver. See also: https://github.com/tfiala/lldb/issues/38 llvm-svn: 212873
* Added llgs --named-pipe support and program_name-version_number printout ↵Todd Fiala2014-07-112-0/+90
| | | | | | | | | | | support. Added a unit test to test debugserver and llgs compliance on --named-pipe support. Modified llgs to implement --named-pipe support. (Note: need to revisit with new generic pipe support). llvm-svn: 212854
* Flipped intermittent test failures from skip to XFAIL.Todd Fiala2014-07-105-6/+8
| | | | | | | | | | | | | | | | | | The following intermittently-failing tests have been flipped from skip to XFAIL on some combo of Linux and MacOSX: TestCallStopAndContinue.py (Linux, MacOSX) TestCallWithTimeout.py (Linux) TestConvenienceVariables.py (Linux) TestStopHookMultipleThreads.py (Linux) The following new tests have been marked XFAIL but are just intermittently failing: TestMultipleDebug.py (definitely intermittent on MacOSX, not sure I've seen it pass yet on Linux) llvm-svn: 212762
* Get the inferior binary's name via the command line argument insteadJason Molenda2014-07-101-2/+24
| | | | | | of hardcoding it. llvm-svn: 212698
* Fix test name.Jason Molenda2014-07-101-1/+1
| | | | llvm-svn: 212694
* Add a new 'stresstest' category, set the api/multiple-debuggers test case as ↵Jason Molenda2014-07-102-1/+3
| | | | | | a stresstest. llvm-svn: 212673
* Add a new test in api/multiple-debuggers which tries to create 50Jason Molenda2014-07-104-0/+330
| | | | | | | | | | | | | | | | | | | | | | | debug sessions simultaneously to expose race conditoin/locking issues. This directory has an inferior program, testprog.cpp that has a couple of functions we can put breakpoints on. It has a driver program, multi-process-driver.cpp, which links against the LLDB solib and uses the SB APIs. It creates 50 pthreads, creates a debugger on all of them, launches a debug session of the inferior testprog, hits a couple breakpoints, walks the stack, continues, etc., and then kills the inferior and ends the debug session. A pass is if all fifty debug sessions complete successfully in the alloted time (~60 seconds). We may need to tweak this one to work correctly on different platforms/targets but I wanted to get it checked in to start. llvm-svn: 212671
* Skip tests that are intermittent on Linux, fix gdb-remote port-grabbing code.Todd Fiala2014-07-095-34/+47
| | | | | | | | | | | | | Marked skipped for Linux: TestCallStopAndContinue TestConvenienceVariables TestStopHookMultipleThreads Fixed up gdb-remote port-grabbing code to use a random port in a wide range, and to allow that to fail more gracefully. This appears to have solved some gdb-remote intermittent failing behavior. llvm-svn: 212662
* Skip TestCallStopAndContinue and TestCallThatRestarts on Darwin.Todd Fiala2014-07-092-0/+4
| | | | | | | | | These are failing intermittently. See http://llvm.org/bugs/show_bug.cgi?id=19246 for TestCallThatRestarts. Also applies to Linux. See http://llvm.org/bugs/show_bug.cgi?id=20274 for TestCallStopAndContinue. llvm-svn: 212660
* Marked TestTargetAPI.test_launch_new_process_and_redirect_stdout_with_* as ↵Todd Fiala2014-07-091-0/+2
| | | | | | | | XFAIL on Darwin. See http://llvm.org/bugs/show_bug.cgi?id=20273 llvm-svn: 212659
* TestRealDefinition tests marked XFAIL on Darwin.Todd Fiala2014-07-091-0/+4
| | | | | | http://llvm.org/bugs/show_bug.cgi?id=20272 llvm-svn: 212657
* Marked failing TestObjCDynamicValue tests as XFAIL on Darwin.Todd Fiala2014-07-091-0/+2
| | | | | | See http://llvm.org/bugs/show_bug.cgi?id=20271 llvm-svn: 212656
* Marked failing TestObjCDynamicSBType tests XFAIL on Darwin.Todd Fiala2014-07-091-0/+2
| | | | | | See http://llvm.org/bugs/show_bug.cgi?id=20270 llvm-svn: 212655
* Marked failing TestHiddenIvars tests as XFAIL on Darwin.Todd Fiala2014-07-091-0/+2
| | | | | | See http://llvm.org/bugs/show_bug.cgi?id=20269 llvm-svn: 212654
* Marked TestObjCMethods failing tests XFAIL, fixed cleanup code, removed ↵Todd Fiala2014-07-092-3/+4
| | | | | | | | | | | | now-passing expected failure markers. All tests matching '-p TestObjCMethods' now are marked correctly for MacOSX, and some error classes have been removed in cleanup code looking for files that might not exist due to previous failure. See http://llvm.org/bugs/show_bug.cgi?id=20267 llvm-svn: 212650
* Marked failing test XFAIL for ↵Todd Fiala2014-07-091-0/+1
| | | | | | | | TestRegisterVariables.test_with_dsym_and_run_command on Darwin See http://llvm.org/bugs/show_bug.cgi?id=20266 llvm-svn: 212648
* Marked failing Darwin TestProcessLaunch tests as XFAILTodd Fiala2014-07-091-0/+2
| | | | | | See http://llvm.org/bugs/show_bug.cgi?id=20265 llvm-svn: 212647
* TestDataFormatterStdVector.test_with_dsym_and_run_command marked XFAIL on DarwinTodd Fiala2014-07-091-0/+1
| | | | | | See http://llvm.org/bugs/show_bug.cgi?id=20264 llvm-svn: 212646
* Disable TestDataFormatterStdMap.test_with_dsym_and_run_command on DarwinTodd Fiala2014-07-091-0/+1
| | | | | | See http://llvm.org/bugs/show_bug.cgi?id=20263 llvm-svn: 212645
* Mark failing tests in TestDataFormatterObjC on Darwin as XFAILTodd Fiala2014-07-091-0/+2
| | | | | | See http://llvm.org/bugs/show_bug.cgi?id=20260 for more details. llvm-svn: 212639
* __arm64__ and __aarch64__ #ifdef adjustmentsTodd Fiala2014-07-091-1/+1
| | | | | | | | Change by Paul Osmialowski See http://reviews.llvm.org/D4379 for details. llvm-svn: 212583
* Fix typos.Bruce Mitchener2014-07-081-1/+1
| | | | llvm-svn: 212553
* Remove hack from dotest.py to fix extra output on -P command, and fix MacOSX ↵Todd Fiala2014-07-081-4/+6
| | | | | | | | | | | | | multi-threaded test run collisions on crashlog.dylib. On MacOSX, we need to adjust the way we clean up the crashlog dylib in deleteCrashInfoDylib(). Right now it is only geared to run one test at a time. For now I'm just skipping the delete. I'll work with Apple on a fix that handles this. It seems to only cause one dylib total to hang around that might otherwise have been deleted. Fixes MacOSX multiple tests running at the same time. (I didn't hit this on Yosemite, might be an issue that only shows up on Mavericks?) llvm-svn: 212548
* Enable multi-process testing for MacOSX.Todd Fiala2014-07-082-35/+31
| | | | | | | | | | | | | | | | | | | | | | | | This change modifies the way the multi-threaded test runner works. It uses the Python multiprocessing library rather than the threading library. Investigation showed that all MacOSX threads were waiting on the global python lock when using the threading approach. Not sure why that differed from the Linux/FreeBSD implementations. The new approach uses the multiprocessing library's Pool class. It's mildly cleaner than the other version, runs multithreaded on MacOSX, and seems to have caused no performance regression on Linux. The worker thread logic is simpler with the Pool managing the worker processes. This also includes a minor change to the test runner's python lldb dir logic using the -P option. It now looks at the last line of output rather than the first line. This covers part of the issue of extra options validation logic getting spit out. The test runner will now pick up the right python library directory. It does not fix all the issues, though, as a ton of tests (50+ on Linux) are failing due to unexpected output when running lldb. llvm-svn: 212513
* If a hand-called function is interrupted by hitting a breakpoint, then Jim Ingham2014-07-082-0/+73
| | | | | | | when you continue to finish off the function call, the expression result will be included as part of the thread stop info. llvm-svn: 212506
* Mark test_watchpoint_multiple_threads_with_dwarf as XFAIL on Linux/clang.Todd Fiala2014-07-071-0/+1
| | | | | | See http://llvm.org/bugs/show_bug.cgi?id=20233 for details. llvm-svn: 212491
* Mark Radar9974002DataFormatterTestCase test XFAIL on Linux.Todd Fiala2014-07-071-0/+1
| | | | | | See http://llvm.org/bugs/show_bug.cgi?id=20232 for details. llvm-svn: 212489
* Marked TestLongjmp.py tests XFAIL for Linux.Todd Fiala2014-07-071-0/+3
| | | | | | See http://llvm.org/bugs/show_bug.cgi?id=20231 llvm-svn: 212488
* Marked TestFormatters.py XFAIL on Linux per pr20230.Todd Fiala2014-07-071-0/+1
| | | | | | See http://www.llvm.org/bugs/show_bug.cgi?id=20230 for details. llvm-svn: 212486
* If a breakpoint gets deleted, any SBBreakpoints representing thatJim Ingham2014-07-023-0/+84
| | | | | | breakpoint should return false from IsValid. llvm-svn: 212206
* Fix typos.Bruce Mitchener2014-07-014-7/+7
| | | | llvm-svn: 212132
* Add lldb-gdbserver support for Linux x86_64.Todd Fiala2014-06-309-66/+8
| | | | | | | | | | | | | | | | | | | | | This change brings in lldb-gdbserver (llgs) specifically for Linux x86_64. (More architectures coming soon). Not every debugserver option is covered yet. Currently the lldb-gdbserver command line can start unattached, start attached to a pid (process-name attach not supported yet), or accept lldb attaching and launching a process or connecting by process id. The history of this large change can be found here: https://github.com/tfiala/lldb/tree/dev-tfiala-native-protocol-linux-x86_64 Until mid/late April, I was not sharing the work and continued to rebase it off of head (developed via id tfiala@google.com). I switched over to user todd.fiala@gmail.com in the middle, and once I went to github, I did merges rather than rebasing so I could share with others. llvm-svn: 212069
* Implemented gdb-remote protocol tests for vCont;s and vCont;s:{thread}Todd Fiala2014-06-275-163/+335
| | | | | | | | | | | | | Also added tests for presence of vCont;c, vCont;C, vCont;s, vCont;S as returned by vCont? query. Broke out single step functionality from TestLldbGdbServer into base class. Used by new TestGdbRemoteSingleStep (using $s) and TestGdbRemote_vCont. Also part of llgs wrap-up, see: https://github.com/tfiala/lldb/issues/12 llvm-svn: 211965
* Updated ObjectFileELF tests to include more varaints.Todd Fiala2014-06-279-4/+14
| | | | | | | | | | | | | | | | | | Removed the distribution EXEs from FreeBSD and Ubuntu. Added a hello-world .cpp file, and compiled it for several platform/compiler variants: Ubuntu 14.04 x86_64, clang 3.5 (the ubuntu1 3.5 pre variant) Ubuntu 14.04 x86_64, gcc 4.8.2 FreeBSD 10.0 x86_64, clang 3.3 FreeBSD 10.0 x86_64, gcc 4.7.3 NetBSD 6.1 x86_64, gcc 4.5.3 I also added the NetBSD expected architecture and triple. Note I have NetBSD not appending the version info to the OS name, in contrast to FreeBSD. llvm-svn: 211954
* Fix ObjectFileELF to determine architectures independent of host.Todd Fiala2014-06-273-0/+41
| | | | | | | | | | | | | | | | | | Previously ObjectFileELF was simplifying and assuming the object file it was looking at was the same as the host architecture/triple. This would break attempts to run, say, lldb on MacOSX against lldb-gdbserver on Linux since the MacOSX lldb would say that the linux elf file was really an Apple MacOSX architecture. Chaos would ensue. This change allows the elf file to parse ELF notes for Linux, FreeBSD and NetBSD, and determine the OS appropriately from them. It also initializes the OS type from the ELF header OSABI if it is set (which it is for FreeBSD but not for Linux). Added a test with freebsd and linux images that verify that '(lldb) image list -t -A' prints out the expected architecture for each. llvm-svn: 211907
* Fix a few typos.Bruce Mitchener2014-06-271-1/+1
| | | | llvm-svn: 211851
* Part 2 of SBUnitSignals check-in.Todd Fiala2014-06-233-0/+74
| | | | | | | | | I missed adding a few new files to the change list. The build is broken from r211526 without this fix. (And Ed Maste caught it before I did, so this is the remainder - the test methods). llvm-svn: 211535
OpenPOWER on IntegriCloud