summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/python_api
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Make lldbinline.py regenerate the Makefile each time it builds."Pavel Labath2016-06-071-9/+0
| | | | | | This reverts commit r272024 as it is not windows-compatible. llvm-svn: 272062
* Make lldbinline.py regenerate the Makefile each time it builds.Sean Callanan2016-06-071-0/+9
| | | | | | | | | | | | | If a lldbinline test's source file changed language, then the Makefile wasn't updated. This was a problem if the Makefile was checked into the repository. Now lldbinline.py always regenerates the Makefile and asserts if the newly-generated version is not the same as the one already there. This ensures that the repository will never be out of date without a buildbot failing. http://reviews.llvm.org/D21032 llvm-svn: 272024
* Clean up test results on Windows.Zachary Turner2016-05-132-0/+2
| | | | | | | | | Remove XFAIL from some tests that now pass. Add XFAIL to some tests that now fail. Fix a crasher where a null pointer check isn't guarded. Properly handle all types of errors in SymbolFilePDB. llvm-svn: 269454
* Xfail failing watchpoint tests on aarch64-linuxOmair Javaid2016-05-111-0/+1
| | | | | | | | Some watchpoint tests fail on aarch64-linux as it lacks support for intalling watchpoints which are not alligned at 8bytes boundary. Marking them as xfail for now. llvm-svn: 269187
* Mark TestPrintStackTraces as flaky on linuxPavel Labath2016-05-091-0/+1
| | | | | | PR27687 llvm-svn: 268934
* Fix TestEvents.py on OS XTodd Fiala2016-05-051-3/+6
| | | | | | | | | | | | | | | | | | | | | This change addresses a hang/segfault in TestEvents.py. The threads that run the listener loops now do an SBListener.Clear() before they wrap up their work. This prevents the test from trying to clean up the SBListener too late. There is a separate issue here which is that we should prevent this clean-up time lock-up, but that is out of scope for this particular change. I'd like to get these tests back and running the normal flow rather than skipping them. This addresses: llvm.org/pr25924 (at least, the OS X side, although I suspect this will also address Linux) http://reviews.llvm.org/D19983 reviewed by: Jim Ingham llvm-svn: 268653
* Fix DW_AT_specification handling in DWO filesPavel Labath2016-05-055-0/+70
| | | | | | | | | | | | | | | Summary: We were trying to get a DWARFDIE from a CompileUnit belonging to a DWO file. However, this function does not understand the die encoding used by the DWO files. Instead use GetDIE on the SymbolFileDWARF, which is overriden in DWO to do the right thing. Reviewers: clayborg, tberghammer Subscribers: lldb-commits, ovyalov Differential Revision: http://reviews.llvm.org/D19927 llvm-svn: 268615
* Remote flaky decorator from TestSignalsAPI on linuxPavel Labath2016-04-281-1/+0
| | | | | | | The test seems to pass now, and the test does not seem to be doing anything unusual, so I don't expect it to cause problems. llvm-svn: 267867
* Fix TestGetVariables.py.Chaoren Lin2016-04-252-2/+3
| | | | | | | | | | Reviewers: sivachandra, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D19511 llvm-svn: 267492
* Fix StackFrame::GetVariables(...) function that was broken by 261858 when ↵Greg Clayton2016-04-253-0/+223
| | | | | | | | lambda functions were added to Block::AppendBlockVariables(). The Stackframe::GetVariables(...) function should get all variables regardless if they are in scope. This wasn't caught by the test suite so I added a test for it. llvm-svn: 267478
* Fix test cases for big-endian systemsUlrich Weigand2016-04-142-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A number of test cases were failing on big-endian systems simply due to byte order assumptions in the tests themselves, and no underlying bug in LLDB. These two test cases: tools/lldb-server/lldbgdbserverutils.py python_api/process/TestProcessAPI.py actually check for big-endian target byte order, but contain Python errors in the corresponding code paths. These test cases: functionalities/data-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py functionalities/data-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py functionalities/data-formatter/synthcapping/TestSyntheticCapping.py lang/cpp/frame-var-anon-unions/TestFrameVariableAnonymousUnions.py python_api/sbdata/TestSBData.py (first change) could be fixed to check for big-endian target byte order and update the expected result strings accordingly. For the two synthetic tests, I've also updated the source to make sure the fake_a value is always nonzero on both big- and little-endian platforms. These test case: python_api/sbdata/TestSBData.py (second change) functionalities/memory/cache/TestMemoryCache.py simply accessed memory with the wrong size, which wasn't noticed on LE but fails on BE. Differential Revision: http://reviews.llvm.org/D18985 llvm-svn: 266315
* Support Linux on SystemZ as platformUlrich Weigand2016-04-144-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for Linux on SystemZ: - A new ArchSpec value of eCore_s390x_generic - A new directory Plugins/ABI/SysV-s390x providing an ABI implementation - Register context support - Native Linux support including watchpoint support - ELF core file support - Misc. support throughout the code base (e.g. breakpoint opcodes) - Test case updates to support the platform This should provide complete support for debugging the SystemZ platform. Not yet supported are optional features like transaction support (zEC12) or SIMD vector support (z13). There is no instruction emulation, since our ABI requires that all code provide correct DWARF CFI at all PC locations in .eh_frame to support unwinding (i.e. -fasynchronous-unwind-tables is on by default). The implementation follows existing platforms in a mostly straightforward manner. A couple of things that are different: - We do not use PTRACE_PEEKUSER / PTRACE_POKEUSER to access single registers, since some registers (access register) reside at offsets in the user area that are multiples of 4, but the PTRACE_PEEKUSER interface only allows accessing aligned 8-byte blocks in the user area. Instead, we use a s390 specific ptrace interface PTRACE_PEEKUSR_AREA / PTRACE_POKEUSR_AREA that allows accessing a whole block of the user area in one go, so in effect allowing to treat parts of the user area as register sets. - SystemZ hardware does not provide any means to implement read watchpoints, only write watchpoints. In fact, we can only support a *single* write watchpoint (but this can span a range of arbitrary size). In LLDB this means we support only a single watchpoint. I've set all test cases that require read watchpoints (or multiple watchpoints) to expected failure on the platform. [ Note that there were two test cases that install a read/write watchpoint even though they nowhere rely on the "read" property. I've changed those to simply use plain write watchpoints. ] Differential Revision: http://reviews.llvm.org/D18978 llvm-svn: 266308
* Mark TestPrintStackTraces as flaky on android armPavel Labath2016-04-111-0/+1
| | | | llvm-svn: 265959
* Extend XFlaky in TestProcessIO to linux as wellPavel Labath2016-03-141-5/+5
| | | | | | The test sometimes fails on local linux as well. The cause is the same. llvm-svn: 263421
* Remove the skip if Darwin since I fixed the crash.Jim Ingham2016-03-111-1/+0
| | | | llvm-svn: 263283
* skip newly segfaulting test on OS X public CITodd Fiala2016-03-111-0/+1
| | | | llvm-svn: 263205
* Remove expectedFailureFreeBSD decoratorEd Maste2016-02-191-1/+1
| | | | | | | | All invocations are updated to use the generic expectedFailureAll. Differential Revision: http://reviews.llvm.org/D17455 llvm-svn: 261355
* Remove expectedFailureLinux decorator.Zachary Turner2016-02-101-2/+2
| | | | llvm-svn: 260422
* Change lldb.value.__int__() so that it takes into account the signedness of ↵Enrico Granata2016-02-102-0/+13
| | | | | | | | | | the value being cast to return a Python number with the proper value The explicit APIs on SBValue obviously remain if one wants to be explicit in intent, or override this guess, but since __int__() has to pick one, an educated guess is definitely better than than always going to signed regardless Fixes rdar://24556976 llvm-svn: 260349
* Remove expectedFailureWindows decorator.Zachary Turner2016-02-0817-18/+18
| | | | | | | | | | | | | | | expectedFailureWindows is equivalent to using the general expectedFailureAll decorator with oslist="windows". Additionally, by moving towards these common decorators we can solve the issue of having to support decorators that can be called with or without arguments. Once all decorators are always called with arguments, and this is enforced by design (because you can't specify the condition you're decorating for without passing an argument) the implementation of the decorators can become much simpler Differential Revision: http://reviews.llvm.org/D16936 llvm-svn: 260134
* Move the rest of the tests over to using the new decorator module.Zachary Turner2016-02-0437-44/+99
| | | | llvm-svn: 259838
* Move some of the common decorators to decorators.py.Zachary Turner2016-02-046-4/+12
| | | | | | | | | | | | This doesn't attempt to move every decorator. The reason for this is that it requires touching every single test file to import decorators.py. I would like to do this in a followup patch, but in the interest of keeping the patches as bite-sized as possible, I've only attempted to move the underlying common decorators first. A few tests call these directly, so those tests are updated as part of this patch. llvm-svn: 259807
* Mark TestProcessIO as flaky on androidPavel Labath2016-02-041-1/+5
| | | | | | | previously, I have marked only one test as flaky, but now I noticed another test failing with the same error. I am going to assume all of them are flaky. llvm-svn: 259775
* Mark TestProcessIO.test_stdin_redirection as flaky on androidPavel Labath2016-02-021-0/+1
| | | | | | bug #26437 llvm-svn: 259513
* Fix misnamed variable in TestProcessAPI.pyZachary Turner2016-02-011-2/+2
| | | | llvm-svn: 259378
* Remove XFAIL Windows from a test that was fixed by r258758.Zachary Turner2016-01-261-1/+0
| | | | llvm-svn: 258761
* Fix some issues with bytes and strings in Python 3.Zachary Turner2016-01-251-8/+4
| | | | | | | | | | | | | | | | | | SBProcess::ReadMemory and other related functions such as WriteMemory are returning Python string() objects. This means that in Python 3 that are returning Unicode objects. In reality they should be returning bytes objects which is the same as a string in Python 2, but different in Python 3. This patch updates the generated SWIG code to return Python bytes objects for all memory related functions. One quirk of this patch is that the C++ signature of ReadCStringFromMemory has it writing c-string data into a void*. This confuses our swig typemaps which expect that a void* means byte data. So I hacked up a custom typemap which maps this specific function to treat the void* as string data instead of byte data. llvm-svn: 258743
* [LLDB][MIPS] Fix TestPrintStackTraces.pySagar Thakur2016-01-251-0/+4
| | | | | | | | | | | Patch by Nitesh Jain. Summary: The thread_start function in libc doesn't contain any epilogue and prologue instructions. Hence unwinding fail when we are stopped in thread_start. Reviewers: ovyalov, clayborg Subscribers: lldb-commits, mohit.bhakkad, sagar, bhushan, jaydeep Differential: reviews.llvm.org/D16136 llvm-svn: 258685
* Remove assumptions that thread 0 is always the main thread.Zachary Turner2016-01-214-13/+16
| | | | | | | | | | | | | | | | | Starting with Windows 10, the Windows loader is itself multi-threaded, meaning that the loader spins up a few threads to do process initialization before it executes main. Windows delivers these notifications asynchronously and they can come out of order, so we can't be sure that the first thread we get a notification about is actually the zero'th thread. This patch fixes this by requesting the thread stopped at the breakpoint that was specified, rather than getting thread 0 and verifying that it is stopped at a breakpoint. Differential Revision: http://reviews.llvm.org/D16247 llvm-svn: 258432
* Fix for Bug 25338Ravitheja Addepally2016-01-191-2/+0
| | | | | | | | | | | | | | | | Summary: The issue arises because LLDB is not able to read the vdso library correctly. The fix adds memory allocation callbacks to allocate sufficient memory in case the requested offsets don't fit in the memory buffer allocated for the ELF. Reviewers: lldb-commits, clayborg, deepak2427, ovyalov, labath, tberghammer Differential Revision: http://reviews.llvm.org/D16107 llvm-svn: 258122
* [LLDB][MIPS] Fix TestDisassembleRawData.pySagar Thakur2016-01-131-7/+17
| | | | | | | | | | | Patch by Nitesh Jain. Summary: This patch adds check for the correctness of disassembling instruction for MIPS target. Reviewers: emaste, clayborg, ovyalov Subscribers: lldb-commits, mohit.bhakkad, sagar, bhushan, jaydeep Differential: http://reviews.llvm.org/D15915 llvm-svn: 257587
* Mark TestChangeValueAPI as flaky on linux (pr25652)Pavel Labath2016-01-111-0/+1
| | | | llvm-svn: 257329
* Skip TestEvents on linux completelyPavel Labath2016-01-111-1/+1
| | | | | | | The test hangs/crashes/fails because it does not use the listener API in a way that LLDB expects. I don't really know if this is the fault of LLDB of the test... llvm-svn: 257323
* Centralize the handling of attach permissions on linux in testsPavel Labath2016-01-111-20/+3
| | | | | | | | | | | | | | | Summary: On linux we need the process to give us special permissions before we can attach to it. Previously, the code for this was copied into every file that needed it. This moves the code to a central place to reduce code duplication. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D15992 llvm-svn: 257319
* XFAIL 2 more tests based on SWIG version.Zachary Turner2016-01-082-0/+4
| | | | | | | There's a bug in versions of SWIG prior to 3.0.8 that prevent these tests from succeeding with Python 3.x llvm-svn: 257208
* XFAIL TestEvents.test_add_listener_to_broadcasterPavel Labath2016-01-071-1/+1
| | | | | | Upgrade flaky to xfail, as the test sometimes fails even during the rerun. llvm-svn: 257050
* skip TestEvents.py on DarwinTodd Fiala2015-12-221-0/+1
| | | | | | | | | | | | This is generating a SIGSEGV somewhere around 1 in 10 runs on OS X. Skip the whole test to avoid testbot noise until we can get the SIGSEGV addressed. Tracking with: https://llvm.org/bugs/show_bug.cgi?id=25924 llvm-svn: 256257
* Add API to support retrieving the formatters category for a specific languageEnrico Granata2015-12-181-0/+2
| | | | llvm-svn: 256033
* Merge ENABLE_THREADS and ENABLE_STD_THREADS markersTamas Berghammer2015-12-151-1/+1
| | | | | | | | | | | | Both of these markers are used in the test suit for annotating when a test needs multi threaded support. Previously they had slightly different meening but they converged to the point where they are used interchangably. This CL removes the ENABLE_STD_THREADS one to simplify the test suite and avoid some confusion. Differential revision: http://reviews.llvm.org/D15498 llvm-svn: 255641
* Correction in TestFrames.py test for arm targets in thumb modeOmair Javaid2015-12-141-3/+6
| | | | | | Differential revision: http://reviews.llvm.org/D15061 llvm-svn: 255547
* Python 3 - Skip a certain test for a particular (swig,python) combo.Zachary Turner2015-11-161-0/+2
| | | | | | | | | | | Current versions of SWIG have a bug with Python 3 that causes Python to assert when iterating over a generator. This patch skips the test for the right combination of Python version and SWIG version. I'm attempting to upstream a patch to SWIG to fix this in a subsequent as-of-yet unreleased version, but I don't know how long that will take. llvm-svn: 253273
* Remove a broken hack from Scalar::ULongLong and fix a testTamas Berghammer2015-11-131-2/+2
| | | | | | | | | | | | | | | | Change Test-rdar-12481949.py to expect GetValueAsUnsigned() to return 0xffffffff if the variable is an int32_t (signed, 4 byte integer) with value of -1. The previous expectation where we expected the value to be 0xffffffffffffffff doesn't make sense as nothing explains why we would treat it as an 8 byte value. This CL also removes a hack from Scalar::ULongLong what was most likely added to get this test passing as it only worked in case the value of the variable is -1 and didn't make any sense even in that case. Differential revision: http://reviews.llvm.org/D14611 llvm-svn: 253027
* Add SBType::IsAnonymousType() and relative plumbing in the debugger internalsEnrico Granata2015-11-072-0/+11
| | | | | | | | For language that support such a thing, this API allows to ask whether a type is anonymous (i.e. has been given no name) Comes with test case llvm-svn: 252390
* Teach LLDB how to directly launch processes on the iOS simulatorEnrico Granata2015-11-051-0/+3
| | | | | | | | This allows for command-line debugging of iOS simulator binaries (as long as UI is not required, or a full UI simulator has previously been otherwise launched), as well as execution of the LLDB test suite on the iOS simulator This is known to compile on OSX 10.11 GM - feedback from people on other platforms and/or older versions of OSX as to the buildability of this code is greatly appreciated llvm-svn: 252112
* Remove `use_lldb_suite` from the package, and don't import it anymore.Zachary Turner2015-11-0341-41/+41
| | | | | | | | | | | | | | | | This module was originally intended to be imported by top-level scripts to be able to find the LLDB packages and third party libraries. Packages themselves shouldn't need to import it, because by the time it gets into the package, the top-level script should have already done this. Indeed, it was just adding the same values to sys.path multiple times, so this patch is essentially no functional change. To make sure it doesn't get re-introduced, we also delete the `use_lldb_suite` module from `lldbsuite/test`, although the original copy still remains in `lldb/test` llvm-svn: 251963
* Tighten up sys.path, and use absolute imports everywhere.Zachary Turner2015-11-0345-96/+118
| | | | | | | | | | | | | | | | | | | | For convenience, we had added the folder that dotest.py was in to sys.path, so that we could easily write things like `import lldbutil` from anywhere and any test. This introduces a subtle problem when using Python's package system, because when unittest2 imports a particular test suite, the test suite is detached from the package. Thus, writing "import lldbutil" from dotest imports it as part of the package, and writing the same line from a test does a fresh import since the importing module was not part of the same package. The real way to fix this is to use absolute imports everywhere. Instead of writing "import lldbutil", we need to write "import lldbsuite.test.util". This patch fixes up that and all other similar cases, and additionally removes the script directory from sys.path to ensure that this can't happen again. llvm-svn: 251886
* This test case does not actually depend on Cocoa; Foundation is good enoguhEnrico Granata2015-11-022-2/+2
| | | | llvm-svn: 251861
* Mark another TestEvents test as flaky on linuxPavel Labath2015-10-301-0/+1
| | | | | | | I don't think anything has changed recently - the test was always flaky, but only very rarely. Still, it is causing noise in the buildbots. llvm-svn: 251699
* Mark TestHelloWorld and TestInferiorAssert.py as XFAIL due llvm.org/pr25338.Oleksiy Vyalov2015-10-281-0/+2
| | | | llvm-svn: 251542
* Move lldb/test to lldb/packages/Python/lldbsuite/test.Zachary Turner2015-10-28150-0/+8310
This is the conclusion of an effort to get LLDB's Python code structured into a bona-fide Python package. This has a number of benefits, but most notably the ability to more easily share Python code between different but related pieces of LLDB's Python infrastructure (for example, `scripts` can now share code with `test`). llvm-svn: 251532
OpenPOWER on IntegriCloud