summaryrefslogtreecommitdiffstats
path: root/lldb/test
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix 4 failing llgs-related tests on a stock Ubuntu 14.04 x86_64 system./Todd Fiala2014-10-201-0/+15
| | | | | | | | | | | | | | | | | | | | | | | This fix addresses a requirement on some Linux kernels that limits a PTRACER to be an ancestor of the ptraced process. The fix in this case is to have the inferior test exe explicitly allow any ptracer to attach. This fixes several ptrace-related issues that I did not see on a modified kernel we used internally on my team. See http://reviews.llvm.org/D5846 for details. This fixes these previously failing tests on stock Ubuntu systems: FAIL: LLDB (suite) :: TestGdbRemoteProcessInfo.py (Linux vagrant 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64) FAIL: LLDB (suite) :: TestGdbRemoteAttach.py (Linux vagrant 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64) FAIL: LLDB (suite) :: TestLldbGdbServer.py (Linux vagrant 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64) FAIL: LLDB (suite) :: TestGdbRemoteKill.py (Linux vagrant 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64) llvm-svn: 220181
* Fixed python API event test cases.Greg Clayton2014-10-171-39/+46
| | | | | | | | Issues were: 1 - It isn't good to have more than one listener for the process events, just supply a listener at launch instead of making a one then have the process broadcaster add a new listener 2 - run in async mode llvm-svn: 220113
* Do not delete the class, or else multiple tests that try to rely on ↵Enrico Granata2014-10-171-1/+0
| | | | | | lldbinline will fail llvm-svn: 220095
* Fixed the expression parser to handle cases whereSean Callanan2014-10-171-2/+0
| | | | | | | | | GetValueForVariableExpressionPath returns NULL and doesn't set an error. <rdar://problem/18682916> llvm-svn: 220070
* Making all @expectedFailure markers take an explicit bugnumber annotation. ↵Enrico Granata2014-10-172-21/+22
| | | | | | This used to be optional, but that makes it harder to track what tests are failing for what reason. So, make it mandatory, in the form of refusing to run the test suite if annotations are missing llvm-svn: 220012
* Don't enable the log here. It was just me debuggingEnrico Granata2014-10-171-1/+0
| | | | llvm-svn: 220011
* Add a few more bug IDs for x'fail test casesEnrico Granata2014-10-173-9/+7
| | | | llvm-svn: 220003
* Made multi-line test case actions possible inSean Callanan2014-10-172-12/+29
| | | | | | | the inline test cases. This makes them much more readable. llvm-svn: 220001
* Attach a bug number to these failuresEnrico Granata2014-10-161-6/+6
| | | | llvm-svn: 219986
* Split this test case to handle each literal kind uniquelyEnrico Granata2014-10-161-11/+38
| | | | llvm-svn: 219985
* Added a new kind of test case: the "inline" testSean Callanan2014-10-165-112/+166
| | | | | | | | | | | | | | | | | | | | | | | | case. This test case style attempts to shed all of the boilerplate that is required for test cases, and let 80% of test cases use a much terser syntax. Inline testcases have much simplified python files (the corresponding .py file should contain two lines of code) and require no Makefile, because the Makefile is generated automatically. Breakpoints are set automatically and the indicated breakpoint actions (specified after a magic //% comment) are executed when the breakpoint is hit. All other testcases are unaffected. One thing I'm not really happy with yet is the way multiple actions for the same line are specified. I'm going to use lang/c/struct_types as a guinea pig to develop this further. llvm-svn: 219984
* The number '5' triggers a bug unrelated to LLDB, and is not instrumental to ↵Enrico Granata2014-10-162-9/+8
| | | | | | this test in any way. Use another, randomly chosen, number to make the test pass again and provide useful actionable feedback about things that truly matter llvm-svn: 219982
* Some more test markingEnrico Granata2014-10-163-15/+9
| | | | llvm-svn: 219981
* This test needs the SB headers to make senseEnrico Granata2014-10-161-2/+2
| | | | llvm-svn: 219980
* Add a test for the -b (batch mode) option to the lldb driver.Jim Ingham2014-10-164-5/+151
| | | | llvm-svn: 219979
* Fix this test case to actually work - it was relying on a certain 'po' ↵Enrico Granata2014-10-162-14/+12
| | | | | | output which wasn't occurring llvm-svn: 219978
* Some more failure to bug trackingEnrico Granata2014-10-163-7/+5
| | | | llvm-svn: 219973
* Associate a bug tracking ID with this test caseEnrico Granata2014-10-161-2/+2
| | | | llvm-svn: 219972
* This test actually works alright - we were just checking for the wrong stringEnrico Granata2014-10-161-4/+1
| | | | llvm-svn: 219971
* I see this test case crash - skip for nowEnrico Granata2014-10-161-0/+2
| | | | llvm-svn: 219970
* Make this test case more resilient in the face of line-table and inlining ↵Enrico Granata2014-10-152-22/+16
| | | | | | changes llvm-svn: 219828
* Fix a path concatenation issue related to windows paths.Zachary Turner2014-10-141-1/+5
| | | | llvm-svn: 219730
* Fixed stdio redirection within LLDB to "do the right thing" in all cases.Greg Clayton2014-10-142-30/+226
| | | | | | | | | | The main issue was if you didn't specify all three (stdin/out/err), you would get file actions added to the launch that would always use the pseudo terminal. This is now fixed. Also fixed the test suite test that handles IO to test redirecting things individually and all together and in other combinations to make sure we don't regress. <rdar://problem/18638226> llvm-svn: 219711
* Skip asan test on FreeBSDEd Maste2014-10-141-0/+1
| | | | | | | | | | The build fails due to missing asan runtime in the FreeBSD base system. Instead of marking it expected fail, just skip until we have the runtime available. llvm.org/pr21136 llvm-svn: 219701
* Fix dotest.py test runner exit code to return non-zero on failure/error.Todd Fiala2014-10-141-1/+1
| | | | | | | | | | | | | | | | | This addresses this bug: http://www.llvm.org/bugs/show_bug.cgi?id=21267 Which has been broken since svn r215256 on Aug 8 2014. DO NOT REVERT THIS COMMIT EVEN IF IT CREATES TEST FAILURES. The test failures are a result of accumulation of hidden failures that were masked by the bug this change fixes. Most of our test runners as part of build testing rely on dotest.py returning non-zero to indicate some kind of errant test run. Thus, we have been flying blind since Aug 8 2014. llvm-svn: 219689
* LLDB AddressSanitizer instrumentation runtime plugin, breakpint on error and ↵Kuba Brecka2014-10-103-1/+93
| | | | | | | | | | | | | | | | | | | | | | | | | report data extraction Reviewed at http://reviews.llvm.org/D5592 This patch gives LLDB some ability to interact with AddressSanitizer runtime library, on top of what we already have (historical memory stack traces provided by ASan). Namely, that's the ability to stop on an error caught by ASan, and access the report information that are associated with it. The report information is also exposed into SB API. More precisely this patch... adds a new plugin type, InstrumentationRuntime, which should serve as a generic superclass for other instrumentation runtime libraries, these plugins get notified when modules are loaded, so they get a chance to "activate" when a specific dynamic library is loaded an instance of this plugin type, AddressSanitizerRuntime, which activates itself when it sees the ASan dynamic library or founds ASan statically linked in the executable adds a collection of these plugins into the Process class AddressSanitizerRuntime sets an internal breakpoint on __asan::AsanDie(), and when this breakpoint gets hit, it retrieves the report information from ASan this breakpoint is then exposed as a new StopReason, eStopReasonInstrumentation, with a new StopInfo subclass, InstrumentationRuntimeStopInfo the StopInfo superclass is extended with a m_extended_info field (it's a StructuredData::ObjectSP), that can hold arbitrary JSON-like data, which is the way the new plugin provides the report data the "thread info" command now accepts a "-s" flag that prints out the JSON data of a stop reason (same way the "-j" flag works now) SBThread has a new API, GetStopReasonExtendedInfoAsJSON, which dumps the JSON string into a SBStream adds a test case for all of this I plan to also get rid of the original ASan plugin (memory history stack traces) and use an instance of AddressSanitizerRuntime for that purpose. Kuba llvm-svn: 219546
* Add a new disassembly-format specification so that the disassemblerJason Molenda2014-10-102-4/+7
| | | | | | | | | | | | | | | | | | | | | output style can be customized. Change the built-in default to be more similar to gdb's disassembly formatting. The disassembly-format for a gdb-like output is ${addr-file-or-load} <${function.name-without-args}${function.concrete-only-addr-offset-no-padding}>: The disassembly-format for the lldb style output is {${function.initial-function}{${module.file.basename}`}{${function.name-without-args}}:\n}{${function.changed}\n{${module.file.basename}`}{${function.name-without-args}}:\n}{${current-pc-arrow} }{${addr-file-or-load}}: The two backticks in the lldb style formatter triggers the sub-expression evaluation in CommandInterpreter::PreprocessCommand() so you can't use that one as-is ... changing to use ' characters instead of ` would work around that. <rdar://problem/9885398> llvm-svn: 219544
* If a ValueObject has a child that vends synthetic children, but only does so ↵Enrico Granata2014-10-092-1/+4
| | | | | | to generate a value for itself, that's not a disqualifier from one-line printing. Also, fetch synthetic values if available and requested for children as well while printing them llvm-svn: 219427
* Extend synthetic children to produce synthetic values (as in, those that ↵Enrico Granata2014-10-085-0/+134
| | | | | | | | | | | | | | | | | GetValueAsUnsigned(), GetValueAsCString() would return) The way to do this is to write a synthetic child provider for your type, and have it vend the (optional) get_value function. If get_value is defined, and it returns a valid SBValue, that SBValue's value (as in lldb_private::Value) will be used as the synthetic ValueObject's Value The rationale for doing things this way is twofold: - there are many possible ways to define a "value" (SBData, a Python number, ...) but SBValue seems general enough as a thing that stores a "value", so we just trade values that way and that keeps our currency trivial - we could introduce a new level of layering (ValueObjectSyntheticValue), a new kind of formatter (synthetic value producer), but that would complicate the model (can I have a dynamic with no synthetic children but synthetic value? synthetic value with synthetic children but no dynamic?), and I really couldn't see much benefit to be reaped from this added complexity in the matrix On the other hand, just defining a synthetic child provider with a get_value but returning no actual children is easy enough that it's not a significant road-block to adoption of this feature Comes with a test case llvm-svn: 219330
* Add decorator for FreeBSD failureEd Maste2014-10-081-0/+1
| | | | | | llvm.org/pr21211 llvm-svn: 219329
* Skip asan test on FreeBSDEd Maste2014-10-081-1/+1
| | | | | | | | | | The build fails due to missing asan runtime in the FreeBSD base system. Instead of marking it expected fail, just skip until we have the runtime available. llvm.org/pr21136 llvm-svn: 219328
* Update TestInlinedBreakpoints to reflect the fact thatJason Molenda2014-10-071-1/+4
| | | | | | | | | | | | the default search method is "always" as of r218405. For the purposes of this test, set it back to "headers" to confirm that the file+line breakpoint doesn't work, then verify that it does work with "always". Leave it in "always" setting. <rdar://problem/18564244> llvm-svn: 219251
* Change this test case so that it no longer fails in the face of Bug 21190. ↵Enrico Granata2014-10-071-6/+10
| | | | | | The failure and the bug are entirely unrelated, and it's trivial to write a repro case for that bug anyway, so no need to use this complicated test case llvm-svn: 219248
* This test case was incorrect, it was relying on the factJim Ingham2014-10-071-2/+6
| | | | | | | | | | | | | that the function we were calling would continue to sleep for the requested time even if it was interrupted. That is not true of std::this_thread::sleep_for, at least not on OS X. Fix the test case so that if it wakes up early, it goes back to sleep till the time is actually greater than the end point. <rdar://problem/18523742> llvm-svn: 219234
* Fix exception text to match function nameEd Maste2014-10-071-1/+1
| | | | llvm-svn: 219181
* And here's another test case that uses the SB API. Skip it tooEnrico Granata2014-10-061-0/+1
| | | | llvm-svn: 219148
* This test also relies on the SB API headers. Same logicEnrico Granata2014-10-061-0/+4
| | | | llvm-svn: 219147
* In some cases, the LLDB test suite will be run on a built framework with no ↵Enrico Granata2014-10-062-0/+17
| | | | | | sources coming along. In those cases, we want to skip the SB API test case. Add a marker for that, and apply it llvm-svn: 219146
* Made TestCommandScript more robust against newSean Callanan2014-10-061-2/+2
| | | | | | lines at arbitrary points. llvm-svn: 219133
* These two tests were failing on the FreeBSD bot - one has to assume because ↵Enrico Granata2014-10-032-0/+2
| | | | | | FreeBSD comes with libc++. Skip them llvm-svn: 219032
* These tests all seem to pass on my machine, marking them as non-Xfail on ↵Enrico Granata2014-10-033-7/+0
| | | | | | Darwin, or clang where applicable. Non-Apple folks, if these fail for you, maybe we can put some more helpful markers on them llvm-svn: 219020
* Stop enabling the std::vector<bool> data formatter for libstdc++, and for ↵Enrico Granata2014-10-031-0/+2
| | | | | | that matter, also skip running the test on Darwin. libstdc++ is more relevant on non-Apple platforms llvm-svn: 218952
* Add FreeBSD test failure decoratorsEd Maste2014-10-023-0/+3
| | | | llvm-svn: 218908
* Limit test to DarwinEd Maste2014-10-021-0/+1
| | | | | | Test requres <Foundation/Foundation.h> llvm-svn: 218904
* Add ENABLE_THREADS for these threaded testsEd Maste2014-10-022-0/+2
| | | | | | On at least FreeBSD linking with -lpthread is needed for std::thread. llvm-svn: 218899
* Make this test case a little more resilient to class name changesEnrico Granata2014-10-021-1/+1
| | | | llvm-svn: 218896
* Update to match strings output by lldb.Jason Molenda2014-10-021-1/+1
| | | | llvm-svn: 218853
* Add a couple of extra exepct strings so this test file keeps in sync with lldbJason Molenda2014-10-021-0/+2
| | | | | | a little better. llvm-svn: 218851
* Allow Python commands to optionally take an SBExecutionContext argument in ↵Enrico Granata2014-10-013-0/+8
| | | | | | case they need to handle 'where they want to act' separately from the notion of 'currently-selected entity' that is associated to the debugger. Do this in an (hopefully) non-breaking way by running an argcount check before passing in the new argument. Update the test case to also check for this new feature. www update to follow llvm-svn: 218834
* Adding a test for k5 binariesMatthew Gardiner2014-10-012-0/+1
| | | | llvm-svn: 218754
OpenPOWER on IntegriCloud