summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
Commit message (Collapse)AuthorAgeFilesLines
...
* Make lldbinline.py regenerate the Makefile each time it builds.Sean Callanan2016-06-0710-17/+91
| | | | | | | | | | | | | 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
* Fix makefile for TestExternCSymbolsTamas Berghammer2016-06-031-1/+1
| | | | llvm-svn: 271618
* Fixed a problem where we couldn't call extern "C" functions.Sean Callanan2016-06-023-0/+36
| | | | | | | | | | | | | Some compilers do not mark up C++ functions as extern "C" in the DWARF, so LLDB has to fall back (if it is about to give up finding a symbol) to using the base name of the function. This fix also ensures that we search by full name rather than "auto," which could cause unrelated C++ names to be found. Finally, it adds a test case. <rdar://problem/25094302> llvm-svn: 271551
* [tsan] Prefer mangled name looking up variable declaration for racy addressDevin Coughlin2016-06-013-0/+98
| | | | | | | | | | | | | | | | For Thread Sanitizer reports, LLDB tries to find a global variable declaration corresponding to the racy address in order to provide a filename and line number. This commit changes the lookup of the variable to use the mangled name for lookup and fall back to the demangled version if unavailable. This is needed to report locations of races on Swift global variables. I've also added a test to make sure we look up C++ globals correctly. rdar://problem/26459401 Differential Revision: http://reviews.llvm.org/D20760 llvm-svn: 271433
* Add "-gmodules" support to the test suite.Todd Fiala2016-05-2612-29/+78
| | | | | | | | | | | | | | This change adds the capability of building test inferiors with the -gmodules flag to enable module debug info support. Windows is excluded per @zturner. Reviewers: granata.enrico, aprantl, zturner, labath Subscribers: zturner, labath, lldb-commits Differential Revision: http://reviews.llvm.org/D19998 llvm-svn: 270848
* Avoid using stdio in TestVirtualPavel Labath2016-05-262-20/+22
| | | | | | | | | | | | | | Summary: using stdio in tests does not work on windows, and it is not completely reliable on linux. Avoid using stdio in this test, as it is not necessary for this purpose. Reviewers: clayborg Subscribers: lldb-commits, zturner Differential Revision: http://reviews.llvm.org/D20567 llvm-svn: 270831
* It has been brought to my attention that, given two variablesEnrico Granata2016-05-252-6/+9
| | | | | | | | | | | | | | | | | T x; U y; doing x = *((T*)y) is undefined behavior, even if sizeof(T) == sizeof(U), due to pointer aliasing rules Fix up a couple of places in LLDB that were doing this, and transform them into a defined and safe memcpy() operation Also, add a test case to ensure we didn't regress by doing this w.r.t. tagged pointer NSDate instances llvm-svn: 270793
* Mark some aarch64-linux specific xfails marking bug entriesOmair Javaid2016-05-253-2/+3
| | | | | | | | TestBSDArchives.py and TestWatchLocation.py fail due to unicode error and bug has already been reported for arm and macOSx. TestConstVariables.py fails because lldb cant figure out frame variable type when used in expr. llvm-svn: 270780
* Fix an issue where LLDB would crash if one tried to 'frame variable' an ↵Enrico Granata2016-05-251-0/+1
| | | | | | | | unordered_map more than once in a stop due to the synthetic provider not properly caching the ValueObjects it was returning for the child elements Fixes rdar://26470909 llvm-svn: 270752
* Mark some arm-linux specific xfails marking bug entriesOmair Javaid2016-05-254-1/+5
| | | | | | | | TestCallUserAnonTypedef.py and TestIRInterpreter.py fail to limitation of JIT expressions in handling hard float ABI targets. TestBSDArchives.py fails due to python unicode error. TestBuiltinTrap.py fails due to wrong line information generated by some gcc versions. llvm-svn: 270745
* xfail TestRedefinitionsInline with older ClangEd Maste2016-05-241-1/+2
| | | | | | | | This fails on FreeBSD 10 with the system compiler, Clang 3.4.1. llvm.org/pr27845 llvm-svn: 270603
* Make sure TestRedefinitionsInInlines.py actually inlines.Chaoren Lin2016-05-231-2/+2
| | | | | | | | | | Reviewers: spyffe Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D20540 llvm-svn: 270493
* xfail TestRedefinitionsInline on Windows.Zachary Turner2016-05-231-1/+1
| | | | llvm-svn: 270490
* Removed the m_decl_objects map from ClangASTContext.Sean Callanan2016-05-232-0/+23
| | | | | | | | | | | | | m_decl_objects is problematic because it assumes that each VarDecl has a unique variable associated with it. This is not the case in inline contexts. Also the information in this map can be reconstructed very easily without maintaining the map. The rest of the testsuite passes with this cange, and I've added a testcase covering the inline contexts affected by this. <rdar://problem/26278502> llvm-svn: 270474
* Always rerun all tests on Windows.Zachary Turner2016-05-231-0/+1
| | | | | | | | There is flakiness somewhere in the core infrastructure on Windows, so to get the buildbot reliably green we need to mark all tests as flaky. llvm-svn: 270460
* Reword ThreadSanitizer message for invalid mutex reports.Kuba Brecka2016-05-221-1/+1
| | | | llvm-svn: 270364
* Fix error propagation from the Z0 packet in gdb-remote breakpoint setting.Jim Ingham2016-05-191-0/+77
| | | | | | | | | | | | | The error was not getting propagated to the caller, so the higher layers thought the breakpoint was successfully set & resolved. I added a testcase, but it assumes 0x0 is not a valid place to set a breakpoint. On most systems that is true, but if it isn't true of your system, either find another good place and add it to the test, or x-fail the test. <rdar://problem/26345962> llvm-svn: 270014
* xfail TestTopLevelExprs for arm and aarch64 linuxOmair Javaid2016-05-181-0/+1
| | | | | | | | | TestTopLevelExprs fails on arm and aarch64 linux similar to behaviour on android. A bug exists here: llvm.org/pr27787. This patch marks xfail on arm and aarch64. llvm-svn: 269980
* xfail TestWatchLocation.py for arm-linux targetsOmair Javaid2016-05-171-0/+1
| | | | | | | | TestWatchLocation.py fails on arm-linux target due to unicode error in lldb testsuite. This is a known issue and same test fails on OS X with similar reason. I have reported a bug and marked this test as xfail for arm-linux targets. llvm-svn: 269860
* Allow custom formatting of session log file names.Zachary Turner2016-05-175-12/+33
| | | | | | Differential Revision: http://reviews.llvm.org/D20306 llvm-svn: 269793
* xfail TestTopLevelExprs for Android API 21-22 (llvm.org/pr27787)Tamas Berghammer2016-05-171-2/+4
| | | | llvm-svn: 269759
* Fixed and re-enabled the Clang modules testcase.Sean Callanan2016-05-161-3/+2
| | | | | | | Macros work again after Clang r269554. This testcase just needed some small tweaks to get it going again. llvm-svn: 269704
* Test diamond virtual inheritance in top-level expressions.Sean Callanan2016-05-161-1/+45
| | | | llvm-svn: 269698
* Make LLDB print out an explicit marker when it's displaying formatters that ↵Enrico Granata2016-05-161-0/+2
| | | | | | | | are part of a disabled category Fixes rdar://26202006 llvm-svn: 269673
* Xfail TestCrashDuringStep and TestCreateDuringInstructionStep on arm-linuxOmair Javaid2016-05-162-0/+2
| | | | | | | Both of above tests fail on arm and bugs have been reported on android already. Adding arm-linux decorator because android decorator doesnt xfail these test when run on linux. llvm-svn: 269647
* test: remove use of undefined variablesSaleem Abdulrasool2016-05-161-2/+1
| | | | | | | | The variables referenced in the print message are not defined. Simply state that the requisite script is not found. Correct grammar to indicate that the tests are rather likely to fail rather than unlikely to fail. llvm-svn: 269628
* test: add missing splatSaleem Abdulrasool2016-05-161-1/+1
| | | | | | | | The parameter here is a list, not a string. Ensure that the we splat the list into arguments prior to invoke os.path.join. This would previously fail with a `startswith` is not a member of `list`. llvm-svn: 269627
* test: add missing parameterSaleem Abdulrasool2016-05-161-1/+1
| | | | | | | Add the missing required parameter to the function. This permits tests to get a bit further before failing. llvm-svn: 269626
* surface build error content through test event systemTodd Fiala2016-05-144-13/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: print build errors nicely in test output This test infrastructure change adds a new Python exception for test subject builds that fail. The output of the build command is captured and propagated to both the textual test output display code and to the test event system. The ResultsFormatter objects have been modified to do something more useful with this information. The xUnit formatter now replaces the non-informative Python build error stacktrace with the build error content. The curses ResultsFormatter prints a 'B' for build errors rather than 'E'. The xUnit output, in particular, makes it much easier for developers to track down test subject build errors that cause test failures when reports come in from CI. Reviewers: granata.enrico Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D20252 llvm-svn: 269525
* test infra: catch bad decorators and import-time errorsTodd Fiala2016-05-132-54/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: This change enhances the LLDB test infrastructure to convert load-time exceptions in a given Python test module into errors. Before this change, specifying a non-existent test decorator, or otherwise having some load-time error in a python test module, would not get flagged as an error. With this change, typos and other load-time errors in a python test file get converted to errors and reported by the test runner. This change also includes test infrastructure tests that include covering the new work here. I'm going to wait until we have these infrastructure tests runnable on the main platforms before I try to work that into all the normal testing workflows. The test infrastructure tests can be run by using the standard python module testing practice of doing the following: cd packages/Python/lldbsuite/test_event python -m unittest discover -s test/src -p 'Test*.py' Those tests run the dotest inferior with a known broken test and verify that the errors are caught. These tests did not pass until I modified dotest.py to capture them properly. @zturner, if you have the chance, if you could try those steps above (the python -m unittest ... line) on Windows, that would be great if we can address any python2/3/Windows bits there. I don't think there's anything fancy, but I didn't want to hook it into test flow until I know it works there. I'll be slowly adding more tests that cover some of the other breakage I've occasionally seen that didn't get collected as part of the summarization. This is the biggest one I'm aware of. Reviewers: zturner, labath Subscribers: zturner, lldb-commits Differential Revision: http://reviews.llvm.org/D20193 llvm-svn: 269489
* Clean up test results on Windows.Zachary Turner2016-05-1310-4/+10
| | | | | | | | | 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
* Fix libstdc++ failure where <atomic> is not able to be imported on Darwin ↵Greg Clayton2016-05-123-6/+10
| | | | | | | | systems. The adding of <atomic> to test_common.h broke 12 tests on Darwin. We work around this by not including <atomic> when building on darwin for libstdc++ tests. llvm-svn: 269372
* Added missing makefile from patch D19124 (should fix the corresponding ↵Cameron Desrochers2016-05-121-0/+5
| | | | | | commit rL269340) llvm-svn: 269366
* [LLDB] Added support for PHI nodes to IR interpreterMarianne Mailhot-Sarrasin2016-05-122-0/+57
| | | | | | | | | | This allows expressions such as 'i == 1 || i == 2` to be executed using the IR interpreter, instead of relying on JIT code injection (which may not be available on some platforms). Patch by cameron314 Differential Revision: http://reviews.llvm.org/D19124 llvm-svn: 269340
* Xfail failing watchpoint tests on aarch64-linuxOmair Javaid2016-05-115-0/+6
| | | | | | | | 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
* Rewriting TestMultithreaded.py to solve flakyness on LinuxRavitheja Addepally2016-05-112-29/+18
| | | | | | | | | | | | | | | | | Summary: test_listener_event_process_state checks for Threads and Frames in the multithreaded_queue. The listener_func has more computational load, which may be latter executed than the pop leading to the failure. This patch tries to only check for frames in listener_func as presence of frames also confirms prescence of threads and avoids the second push into the multithreaded_queue. Reviewers: lldb-commits, clayborg, labath Differential Revision: http://reviews.llvm.org/D20091 llvm-svn: 269168
* Corrected aarch64 register no in TestBreakpointConditions.pyOmair Javaid2016-05-111-1/+1
| | | | | | | Test uses x1 in breakpoint expression while objdump shows that x1 is never used in the code and may have random values. Using x0 make sure that we are using a registe that will have a positive value and breakpoint expression will evaluate true atleast once. llvm-svn: 269164
* Fix race in TestExitDuringStep and unify pseudo_barrier handlingPavel Labath2016-05-109-105/+36
| | | | | | | | | | | | | | | | | | Summary: TestExitDuringStep was very rarely hanging on the buildbots. I can't be sure, but I believe this was because of the fact that it declared its pseudo_barrier variable as "volatile int", which is not sufficient to guarantee corectness (also, all other tests used atomic variables for this, and they were passing reliably AFAIK). Besides switching to an atomic variable in this test as well, I have also took this opportunity to unify all the copies of the pseudo_barrier code to a single place to reduce the chance of this happening again. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D20065 llvm-svn: 269025
* Add a testcase for "BreakpointSetBySourceRegex" Jim Ingham2016-05-105-0/+139
| | | | | | | This tests both that we set the breakpoint on the right line, and that restricting by file and/or the function, we get the right breakpoints. llvm-svn: 269004
* Added a testcase that verifies that multiline expressions work.Sean Callanan2016-05-093-0/+68
| | | | llvm-svn: 268971
* Mark TestPrintStackTraces as flaky on linuxPavel Labath2016-05-091-0/+1
| | | | | | PR27687 llvm-svn: 268934
* Enable ↵Pavel Labath2016-05-091-1/+1
| | | | | | | | NamespaceLookupTestCase.test_scope_lookup_before_using_with_run_command on linux test appears to be passing now. llvm-svn: 268923
* 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 argument usage for '-#' command line optionTodd Fiala2016-05-051-1/+1
| | | | | | | This was broken in the grand configuration change. Now using -# works again. llvm-svn: 268638
* Downgrade skip to xfail in TestBitfields on linuxPavel Labath2016-05-051-1/+1
| | | | | | | the test should no longer crash, but we need to investigate why ToT clang still generates debug info we don't understand. llvm-svn: 268619
* Fix syntax errors in TestEnumTypesPavel Labath2016-05-051-1/+2
| | | | llvm-svn: 268616
* 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
* XFail TestEnumTypes.py on WindowsAdrian McCarthy2016-05-042-7/+8
| | | | | | Differential Revision: http://reviews.llvm.org/D19943 llvm-svn: 268574
* XFail TestLambdas.py on Windows after fixing some of the problemsAdrian McCarthy2016-05-043-9/+13
| | | | | | | | | | | | | | 1. Fixed semicolon placement in the lambda in the test itself. 2. Fixed lldbinline tests in general so that we don't attempt tests on platforms that don't use the given type of debug info. (For example, no DWO tests on Windows.) This fixes one of the two failures on Windows. (TestLambdas.py was the only inline test that wasn't XFailed or skipped on Windows.) 3. Set the error string in IRInterpreter::CanInterpret so that the caller doesn't print (null) instead of an explanation. I don't entirely understand the error, so feel free to suggest a better wording. 4. XFailed the test on Windows. The interpreter won't evaluate the lambda because the module has multiple function bodies. I don't exactly understand why that's a problem for the interpreter nor why the problem arises only on Windows. Differential Revision: http://reviews.llvm.org/D19606 llvm-svn: 268573
* Added a testcase for the ptr_refs tool so we catch if it stops working.Sean Callanan2016-05-033-0/+75
| | | | llvm-svn: 268433
OpenPOWER on IntegriCloud