• Home
  • History
  • Annotate
  • only in /external/lldb/test/functionalities/
History log of /external/lldb/test/functionalities/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
50851d82b0f0aa415fc0c057b85b2243190366ab 07-Aug-2013 Daniel Malea <daniel.malea@intel.com> Re-enable check previously disabled due to llvm.org/pr16603



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187890 91177308-0d34-0410-b5e6-96231b3b80d8
hread/concurrent_events/TestConcurrentEvents.py
e0d9e7543b684ffedabc9b39f4e4910eb975099e 06-Aug-2013 Daniel Malea <daniel.malea@intel.com> Centralizing Intel compiler detection logic in lldbtest.py to avoid duplication in the future.
- Addresses review comments from Stefanus!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187816 91177308-0d34-0410-b5e6-96231b3b80d8
hread/step_out/TestThreadStepOut.py
31cdd3d8545077cd5cdb6873bf005508a1570d38 06-Aug-2013 Daniel Malea <daniel.malea@intel.com> Support one more flavour of Intel compiler in TestThreadStepOut

- Thanks to Matt Kopec for noticing the failure!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187815 91177308-0d34-0410-b5e6-96231b3b80d8
hread/step_out/TestThreadStepOut.py
9de79f93e058445afc9f8c131f9a4bb57654fe44 06-Aug-2013 Daniel Malea <daniel.malea@intel.com> Test compatibility improvements for ICC
- update TestThreadStepOut.py to work with Intel compilers
- fix typo in TestConcurrentEvents



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187801 91177308-0d34-0410-b5e6-96231b3b80d8
hread/concurrent_events/TestConcurrentEvents.py
hread/step_out/TestThreadStepOut.py
hread/step_out/main.cpp
2fa8346c758f2bae3cd638ec28479dfa2d64af09 05-Aug-2013 Andrew Kaylor <andrew.kaylor@intel.com> Additional fixes/xfails for icc tests

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187730 91177308-0d34-0410-b5e6-96231b3b80d8
nline-stepping/TestInlineStepping.py
eturn-value/TestReturnValue.py
0d23b9fa316da005db4d5591bfa616a014ae1a16 01-Aug-2013 Daniel Malea <daniel.malea@intel.com> Disable test on Mac OS X due to llvm.org/pr16769




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187603 91177308-0d34-0410-b5e6-96231b3b80d8
ongjmp/TestLongjmp.py
23bb947c115986ebad812bc7c04805118feb318f 01-Aug-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Updates TestLongjump to ensure that compiler optimizations don't affect the
mapping of source to assembly so that the same test script can be used
with more compilers.

Patch by Andy Kaylor!

Also marks the LLDB test of template parameters as xfail on icc.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187600 91177308-0d34-0410-b5e6-96231b3b80d8
ongjmp/TestLongjmp.py
ongjmp/main.c
93d8e42f14e322a501c94d5d6ca86fc726182e95 31-Jul-2013 Matt Kopec <Matt.Kopec@intel.com> Mark additional ICC failing tests as expected fail.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187507 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libstdcpp/iterator/TestDataFormatterStdIterator.py
ata-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
ata-formatter/data-formatter-stl/libstdcpp/vbool/TestDataFormatterStdVBool.py
ata-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
03e33528b9d0218542fc3ec994fdc22808c3809f 31-Jul-2013 Matt Kopec <Matt.Kopec@intel.com> Update break conditions test to have consistent behaviour on all test suite compilers.
Also update comment in const variables test to reflect ICC status.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187501 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_conditions/TestBreakpointConditions.py
c3e49ca112343c6286c48a18bef3ce52bb69b3be 31-Jul-2013 Matt Kopec <Matt.Kopec@intel.com> Set an extra debug flag when testing with ICC so that it generates the correct debug info for inlined tests.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187500 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_ids/Makefile
reakpoint/breakpoint_locations/Makefile
nline-stepping/Makefile
1475fc76a3b64fd81b710d3a719d6fcc9f6996e2 30-Jul-2013 Daniel Malea <daniel.malea@intel.com> Assorted test suite fixes as a result of GCC 4.8 validation efforts
- disable some TestConcurrentEvents cases (which are affected by llvm.org/pr16714 -- watchpoints in multithreaded programs)
- relax number-of-bp-locations check in TestUniqueTypes/TestUnsignedTypes
- skip TestDataFormatterStdVector cases with GCC 4.8 (known failure due to llvm.org/pr15301)
- workaround for race condition in TestHelloWorld.py
- update TestSettings.py to work on distros (like Fedora) that have /bin/cat hardlinked to /usr/bin/cat

After these changes, the test suite should run cleanly against GCC 4.8 (with DWARF v4)!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187451 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
hread/concurrent_events/TestConcurrentEvents.py
5119a6475bc2e3073c4a24399035a22ab4eab810 30-Jul-2013 Ed Maste <emaste@freebsd.org> tests: process connect needs "-p gdb-remote" on FreeBSD as on Linux



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187418 91177308-0d34-0410-b5e6-96231b3b80d8
onnect_remote/TestConnectRemote.py
9c19b015ac6161a35fc56bb2d0fa84d1837063f8 30-Jul-2013 Ed Maste <emaste@freebsd.org> tests: Mark expected FreeBSD failures due to pr14424

These tests fail on FreeBSD due to missing build support, the same reason
they fail on Linux.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187416 91177308-0d34-0410-b5e6-96231b3b80d8
oad_unload/TestLoadUnload.py
f40b0928e7455c7158ea9aa82d7908cc3fe4d1af 30-Jul-2013 Ed Maste <emaste@freebsd.org> tests: Mark expected FreeBSD failures due to pr16697



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187415 91177308-0d34-0410-b5e6-96231b3b80d8
lias/TestAliases.py
21f98a38a0cfa10b9935248f1b3628b5ba914402 30-Jul-2013 Daniel Malea <daniel.malea@intel.com> Fix TestConcurrentEvents to behave nicely with GCC 4.8
- newer gcc generates additional debuginfo for function exit (stack object desctruction) which was causing tests to fail
- work-around consists of not declaring any stack objects in main()



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187389 91177308-0d34-0410-b5e6-96231b3b80d8
hread/concurrent_events/main.cpp
6bd7f0ded258fb0691da9090156910e156261933 25-Jul-2013 Ed Maste <emaste@freebsd.org> tests: Mark expected FreeBSD failures due to pr16699

FreeBSD's Host class doesn't yet return a list of running processes,
so 'platform process list' fails and attach by process name does not
work.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187142 91177308-0d34-0410-b5e6-96231b3b80d8
latform/TestPlatformCommand.py
rocess_attach/TestProcessAttach.py
3bf526ac0f51dda6f63be3421cd7de68720dd656 25-Jul-2013 Ed Maste <emaste@freebsd.org> tests: Mark expected FreeBSD failures due to pr16706

Watchpoints are not yet working on FreeBSD


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187134 91177308-0d34-0410-b5e6-96231b3b80d8
hread/concurrent_events/TestConcurrentEvents.py
atchpoint/hello_watchlocation/TestWatchLocation.py
atchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
atchpoint/multiple_threads/TestWatchpointMultipleThreads.py
atchpoint/watchpoint_commands/TestWatchpointCommands.py
atchpoint/watchpoint_commands/command/TestWatchpointCommandLLDB.py
atchpoint/watchpoint_commands/command/TestWatchpointCommandPython.py
atchpoint/watchpoint_commands/condition/TestWatchpointConditionCmd.py
atchpoint/watchpoint_events/TestWatchpointEvents.py
atchpoint/watchpoint_set_command/TestWatchLocationWithWatchSet.py
4fd912f5de9a61a4e23f2a1973659f0c334a2692 25-Jul-2013 Ed Maste <emaste@freebsd.org> tests: Mark expected FreeBSD failures due to pr16696

Live debugging for threaded inferiors is not yet implemented on FreeBSD


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187131 91177308-0d34-0410-b5e6-96231b3b80d8
hread/break_after_join/TestBreakAfterJoin.py
hread/concurrent_events/TestConcurrentEvents.py
hread/create_during_step/TestCreateDuringStep.py
hread/exit_during_break/TestExitDuringBreak.py
hread/exit_during_step/TestExitDuringStep.py
hread/multi_break/TestMultipleBreakpoints.py
afed35ecdb1d799dadd4e7b2673b1911a84e77d5 25-Jul-2013 Ed Maste <emaste@freebsd.org> Skip dead-strip test also on FreeBSD

-dead_strip isn't supported by FreeBSD's ld.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187129 91177308-0d34-0410-b5e6-96231b3b80d8
ead-strip/TestDeadStrip.py
4edd4b4d295e07afc6a7c157f2693a110de49964 24-Jul-2013 Ed Maste <emaste@freebsd.org> tests: Mark expected FreeBSD failures due to pr16696

Live debugging of threaded inferiors is currently unimplemented for
FreeBSD.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187077 91177308-0d34-0410-b5e6-96231b3b80d8
hread/TestNumThreads.py
hread/step_out/TestThreadStepOut.py
hread/thread_exit/TestThreadExit.py
4a217a5a91a9575a15f494a4e08d2a09ea5adf2c 24-Jul-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Updating tests that fail with ICC 13.1 because of the different mapping of assembly to DWARF.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187035 91177308-0d34-0410-b5e6-96231b3b80d8
ongjmp/TestLongjmp.py
hread/step_out/TestThreadStepOut.py
4514d505ac2ca9c2a05136fa3b586a867412b8ad 23-Jul-2013 Ed Maste <emaste@freebsd.org> Skip test reported to hang the FreeBSD buildbot



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186979 91177308-0d34-0410-b5e6-96231b3b80d8
rocess_launch/TestProcessLaunch.py
b8a579f45729be8bfcfdb834bba7ac5cf51ecafc 23-Jul-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Adds a test for "disassemble -a" after an assert, which can fail with ELF
because a synthetic symbol hasn't been provided for stripped function symbols.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186959 91177308-0d34-0410-b5e6-96231b3b80d8
nferior-assert/TestInferiorAssert.py
2c0e3062e4b43015dc299270c9d73cdb00d384c1 19-Jul-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Reworked the test decorators to match the test results on the buildbots.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186717 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
ype_completion/TestTypeCompletion.py
e0fefe3f0ecc9a57e8d20c162c50ea70ee5d303b 19-Jul-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Updated the test suite to fix xpasses on the gcc buildbot primarily due to r186347 (thanks Greg!).
Your mileage may vary depending on the gcc and stl versions in use (see llvm.org/pr15301).



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186706 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py
ata-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
ype_completion/TestTypeCompletion.py
4f33a8216d66ac3934d87972596b43bb13aeb2c2 18-Jul-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Fix the partial backtrace when using a combination of stripped function symbols
and -fomit-frame-pointer.

- Parses eh_frame FDEs to determine the function address and size so that
the call frame parsing can continue.

Note: This code path is specific to ELF and PECOFF, because ObjectFileMachO
uses LCT_FunctionStarts to efficiently populate the symbol table.

Thanks to Jason Molenda for the review!


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186585 91177308-0d34-0410-b5e6-96231b3b80d8
nferior-assert/TestInferiorAssert.py
0645d187d2061b7b1690b2ead7aaf8f7736cf873 16-Jul-2013 Daniel Malea <daniel.malea@intel.com> Add tests for 'thread step out' for multithreaded programs
- test with python API
- test with command interpreter
- test stepping a single (selected) thread
- test stepping all threads in the program




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186446 91177308-0d34-0410-b5e6-96231b3b80d8
hread/step_out/Makefile
hread/step_out/TestThreadStepOut.py
hread/step_out/main.cpp
0b009eecad90bb2a45b3391ce0aaf3f8c6e25936 15-Jul-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Adds a passing test for step-over and step-out when the inferior is about to call longjmp (non-local goto) in a single-threaded inferior.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186325 91177308-0d34-0410-b5e6-96231b3b80d8
ongjmp/Makefile
ongjmp/TestLongjmp.py
ongjmp/main.c
9a76f6f18aa3eebcc40d0da6b7d87a94650909b8 12-Jul-2013 Daniel Malea <daniel.malea@intel.com> Work-around for GCC issue where setting a breakpoint on a vector definition also adds a breakpoint on the d'tor call



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186193 91177308-0d34-0410-b5e6-96231b3b80d8
hread/concurrent_events/main.cpp
a04d685a740fc51d4c246b2004adbb5712bdad6f 12-Jul-2013 Daniel Malea <daniel.malea@intel.com> Fix gcc buildbot failures, re-enable tests disabled due to llvm.org/pr16575



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186166 91177308-0d34-0410-b5e6-96231b3b80d8
hread/concurrent_events/TestConcurrentEvents.py
4e49a5bfccc0a51185eadf69b3e23f68e70f1676 12-Jul-2013 Jim Ingham <jingham@apple.com> Get debugserver to call task_set_state to prime the control registers so that watchpoints
take for threads created while the program is running. Remove the testcase skips from TestConcurrentEvents.py,
since they all pass now, and fix TestWatchpointMultipleThreads.py - which should have caught this problem -
so it doesn't artificially break on new thread creation before the watchpoint triggers.

llvm.org/pr16566
<rdar://problem/14383244>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186132 91177308-0d34-0410-b5e6-96231b3b80d8
hread/concurrent_events/TestConcurrentEvents.py
atchpoint/multiple_threads/TestWatchpointMultipleThreads.py
e14eec8837285f148ca6a3be8c0bc39b02ae80b0 12-Jul-2013 Daniel Malea <daniel.malea@intel.com> Tentatively re-enabling TestBreakAfterJoin on Linux
- Unable to reproduce llvm.org/pr16170 locally



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186129 91177308-0d34-0410-b5e6-96231b3b80d8
hread/break_after_join/TestBreakAfterJoin.py
cb18736d068bef6ff56ef451a25d67cced402f32 12-Jul-2013 Daniel Malea <daniel.malea@intel.com> Enable Mac OS X tests disabled due to llvm.org/pr16567
- thread count remains correct now that we use pthread_kill() instead of kill() to deliver signals



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186126 91177308-0d34-0410-b5e6-96231b3b80d8
hread/concurrent_events/TestConcurrentEvents.py
571be4261837300fd56eefc95a602711bf5de5c8 12-Jul-2013 Daniel Malea <daniel.malea@intel.com> Improve TestConcurrentEvents.py
- code cleanup, improved reporting when failures take place
- ensure known thread is interrupted by using pthread_kill() instead of kill() in the signal worker thread
- above should avoid llvm.org/pr16567 on Mac OS X (though kill() could still cause threads to pop out of existance temporarily)
- added an additional check that all threads have exited after worker threads are all join()ed
- logged llvm.org/pr16603 for the new Linux bug discovered



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186124 91177308-0d34-0410-b5e6-96231b3b80d8
hread/concurrent_events/TestConcurrentEvents.py
hread/concurrent_events/main.cpp
b9d995d0863e1860c12c4ace0d5eb0ba832f9c99 09-Jul-2013 Enrico Granata <egranata@apple.com> Second attempt at getting the PyCallable changes in trunk

Thanks to Daniel Malea for helping test this patch for Linux happiness!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185965 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_script/welcome.py
784091a2a09c886776640c9b28479489364fcf28 09-Jul-2013 Daniel Malea <daniel.malea@intel.com> Cleanup in TestConcurrentEvents.py
- re-enable tests fixed by Matt's commit this morning (addressed llvm.org/pr16567)
- disabled tests affected by new bug llvm.org/pr16575
- removed some commented out code in inferior



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185951 91177308-0d34-0410-b5e6-96231b3b80d8
hread/concurrent_events/TestConcurrentEvents.py
hread/concurrent_events/main.cpp
cd2b54b6d78fec6c5b68f8565150b5a6d3aaf7ca 09-Jul-2013 Andrew Kaylor <andrew.kaylor@intel.com> Change TestRegisters.py attach case to attach to a.out and enable that test case

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185947 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
egister/main.cpp
ff5c6d9c07c02c80b24a59c25d9f5edd518479c4 09-Jul-2013 Daniel Malea <daniel.malea@intel.com> Add TestConcurrentEvents test for LLDB's handling of inferior threads
- Test verifies LLDB's handling of inferiors with threads that: hit breakpoints,
modfiy variables that have watchpoints set, generate user signals, and crash.
- Add a few "stress tests" (with ~100 threads) -- run these with "-l" dotest.py
flag.
- Fix stop_reason_to_str helper in lldbutil to handle eStopReasonThreadExited.
- Add sort_stopped_threads helper to lldbutil to separate thread lists based
on stop reason.

Logged llvm.org/pr16566 and llvm.org/pr16567 for bugs exposed.




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185889 91177308-0d34-0410-b5e6-96231b3b80d8
hread/concurrent_events/Makefile
hread/concurrent_events/TestConcurrentEvents.py
hread/concurrent_events/main.cpp
atchpoint/multiple_threads/TestWatchpointMultipleThreads.py
f78578b805128f91b91c2c82f1547569b97adc52 03-Jul-2013 Daniel Malea <daniel.malea@intel.com> Remove @expectedFailureGcc from TestInlineStepping as function prologue bug is not reproducible anymore.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185579 91177308-0d34-0410-b5e6-96231b3b80d8
nline-stepping/TestInlineStepping.py
2bea9f01f3f6c0de99a2e57c57bf32c7f46ec6bc 03-Jul-2013 Daniel Malea <daniel.malea@intel.com> Skip Test-rdar-9974002 with Clang 3.4 (due to llvm.org/pr16214)
- should resolve remaining failures on clang buildbot



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185576 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/rdar-9974002/Test-rdar-9974002.py
78f2f67acc86faa05e1c040e113835fb78c08b5c 03-Jul-2013 Daniel Malea <daniel.malea@intel.com> Add missing -std=c99 flag to appease GCC 4.6
- this issue was detected on recent GCC buildbot runs



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185571 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_conditions/Makefile
26bc105b1882a78de609d46d148ad2b5c4d50656 03-Jul-2013 Daniel Malea <daniel.malea@intel.com> Revert commits that cause broken builds on GCC buildbots
- build fails due to PyCallable template definition inside an extern "C" scope

This commit reverts 185240, 184893 and 184608.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@185560 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_script/welcome.py
9c9a7bf57d081271c7e971decfe221561a920bcd 26-Jun-2013 Enrico Granata <egranata@apple.com> <rdar://problem/14266411>

The semi-unofficial way of returning a status from a Python command was to return a string (e.g. return "no such variable was found") that LLDB would pick as a clue of an error having happened

This checkin changes that:
- SBCommandReturnObject now exports a SetError() call, which can take an SBError or a plain C-string
- script commands now drop any return value and expect the SBCommandReturnObject ("return object") to be filled in appropriately - if you do nothing, a success will be assumed

If your commands were relying on returning a value and having LLDB pick that up as an error, please change your commands to SetError() through the return object or expect changes in behavior



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184893 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_script/welcome.py
f4b0e69a83a56b729a900b5960a7fbc2c4d225fa 25-Jun-2013 Daniel Malea <daniel.malea@intel.com> Fix undefined behaviour in data formatter test -- ensure char* null-terminated
so LLDB does not read off the end of the array.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184877 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-advanced/main.cpp
aedf8e058dee5f847f607c2098eb61e1d6327c3d 25-Jun-2013 Ed Maste <emaste@freebsd.org> Skip tests that hang on FreeBSD

There's still significant work to do in the FreeBSD port, so no point
in a pr for these yet.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184871 91177308-0d34-0410-b5e6-96231b3b80d8
hread/create_after_attach/TestCreateAfterAttach.py
9d1b2d290fd6ef28ae6222643e8e3702238b149c 22-Jun-2013 Enrico Granata <egranata@apple.com> make command history test case run silently regardless of import status of module foo



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184613 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_history/TestCommandHistory.py
d0f064d4e5ccef341ecbd6a462bbff5f085a3f77 20-Jun-2013 Sean Callanan <scallanan@apple.com> Fixed a problem with materialization and
dematerialization of registers that caused
conditional breakpoint expressions not to
work properly. Also added a testcase.

<rdar://problem/14129252>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184451 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_conditions/TestBreakpointConditions.py
reakpoint/breakpoint_conditions/main.c
efcd1bcf9fcd6e496a74b8d2711bf5281e8ab015 19-Jun-2013 Enrico Granata <egranata@apple.com> <rdar://problem/14086503>

Hardening the libstdc++ std::map test case against line table changes



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184265 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
ata-formatter/data-formatter-stl/libstdcpp/map/main.cpp
e8afa73ef12b819ebd22b53683204c8a1ba4d5cd 19-Jun-2013 Enrico Granata <egranata@apple.com> <rdar://problem/14086503>

Hardening the libstdc++ std::vector test case against line table changes



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184264 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
ata-formatter/data-formatter-stl/libstdcpp/vector/main.cpp
3cb3fe3da5851d90504b7c36817863a413447181 18-Jun-2013 Enrico Granata <egranata@apple.com> Adding a "cmdline" category to the test suite



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184155 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/.categories
lias/.categories
ackticks/.categories
ommand_history/.categories
ommand_regex/.categories
ommand_script/.categories
ommand_source/.categories
ompletion/.categories
3f0cc74e68663aff8c0262dee99fdf2c1250fb7b 18-Jun-2013 Enrico Granata <egranata@apple.com> Renaming the "--wipe" option to "command history" to "--clear" (-C) for coherence with the rest of the LLDB command-line interface



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184147 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_history/TestCommandHistory.py
b1fb72761226817e7f687eca21cbe9c0a3ec4cf6 18-Jun-2013 Enrico Granata <egranata@apple.com> <rdar://problem/14134716>

This is a rewrite of the command history facility of LLDB

It takes the history management out of the CommandInterpreter into its own CommandHistory class
It reimplements the command history command to allow more combinations of options to work correctly (e.g. com hist -c 1 -s 5)
It adds a new --wipe (-w) option to command history to allow clearing the history on demand
It extends the lldbtest runCmd: and expect: methods to allow adding commands to history if need be
It adds a test case for the reimplemented facility



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184140 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_history/TestCommandHistory.py
f3d6ee25c49833eddf8ca12da72706e5828a2f21 17-Jun-2013 Matt Kopec <Matt.Kopec@intel.com> Fix breakpoint test to account for full path of source file location.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184126 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_command/TestBreakpointCommand.py
025bcc0c90325b36dc3cbaf644bebc77ff758a7c 17-Jun-2013 Matt Kopec <Matt.Kopec@intel.com> Fix single whitespace before breakpoint filename in some tests due to r183932.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184104 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
lias/TestAliases.py
reakpoint/breakpoint_command/TestBreakpointCommand.py
reakpoint/breakpoint_locations/TestBreakpointLocations.py
hread/TestNumThreads.py
hread/break_after_join/TestBreakAfterJoin.py
hread/create_during_step/TestCreateDuringStep.py
hread/exit_during_break/TestExitDuringBreak.py
hread/exit_during_step/TestExitDuringStep.py
hread/multi_break/TestMultipleBreakpoints.py
hread/state/TestThreadStates.py
hread/thread_exit/TestThreadExit.py
31edb4b031da51f3435042a63be6ae442dced1ad 12-Jun-2013 Daniel Malea <daniel.malea@intel.com> Update TestRegisters for running on Linux (filed llvm.org/pr16301)
- skip the attach cases in TestRegisters.py -- caused slowness/sigabrt
- fixed log file removal function (in case test is run with -# flag)



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183812 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
a9dc882693ef65ee3657b96f018fec3685d37282 11-Jun-2013 Greg Clayton <gclayton@apple.com> Use llvm::APFloat for formatting if a target is available. Each target when debugging has a "ASTContext" that helps us to use the correct floating point semantics. Now that APFloat supports toString we now use that. If we don't have a target, we still fall back on the old display methodology, but the important formatting should always have a target available and thus use the compiler floating point code.

Modified the test programs to use floating point constants that always will display correctly. We had some numbers that were being rounded, and now that we are using clang, we no longer round them and we get more correct results.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183792 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-named-summaries/TestDataFormatterNamedSummaries.py
ata-formatter/data-formatter-named-summaries/main.cpp
ata-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py
ata-formatter/data-formatter-smart-array/main.cpp
0debb7c81a2d2f2033df41aa9f733a1df71e7baa 08-Jun-2013 Andrew Kaylor <andrew.kaylor@intel.com> Updating convenience register attach test

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183580 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
36a96dae1f1374f07f00e0743a0e37fff794c721 07-Jun-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Revert r183281, adds a comment about how to reproduce the hang.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183569 91177308-0d34-0410-b5e6-96231b3b80d8
hread/break_after_join/TestBreakAfterJoin.py
16796e0554f3faa045d556d54971c5c8e544e3d4 07-Jun-2013 Enrico Granata <egranata@apple.com> Tweaks to the std::list (libstdc++ test case)



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183480 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py
fb323f00d6124ac71f10e8bb6fa26782f04c2411 06-Jun-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Adding a test case for pr15415 - partial backtrace with -fomit-frame-pointer
that is patterned after its parent TestInferiorCrashing.py.

- The xfail decorator limits the xfail to tool-chains that support this compiler option.
- Included a TODO concerning the platform-specific behavior when 'next' is issued after a crash.
- Toggling -fomit-frame-pointer results in an xpass as mentioned in pr15415.

Thanks to Daniel for the review, and Samuel for the bug report and reproducer.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183434 91177308-0d34-0410-b5e6-96231b3b80d8
nferior-crashing/recursive-inferior/Makefile
nferior-crashing/recursive-inferior/TestRecursiveInferior.py
nferior-crashing/recursive-inferior/main.c
adbaa44e549bf6fa9adca947e9e8821ffb12d063 05-Jun-2013 Daniel Malea <daniel.malea@intel.com> Add test cases for attaching to a process after fork
- one test case is due to llvm.org/pr16229
- other test case uses a Linux workaround for above by using os.fork() instead of subprocess module

Patch by Andy Kaylor!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183340 91177308-0d34-0410-b5e6-96231b3b80d8
hread/create_after_attach/Makefile
hread/create_after_attach/TestCreateAfterAttach.py
hread/create_after_attach/main.c
6f25bcec7286e7d3153dfa07027d76759d443299 05-Jun-2013 Daniel Malea <daniel.malea@intel.com> Fix Makefiles in the data-formatter-stl tests
- specify compiler flag -stdlib=libstdc++ only if using clang (not supported in gcc)



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183333 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libstdcpp/iterator/Makefile
ata-formatter/data-formatter-stl/libstdcpp/list/Makefile
ata-formatter/data-formatter-stl/libstdcpp/map/Makefile
ata-formatter/data-formatter-stl/libstdcpp/string/Makefile
ata-formatter/data-formatter-stl/libstdcpp/vbool/Makefile
ata-formatter/data-formatter-stl/libstdcpp/vector/Makefile
3990c278c5f4f6ce1373ee3e6d5b984883cf4318 05-Jun-2013 Enrico Granata <egranata@apple.com> <rdar://problem/13125225>

Adding data formatters for std::set, std::multiset and std::multimap for libc++
The underlying data structure is the same as std::map, so this change is very minimal and mostly consists of test cases



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183323 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
ata-formatter/data-formatter-stl/libcxx/multimap/Makefile
ata-formatter/data-formatter-stl/libcxx/multimap/TestDataFormatterLibccMultiMap.py
ata-formatter/data-formatter-stl/libcxx/multimap/main.cpp
ata-formatter/data-formatter-stl/libcxx/multiset/Makefile
ata-formatter/data-formatter-stl/libcxx/multiset/TestDataFormatterLibcxxMultiSet.py
ata-formatter/data-formatter-stl/libcxx/multiset/main.cpp
ata-formatter/data-formatter-stl/libcxx/set/Makefile
ata-formatter/data-formatter-stl/libcxx/set/TestDataFormatterLibcxxSet.py
ata-formatter/data-formatter-stl/libcxx/set/main.cpp
cdffa426535f6bbe344d111e0d4bcb3f026978f7 05-Jun-2013 Matt Kopec <Matt.Kopec@intel.com> Skip intermittent watchpoint test failure when testing on Linux/gcc.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183316 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/multiple_threads/TestWatchpointMultipleThreads.py
1df0f7306e2c76f6db5d4348658d52ca0297adef 05-Jun-2013 Andrew Kaylor <andrew.kaylor@intel.com> Re-enabling a test that is no longer failing

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183281 91177308-0d34-0410-b5e6-96231b3b80d8
hread/break_after_join/TestBreakAfterJoin.py
d65317e8c1adbf5ff092e35bc685ff078c44312d 05-Jun-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12582328>

If you want to define a formatter for "array of Foo of any size", ordinarily you would say

-x "Foo \[[0-9]+\]"

this checkin allows you to instead say "Foo[]" (or "Foo []") and LLDB will automatically create the regular expression and add the -x flag on your behalf



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183272 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-advanced/TestDataFormatterAdv.py
a800e92eb9b8c487ec9030626d91b0f06203517e 03-Jun-2013 Daniel Malea <daniel.malea@intel.com> Un-skipping test that was disabled due to llvm.org/pr16191
- adding workaround recommended by Greg (-fno-limit-debug-info clang flag)
- filed bug llvm.org/pr16214 against Clang



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183156 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/rdar-9973865/Makefile
ata-formatter/rdar-9973865/Test-rdar-9973865.py
12c5bf31a5a3f96970b4101495ecbcc8449e12f6 03-Jun-2013 Matt Kopec <Matt.Kopec@intel.com> Fix setting of watchpoints on inferior thread creation for Linux.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183139 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/multiple_threads/TestWatchpointMultipleThreads.py
e6acc70303c634b71fdfe0133f6aa6be4476403b 31-May-2013 Daniel Malea <daniel.malea@intel.com> Skipping test case for clang 3.4 due to llvm.org/pr16191
- should resolve remaining buildbot issues with debian/clang builder



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183044 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/rdar-9973865/Test-rdar-9973865.py
7ef39ca9e4e94b96fb20fc17200d6492639f0cac 31-May-2013 Enrico Granata <egranata@apple.com> <rdar://problem/14035604>

Fixing an issue where formats would not propagate from parents to children in all cases
Details follow:
an SBValue has children and those are fetched along with their values
Now, one calls SBValue::SetFormat() on the parent
Technically, the format choices should propagate onto the children (see ValueObject::GetFormat())
But if the children values are already fetched, they won't notice the format change and won't update themselves
This commit fixes that by making ValueObject::GetValueAsCString() check if any format change intervened from the previous call to the current one
A test case is also added



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183030 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/format-propagation/Makefile
ata-formatter/format-propagation/TestFormatPropagation.py
ata-formatter/format-propagation/main.cpp
66068824402d94de2abe81c7e4472a4754572489 31-May-2013 Enrico Granata <egranata@apple.com> <rdar://problem/11109316>

command script import now does reloads - for real
If you invoke command script import foo and it detects that foo has already been imported, it will
- invoke reload(foo) to reload the module in Python
- re-invoke foo.__lldb_init_module
This second step is necessary to ensure that LLDB does not keep cached copies of any formatter, command, ... that the module is providing

Usual caveats with Python imports persist. Among these:
- if you have objects lurking around, reloading the module won't magically update them to reflect changes
- if module A imports module B, reloading A won't reload B
These are Python-specific issues independent of LLDB that would require more extensive design work

The --allow-reload (-r) option is maintained for compatibility with existing scripts, but is clearly documented as redundant - reloading is always enabled whether you use it or not



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182977 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_script/import/TestImport.py
c8ede814e63a7f01aa20c6b71c410b19100e4311 30-May-2013 Daniel Malea <daniel.malea@intel.com> Improve TestExitDuringStep to verify thread behaviour during step-over, step-in in addition to step-inst

Patch by Brian Minard!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182961 91177308-0d34-0410-b5e6-96231b3b80d8
hread/exit_during_step/TestExitDuringStep.py
df4ddd9f33b27b834310277eb1b95ef0fbd85b5d 30-May-2013 Matt Kopec <Matt.Kopec@intel.com> Remove extraneous files from test directory.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182943 91177308-0d34-0410-b5e6-96231b3b80d8
hread/exit_during_break/main.d.23591
hread/exit_during_break/main.d.23604
hread/exit_during_break/main.d.23614
f3657f43a0d3e408402ef8c56d42fd391e955f57 30-May-2013 Andrew Kaylor <andrew.kaylor@intel.com> Fixing problems with thread create during step test.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182888 91177308-0d34-0410-b5e6-96231b3b80d8
hread/create_during_step/TestCreateDuringStep.py
b36a909eddb26664b1e7c7d1d4fa7295e23bc22a 29-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Refactors to provide two variants for evaluation of text_list:
- The original test now passes on Linux with clang because a breakpoint is hit prior to evaluation of text_list, which improves text coverage.
- The new test fails because 4 steps are requested, and only two occur prior to evaluation of text_list.
--- Note that the loss of every second "next" command can be reproduced using lldb manually with this script.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182860 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py
ata-formatter/data-formatter-stl/libstdcpp/list/main.cpp
4a3914dc5bd75ed0dc6644668411e76f37ac113b 29-May-2013 Andrew Kaylor <andrew.kaylor@intel.com> Removing expected failures for watchpoint tests which are now passing.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182813 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/hello_watchlocation/TestWatchLocation.py
atchpoint/watchpoint_set_command/TestWatchLocationWithWatchSet.py
3bd2ebd670677dae45010bf53084ff85da7c6a5e 29-May-2013 Andrew Kaylor <andrew.kaylor@intel.com> Adding support for stopping all threads of multithreaded inferiors on Linux. Also adding multithreaded test cases.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182809 91177308-0d34-0410-b5e6-96231b3b80d8
hread/break_after_join/Makefile
hread/break_after_join/TestBreakAfterJoin.py
hread/break_after_join/main.cpp
hread/create_during_step/Makefile
hread/create_during_step/TestCreateDuringStep.py
hread/create_during_step/main.cpp
hread/exit_during_break/Makefile
hread/exit_during_break/TestExitDuringBreak.py
hread/exit_during_break/main.cpp
hread/exit_during_break/main.d.23591
hread/exit_during_break/main.d.23604
hread/exit_during_break/main.d.23614
hread/exit_during_step/Makefile
hread/exit_during_step/TestExitDuringStep.py
hread/exit_during_step/main.cpp
hread/multi_break/Makefile
hread/multi_break/TestMultipleBreakpoints.py
hread/multi_break/main.cpp
hread/state/Makefile
hread/state/TestThreadStates.py
hread/thread_exit/Makefile
hread/thread_exit/TestThreadExit.py
hread/thread_exit/main.cpp
48b6bd16cb9de51e1c3145623da3987e8414066d 22-May-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13455021>

Add test case to make sure we don't regress on fat files full of skinny BSD archives.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182440 91177308-0d34-0410-b5e6-96231b3b80d8
at_archives/Makefile
at_archives/TestFatArchives.py
at_archives/a.c
at_archives/a.h
at_archives/main.c
6f742d291c17607c98df40c9c46c0f65706ad49c 22-May-2013 Greg Clayton <gclayton@apple.com> Quiet the new exec test case down so it doesn't spew debug prints.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182429 91177308-0d34-0410-b5e6-96231b3b80d8
xec/TestExec.py
e3f9bfdfe3d09ef089f2aef3fb8701c8721f6f45 21-May-2013 Greg Clayton <gclayton@apple.com> Added a test case that verifies that LLDB can debug across a process exec'ing itself into a new program. This currently is only enabled for Darwin since we exec from 64 bit to 32 bit and vice versa for 'x86_64' targets.

This can easily be adapted for linux and other platforms, but I didn't want to break any buildbots by assuming it will work.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182428 91177308-0d34-0410-b5e6-96231b3b80d8
xec/Makefile
xec/TestExec.py
xec/main.cpp
bee8a95400b8cd67b1205f6e0bf913e2fbb312de 17-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Avoided the use of two test decorators with xfail/xpass logic in the same test.

- Used xfail and skip, temporarily, while resolving bugzilla #15671.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182159 91177308-0d34-0410-b5e6-96231b3b80d8
nferior-assert/TestInferiorAssert.py
b7d46e3862df0b72b07abab13b96e7898ddd4a1e 17-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Fix xpasses on the gcc buildbots using compiler versions to qualify the xfail.

- Note that this is not correct, as the failure is associated with build options of libc.so, however it's failing on a Debian buildbot that uses gcc 4.6.2 (and the real goal is a complete backtrace even with -fomit-frame-pointer).

- Adds helpers to lldbtest.py to check the expectedCompiler and expectedVersion, with an eventual goal of reducing the number of test decorators.
--- Currently allows a comparison operator and a compiler version to be specified.
--- Can be extended to support ranges of compiler versions.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182155 91177308-0d34-0410-b5e6-96231b3b80d8
nferior-assert/TestInferiorAssert.py
473d0da535b10bee7341002407cc3efd108bf2f9 17-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Modifies the log directory to ensure that the log file will be found on tear-down (i.e. for CI agents that clean up artifacts aggressively).

- Uses the cwd following the model of TestPublicAPIHeaders.py


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182116 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
5a7a23262e7f326162f4afd66ea494e9baa6bcb4 17-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Adds a test case for bugzilla #15671 patterned after TestInferiorCrashing.py.

- On Linux, the partial back-trace after an assert can cause the basic test to fail as discussed on lldb-dev.
- Uses SBFrame to walk up the stack to the assert site and tests expression evaluation of locals, globals and arguments.

Thanks to Daniel for review and testing on OS/X.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182115 91177308-0d34-0410-b5e6-96231b3b80d8
nferior-assert/Makefile
nferior-assert/TestInferiorAssert.py
nferior-assert/main.c
d968be79118d913ad07bcd5df49d505d39832d18 17-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Uses a helper to consistently verify the stop reason in all tests.

- Also removes a redundant import statement.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182111 91177308-0d34-0410-b5e6-96231b3b80d8
nferior-crashing/TestInferiorCrashing.py
b3080feae3dbd7f60bd58c62f2da2602676e03d8 17-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Updated TestAbbreviations to reflect the changed output in r182068.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182104 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
88b7778e2332be09af5a56a04c274b4132c142c5 16-May-2013 Daniel Malea <daniel.malea@intel.com> Fix Linux 'platform status' command. Its output is now closer to that on Mac OS X
- resolves llvm.org/pr14806

Patch by Matthew Sorrels!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182030 91177308-0d34-0410-b5e6-96231b3b80d8
latform/TestPlatformCommand.py
6bc4dcdfbcdfa455299d2123011b82a77351ee72 15-May-2013 Daniel Malea <daniel.malea@intel.com> Clean up linux test decorators and add links to known bugs
- s/skipOnLinux/skipIfLinux/ to match style of every other decorator
- linkify bugizilla/PR numbers in comments

No intended change in functionality.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181913 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_script/TestCommandScript.py
ommand_script/import/TestImport.py
ompletion/TestCompletion.py
onditional_break/TestConditionalBreak.py
ata-formatter/data-formatter-stl/libcxx/iterator/TestDataFormatterLibccIterator.py
ata-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py
ata-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
ata-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
ata-formatter/data-formatter-stl/libcxx/vbool/TestDataFormatterLibcxxVBool.py
ata-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
ata-formatter/data-formatter-stl/libstdcpp/string/TestDataFormatterStdString.py
ata-formatter/data-formatter-stl/libstdcpp/vbool/TestDataFormatterStdVBool.py
ead-strip/TestDeadStrip.py
mbedded_interpreter/TestConvenienceVariables.py
xpr-doesnt-deadlock/TestExprDoesntBlock.py
nferior-crashing/TestInferiorCrashing.py
oad_unload/TestLoadUnload.py
latform/TestPlatformCommand.py
egister/TestRegisters.py
ingle-quote-in-filename-to-lldb/TestSingleQuoteInFilename.py
top-hook/TestStopHookMechanism.py
top-hook/multiple_threads/TestStopHookMultipleThreads.py
hread/state/TestThreadStates.py
atchpoint/multiple_threads/TestWatchpointMultipleThreads.py
ab23045a1e93bee0fb5d6b135f64bcb141ba90b7 15-May-2013 Daniel Malea <daniel.malea@intel.com> Re-enable tests disabled due to llvm.org/pr14541
- "platform process list" command works on Linux now
- "process attach -n" (attach to process by name also works on Linux now)



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181905 91177308-0d34-0410-b5e6-96231b3b80d8
latform/TestPlatformCommand.py
rocess_attach/TestProcessAttach.py
716624bd20f712a13a55c69128bc354b1f897fc8 15-May-2013 Daniel Malea <daniel.malea@intel.com> Revert r181833: lldb prompt issue still occurs on buildbot (http://lab.llvm.org:8011/builders/lldb-x86_64-linux/builds/4124)
- maybe consider checking in the 'good' version of libedit to avoid ancient system version



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181903 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
mbedded_interpreter/TestConvenienceVariables.py
ingle-quote-in-filename-to-lldb/TestSingleQuoteInFilename.py
db7e5006ee42ee569ddc4a708dae0d9f095bdf30 14-May-2013 Daniel Malea <daniel.malea@intel.com> Remove XFAIL from tests affected by llvm.org/pr-14637
- unable to repro locally, much like many people commenting on the issue



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181833 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
mbedded_interpreter/TestConvenienceVariables.py
ingle-quote-in-filename-to-lldb/TestSingleQuoteInFilename.py
ba50856a9fdb0af8e4be8cde0a931f25e317c3b3 14-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Avoid $rax for 32-bit inferiors to fix a failing i386 test on the darwin buildbots.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181789 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
aa44e6863d0ef7982ddbc8621b4d3d30ff920d70 14-May-2013 Andrew Kaylor <andrew.kaylor@intel.com> Adding new test cases for inferior crashing.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181742 91177308-0d34-0410-b5e6-96231b3b80d8
nferior-crashing/TestInferiorCrashing.py
2e4c63baa530e1a1952e5e44f8f3c26580f27544 13-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Prevent convenience registers from being included in "read register" as they are derived registers.

- Also refactors TestRegisters.py because test_convenience_registers_with_process_attach now fails with an assert.

TODO: Cross-reference the skipOnLinux decorator with a bugzilla report after root-causing this issue.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181737 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
de0201e8b6340994303dcd29526d633dcbca676e 13-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Fixed expression evaluation with convenience registers.

- Also improved test coverage for passing tests to include expr/x
and a sanity check for $eax as the lower half of $rax.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181727 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
1f85fa8c8611a175819009dd83e724b6788a6587 10-May-2013 Andrew Kaylor <andrew.kaylor@intel.com> Adding support for setting thread stop state when a process stops.

This re-submission of this patch fixes a problem where the code sometimes caused a deadlock. The Process::SetPrivateState method was locking the Process::m_private_state variable and then later calling ThreadList::DidStop, which locks the ThreadList mutex. Other methods in ThreadList which were being called from other threads lock the ThreadList mutex and then call Process::GetPrivateState which locks the Process::m_private_state mutex. To avoid deadlocks, Process::SetPrivateState now locks the ThreadList mutex before locking the Process::m_private_state mutex.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181609 91177308-0d34-0410-b5e6-96231b3b80d8
hread/state/TestThreadStates.py
92e33e925aeae87b3f91d8ec6ca585a6d9e13bfb 10-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Removed expectedFailureDarwin, and added a note about the disparity between the automated tests and testing at the lldb command-line.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181602 91177308-0d34-0410-b5e6-96231b3b80d8
nferior-crashing/TestInferiorCrashing.py
80a1fa60bff6a7ff9b68c2d79bac2d1dfba132ed 10-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Added an integration test to step through a crash and then test for globals, locals, arguments, registers and the back-trace.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181599 91177308-0d34-0410-b5e6-96231b3b80d8
nferior-crashing/TestInferiorCrashing.py
nferior-crashing/main.c
c73fedb63ab170d711fb73d198451eb8db710e8d 09-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Fixed "log enable linux registers" and added a test.
- Eliminated the use of static for methods that read m_register_infos, so that these routines can be implemented in the base class.
- Eliminated m_register_infos in the base class because this is not used when derived classes call UpdateRegisterInfo.
- Also moved the namespace using declarations from headers to source files.

Thanks to Daniel and Samuel for their review feedback.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181538 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
85e3c2f2f7e60a772f9fffa3fc42d46e493d198c 09-May-2013 Daniel Malea <daniel.malea@intel.com> Revert r181482 as it causes occasional hangs in LLDB buildbots

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181526 91177308-0d34-0410-b5e6-96231b3b80d8
hread/state/TestThreadStates.py
8c0c20a43f6231945d2d09d44df57f5516d681cb 09-May-2013 Enrico Granata <egranata@apple.com> Changing the std::map test case to use source breakpoints instead of relying on the nexting always "getting it right" to stop at the locations of interest
This should make us more robust in the face of changing compiler line tables and other library modifications



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181497 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
ata-formatter/data-formatter-stl/libcxx/map/main.cpp
2bbe7d5a4214688109024bbf8dab5d75c10c2316 09-May-2013 Greg Clayton <gclayton@apple.com> Fixed the process attach by name test to get the target _after_ doing process attach. Otherwise the target isn't valid. This fixes 2 test suite failures on darwin.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181488 91177308-0d34-0410-b5e6-96231b3b80d8
rocess_attach/TestProcessAttach.py
52e4391bf4239f770f856392869f652f5417f489 09-May-2013 Andrew Kaylor <andrew.kaylor@intel.com> Adding code to set thread state to stopped when the process stops.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181482 91177308-0d34-0410-b5e6-96231b3b80d8
hread/state/TestThreadStates.py
edeed2de0703606ef7d7a98c34e4059e505d0923 08-May-2013 Enrico Granata <egranata@apple.com> Test case added for importing packages



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181472 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_script/import/TestImport.py
ommand_script/import/thepackage/TPunitA.py
ommand_script/import/thepackage/TPunitB.py
ommand_script/import/thepackage/__init__.py
d1828c336c20c2f5fed25d1ed77e15d1224f51d0 08-May-2013 Matt Kopec <Matt.Kopec@intel.com> Mark multi-threaded watchpoint test as skip on Linux due to lldb assertions in the debian buildbot.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181454 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/multiple_threads/TestWatchpointMultipleThreads.py
afbb2f6d83eb42fa5ff4a48a455a80dfdb7dc6d2 08-May-2013 Matt Kopec <Matt.Kopec@intel.com> Fix assertion from previous fix for debian os watchpoints.

Also mark one of the tests as expected fail on Linux due to the debian fix.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181448 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/variable_out_of_scope/TestWatchedVarHitWhenInScope.py
4cb32485ce16bbfb356b43611529ee1353d66d6c 08-May-2013 Daniel Malea <daniel.malea@intel.com> Fix rdar-13338477 test-case for Linux.
- Using __builtin_trap confuses the stack unwinder
- __builtin_trap specific test will be added shortly



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181441 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/rdar-13338477/main.cpp
6c1a8cfbb81ae38aee68f281b2af4010044cc00d 08-May-2013 Andrew Kaylor <andrew.kaylor@intel.com> Adding support for process attach by pid on Linux.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181374 91177308-0d34-0410-b5e6-96231b3b80d8
onnect_remote/TestConnectRemote.py
rocess_attach/TestProcessAttach.py
3d4d51cd1bdef32ab61ba9e1de75d5a4f4c1dbed 07-May-2013 Matt Kopec <Matt.Kopec@intel.com> Add watchpoint support for Linux on 64-bit host.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181341 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
atchpoint/variable_out_of_scope/TestWatchedVarHitWhenInScope.py
atchpoint/watchpoint_commands/TestWatchpointCommands.py
atchpoint/watchpoint_commands/command/TestWatchpointCommandLLDB.py
atchpoint/watchpoint_commands/command/TestWatchpointCommandPython.py
atchpoint/watchpoint_commands/condition/TestWatchpointConditionCmd.py
atchpoint/watchpoint_events/TestWatchpointEvents.py
f9c47ac4149667367ae381515573fb90352529a6 04-May-2013 Greg Clayton <gclayton@apple.com> Fixed a test suite typo error that caused the test to fail.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181069 91177308-0d34-0410-b5e6-96231b3b80d8
rocess_attach/TestProcessAttach.py
52dd223e117b0d0b777ef2809e7d1b0d99b75dc6 03-May-2013 Andrew Kaylor <andrew.kaylor@intel.com> Adding test for non-API process attach

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180977 91177308-0d34-0410-b5e6-96231b3b80d8
rocess_attach/Makefile
rocess_attach/TestProcessAttach.py
rocess_attach/main.c
beb7ac727eed7c762cdf2056a3b67b81b5c45b90 03-May-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13788579>

TestRegisters failing on buildbot on MacOSX. Some registers that were valid for linux/freebsd, were not valid on MacOSX. The tests now allow a register be skipped if it doesn't exist on the host.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180961 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
ac874f9cd547aa5bfcc70d5e6ef3c3d63f275844 02-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Changing the test to use eax rather than rax for compatibility with i386.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180952 91177308-0d34-0410-b5e6-96231b3b80d8
nferior-crashing/TestInferiorCrashing.py
efc7e55e58ee54ffda4b8d95add7918291236e80 02-May-2013 Enrico Granata <egranata@apple.com> <rdar://problem/13338477>

clang sugarcoats expressions of the sort *(int (*)[3])foo where foo is an int* saying that their type class is Paren
This checkin updates our lookup tables to properly desugar Paren into the actual type of interest



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180938 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/rdar-13338477/Makefile
ata-formatter/rdar-13338477/Test-rdar-13338477.py
ata-formatter/rdar-13338477/main.cpp
c3ba2bf99025cc3bdec5821ce44bb37b2de66d87 01-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Refactored convenience register tests to provide some coverage on Linux that is not marked xfail.

- Also minor improvements to the comments and the expected results.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180876 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
fb8abab7116d56be42b8aa44da012ca68807f390 01-May-2013 Andrew Kaylor <andrew.kaylor@intel.com> Refactoring thread state tests to show individual failures

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180828 91177308-0d34-0410-b5e6-96231b3b80d8
hread/state/TestThreadStates.py
hread/state/main.c
1b3ac89c5faaf09e98447f497f884796e180cae9 26-Apr-2013 Andrew Kaylor <andrew.kaylor@intel.com> Removing invalid test cases from thread state test

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180613 91177308-0d34-0410-b5e6-96231b3b80d8
hread/state/TestThreadStates.py
66bd7d7ed3f05ea14fe0630726835ddeb2d07be7 25-Apr-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Adds 64-bit POSIX support for AVX
- Adds unique enums for ymm registers to the ABI and the POSIX register context.
- Reworks the register context data structures to support a union of FXSAVE and XSAVE
--- Allows the same code base to deal with the FPU independent of the availability of AVX.
- Determine if AVX is supported by attempting to read XSAVE using ptrace.
--- Support an extended register set for avx registers if available.
- Provide a mechanism to assemble/parse register halves into a single ymm buffer for use with RegisterValue.
--- Reworked Read/WriteRegister routines to read/write/parse ymm registers.

Adds tests for ymm register write with read-back, and expressions involving ymm registers.
- Tests vary depending on the availability of an avx register set.

Thanks to Daniel and Matt for their reviews.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180572 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
7b87e59a526b4ca68ae82a0c0c868acf266c168c 24-Apr-2013 Daniel Malea <daniel.malea@intel.com> Fix missing module name in expectedFailure calls



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180158 91177308-0d34-0410-b5e6-96231b3b80d8
hread/state/TestThreadStates.py
23176afa5f9be537392e6f7ee9a8678f32830e1a 23-Apr-2013 Andrew Kaylor <andrew.kaylor@intel.com> Adding basic test for thread state (See PR-15824)

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180149 91177308-0d34-0410-b5e6-96231b3b80d8
hread/state/Makefile
hread/state/TestThreadStates.py
hread/state/main.c
538d3054100ed53ffc78f382296e35505f4aa946 23-Apr-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Added 64-bit POSIX support to write floating-point vector registers.
- Includes tests that write, read and verify vector register content.

Reviewed by: Daniel Malea


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180143 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
cbeb328db1c28067b642ae70dac635366eb02b32 23-Apr-2013 Enrico Granata <egranata@apple.com> Splitting the appkit data formatters test in smaller test cases - this should enable us to get a more detailed perspective on which individual data formatters are broken

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180128 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
c582bbf6dbdded9e6e7e2b63ff7312728e6c8cea 23-Apr-2013 Daniel Malea <daniel.malea@intel.com> Fix linux argument completion with for "--" options (llvm.org/bugs/pr14425)

Patch by Yacine Belkadi!

When __GLIBC__ is defined, optind gets initialized to 0. So for the first parsed
option, parse_start is 0, too. If this option has no argument (Like "--continue"
of "process attach"), then the position stored is 0, instead of 1. This prevents
the completion later on in Options::HandleOptionCompletion() because the opt_pos
doesn't match the cursor_index.

Fix that by getting the option's position from the value of optind, as it's done
for the other types of options.

Re-enable test_process_attach_dash_dash_con() on Linux.

No regressions detected on Mac OS X (in TestCompletion.py)



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180114 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
3a5c74d169ae862dfe4ca1d04717d952bfaa1d18 23-Apr-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Added 64-bit POSIX support to write general-purpose floating-point registers.
- Includes tests that write, verify and restore floating-point register content using SBFrame.

Reviewed by: Daniel Malea


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180111 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
0c5fa86b75ea266d1ad85d68d613da6f41e47b45 23-Apr-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Splits register_commands into a passing test on Linux (to improve test coverage),
and a failing test for register expressions.

Also factors out common setup code in preparation to add a few new tests.
Reviewed by: Daniel Malea


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180109 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
c15fb8cd49dd876f992f7fa2d3984c0d93c17cf1 19-Apr-2013 Enrico Granata <egranata@apple.com> Adding a test case for the changes made to ValueObjects to use iteration instead of recursion for navigating to their root - beware: a regression here will most probably cause a crash instead of a failure

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179863 91177308-0d34-0410-b5e6-96231b3b80d8
ecursion/Makefile
ecursion/TestValueObjectRecursion.py
ecursion/main.cpp
c1fe32293be3a8795febd5769e185ca7dba8b43d 18-Apr-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Added unit tests for register read (should pass) and the expression interpreter (xfail) after the inferior has crashed.
- Thanks to Samuel Jacob for the related reproducer.

Reviewed by: Daniel Malea.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179788 91177308-0d34-0410-b5e6-96231b3b80d8
nferior-crashing/TestInferiorCrashing.py
ab8e00e51475b9148626bfdf99549b7ffc3d046d 13-Apr-2013 Sean Callanan <scallanan@apple.com> Added a SetData() method to ValueObject. This
lets a ValueObject's contents be set from raw
data. This has certain limitations (notably,
registers can only be set to data that is as
large as the register) but will be useful for
the new Materializer.

I also exposed this interface through SBValue.
I have added a testcase that exercises various
special cases of SBValue::SetData().


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179437 91177308-0d34-0410-b5e6-96231b3b80d8
et-data/Makefile
et-data/TestSetData.py
et-data/main.m
f95fc9e09fa0a32de0a3904a1517266df37e8bff 06-Apr-2013 Greg Clayton <gclayton@apple.com> Added support "__attribute__((__vector_size__(B)))" and "__attribute__((ext_vector_type(N)))".

Now we can:
1 - see the return value for functions that return types that use the "ext_vector_size"
2 - dump values that use the vector attributes ("expr $ymm0")
3 - modified the DWARF parser to correctly parse GNU vector types from the DWARF by turning them into clang::Type::ExtVector types instead of just standard arrays



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178924 91177308-0d34-0410-b5e6-96231b3b80d8
eturn-value/TestReturnValue.py
eturn-value/call-func.c
ff03cbca506f9528a95b40d532f4d9cb4175ac4d 30-Mar-2013 Enrico Granata <egranata@apple.com> Fixing Python commands test cases to work even after removing Printf
(and using the new syntax for printing :-)



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178389 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_script/import/bar/bar.py
ommand_script/import/foo/bar/foobar.py
ommand_script/import/foo/foo.py
ommand_script/import/foo/foo2.py
ommand_script/welcome.py
ce5a73b371238362897de073746140750963dc7e 28-Mar-2013 Enrico Granata <egranata@apple.com> Making the buildbot happy again after changes to the default formatter for char[]


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178295 91177308-0d34-0410-b5e6-96231b3b80d8
lias/TestAliases.py
0852cbb9660c92a448468a8ec7c39fb7245eca57 28-Mar-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Introduces extended register sets whose availability can vary with the target processor.
- Includes a stub for AVX support in the x86-64 register context and a failing test for register sets that are unavailable.

Thanks to Greg Clayton for his review feedback.




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178252 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
944038ede7a3fd5db16deba31a479ef2c1f8e74d 28-Mar-2013 Enrico Granata <egranata@apple.com> This test case was not doing the right thing with libc++ being used and was generating spurious over-completion warning flags



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178192 91177308-0d34-0410-b5e6-96231b3b80d8
ype_completion/TestTypeCompletion.py
76fb323611cb6a51b6a44f6d38d32bb284a6aef9 26-Mar-2013 Enrico Granata <egranata@apple.com> Checking that the wrong syntax does not give a correct summary after clearing the error messages here



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177949 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py
d373fe06d7e7e9944870fe2699830e8d4aa9a15b 25-Mar-2013 Greg Clayton <gclayton@apple.com> Fix the buildbot so a LLDB test doesn't fail looking for "<invalid usage of pointer value as object>".



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177926 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py
5cc975bbbe2c7192039a1097150e3f94c628882c 25-Mar-2013 Enrico Granata <egranata@apple.com> These test cases fail on the buildbot - skip on Linux for now, will figure out why

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177879 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_script/TestCommandScript.py
ommand_script/import/TestImport.py
166b89f089d6bec5bb9dd40470a4dc951ffc9daa 19-Mar-2013 Greg Clayton <gclayton@apple.com> Fixed incorrect python that was trying to validate that we got a valid lldb.SBThread object by checking to see if it is equal to "None".

This test is incorrect as functions that return lldb.SBThread objects never return None, they just return lldb.SBThread objects that contain invalid opaque classes.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177416 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_conditions/TestBreakpointConditions.py
reakpoint/breakpoint_ignore_count/TestBreakpointIgnoreCount.py
xpr-doesnt-deadlock/TestExprDoesntBlock.py
9ae0efc6acbfee1c04f5f8d14d6387ab3fe5881e 15-Mar-2013 Jim Ingham <jingham@apple.com> Make the conditional break test case a little more robust.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@177196 91177308-0d34-0410-b5e6-96231b3b80d8
onditional_break/.lldb
onditional_break/TestConditionalBreak.py
onditional_break/conditional_break.py
8014368ef3f0d62c50e15856680b51cfaab860ea 06-Mar-2013 Greg Clayton <gclayton@apple.com> Now that "settings set" will strip leading and trailing spaces, we need a way to be able to specify string values that contain spaces. So now settings setting <property> <value>" can have a <value> that is quoted:

settings set prompt "(lldb2) "



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176545 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
bbreviation/change_prompt.lldb
9e0f5bee44b3a0606f7a1bda49e1920b9ec6ef41 05-Mar-2013 Matt Kopec <Matt.Kopec@intel.com> Add support on POSIX to determine if an inferior has changed while debugging it.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176492 91177308-0d34-0410-b5e6-96231b3b80d8
nferior-changed/TestInferiorChanged.py
dbd73cf5eb16e733b28e823554e1dacdba1ebd0b 05-Mar-2013 Daniel Malea <daniel.malea@intel.com> Un-skipping tests affected by llvm.org/pr15256

patch by Ashok Thirumurthi!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176462 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libstdcpp/iterator/TestDataFormatterStdIterator.py
ata-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py
ata-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
ata-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
ype_completion/TestTypeCompletion.py
atchpoint/hello_watchlocation/TestWatchLocation.py
atchpoint/watchpoint_set_command/TestWatchLocationWithWatchSet.py
atchpoint/watchpoint_set_command/TestWatchpointSetErrorCases.py
4a1c7c6a016d6d32c159af8e5e68d45e45ace2ce 05-Mar-2013 Daniel Malea <daniel.malea@intel.com> Fix makefile and re-enable test disabled due to llvm.org/pr15256
- fix is: don't pass incompatible -stdlib option when building with GCC



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176460 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-skip-summary/Makefile
ata-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py
36451fab1f3785dbc9103559b9c440f15cc5d03e 28-Feb-2013 Greg Clayton <gclayton@apple.com> Replace all "-gdwarf-2" with "-g" to use the compiler defaults.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176283 91177308-0d34-0410-b5e6-96231b3b80d8
oad_unload/Makefile
edc4ddbef15572e68a500bfb11ecfeaf60b90894 26-Feb-2013 Jim Ingham <jingham@apple.com> Mark a few more tests as "basic_process".


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176132 91177308-0d34-0410-b5e6-96231b3b80d8
xpr-doesnt-deadlock/TestExprDoesntBlock.py
oad_unload/TestLoadUnload.py
atchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
60139f32db191a977a198ac07ee12e19d6d1071b 26-Feb-2013 Jim Ingham <jingham@apple.com> Fix the .categories, it had "dataformatter" not "dataformatters".
Remove the getCategory from TestDataFormatterObjC.py, since it was superceded by the .categories file,
and didn't work anyway (getCategories currently has to be a method on the test class, not on the test.)
Add a "basic_process" category, and start to find some tests for simple process running sniff tests.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@176061 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/.categories
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
45fa511aeb31116f73a45d84c1c2d3a2200b2ce7 22-Feb-2013 Enrico Granata <egranata@apple.com> Fixing the watchpoint test case to reflect changes in error reporting



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175845 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/watchpoint_set_command/TestWatchpointSetErrorCases.py
dac068356f2be6e2becdac805697088b15e60c12 22-Feb-2013 Enrico Granata <egranata@apple.com> If the inferior program is compiled with libc++, you won't see libstdc++

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175832 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
f5c74cddf19aee672fc14b592f61a569020c9e54 21-Feb-2013 Daniel Malea <daniel.malea@intel.com> Mark test as expected-to-fail with GCC because some versions emit DWARF that claims
functions start at the line with the "{" character, whereas clang uses the first line
with source code. As such, this test case will only work with clang.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175808 91177308-0d34-0410-b5e6-96231b3b80d8
nline-stepping/TestInlineStepping.py
d7470c205e4f159a4e16937d0e0d31c069df6270 21-Feb-2013 Daniel Malea <daniel.malea@intel.com> Skip another two test cases on Linux that are affected by llvm.org/pr14637



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175801 91177308-0d34-0410-b5e6-96231b3b80d8
mbedded_interpreter/TestConvenienceVariables.py
ingle-quote-in-filename-to-lldb/TestSingleQuoteInFilename.py
004ccb3fcca8c8004cb6cdb1f383b02e792a0452 21-Feb-2013 Daniel Malea <daniel.malea@intel.com> Fix CommandObjectMultiword to initialize all members, and beef up corresponding test case.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175798 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_script/TestCommandScript.py
32d7ee3d2969211e104a27fcfcd636f249b26559 21-Feb-2013 Enrico Granata <egranata@apple.com> <rdar://problem/4529976>

Adding data formatters for iterators for std::map and std::vector (both libc++ and libstdcpp)
This does not include reverse iterators since they are both trickier (due to requirements the standard imposes on them) and much less useful



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175787 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libcxx/iterator/Makefile
ata-formatter/data-formatter-stl/libcxx/iterator/TestDataFormatterLibccIterator.py
ata-formatter/data-formatter-stl/libcxx/iterator/main.cpp
ata-formatter/data-formatter-stl/libstdcpp/iterator/Makefile
ata-formatter/data-formatter-stl/libstdcpp/iterator/TestDataFormatterStdIterator.py
ata-formatter/data-formatter-stl/libstdcpp/iterator/main.cpp
e2cc60eea81d4d1d037f675d6e59c5280ab123cb 20-Feb-2013 Daniel Malea <daniel.malea@intel.com> Skip TestCompletion case that fails on linux (with gcc) because the input prompt is not displayed (llvm.org/pr14637)



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175665 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
3ad56474f8fdd73b19d32cb253dcc788d0bfc0fc 19-Feb-2013 Daniel Malea <daniel.malea@intel.com> A few more GCC specific test fixes as per logged PRs:
- TestNamespace expected to fail due to PR-15302
- TestCPPBool and TestUnsignedTypes updated to handle GCC style debug information
- TestRvalueReferences expected fail due to GCC (4.7) not outputting rvalue-reference debug information
- TestDataFormatterStdVBool expected to fail due to PR-15301



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175551 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libstdcpp/vbool/TestDataFormatterStdVBool.py
8b5c29d670643d4c7c1c54b4f866ee65544cc902 19-Feb-2013 Daniel Malea <daniel.malea@intel.com> Minor test runner improvemenst
- rework the way SBDebugger.SetAsync() is used to avoid side effects (reset original value at TearDownHook)
- refactor expectedFailureClang (and add expectedFailureGcc decorator)
- mark TestChangeValueAPI.py as expectedFailureGcc due to PR-15039



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175523 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_script/TestCommandScript.py
306f0616720374be33171f32ff92568964b843c1 19-Feb-2013 Daniel Malea <daniel.malea@intel.com> Update TestVBool Makefile to allow building test program with gcc
- do not pass (incompatible option) -stdlib=libstdc++ option if using GCC as test compiler



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175522 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libstdcpp/vbool/Makefile
fa3a6706b42bddfece6f5ba96d82042c6494a912 19-Feb-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12529957>

Synthetic children provider for NSSet



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175468 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/rdar-12529957/Makefile
ata-formatter/rdar-12529957/TestRdar12529957.py
ata-formatter/rdar-12529957/main.m
ea68753ef4b8cca81cf3f5aef7bbf1ebb152a832 16-Feb-2013 Enrico Granata <egranata@apple.com> NSSet formatter is now C++ code
Split some NS* formatters in their own source files
Refactored a utility function for the C++ formatters to use
Fixed the skip-summary test case to be explicit about requiring libstdc++ for operation



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175323 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-skip-summary/Makefile
960a6ea95f5dba6885577803f2fe43e637f45e8e 15-Feb-2013 Daniel Malea <daniel.malea@intel.com> More test case cleanup (Linux and Mac):
- remove expectedFailure decorator from resolved rdar 12566646 and 10887661
- remove expectedFailure from TestBitfields testcase not actually affected by bug
- skip the (non-deterministic) TestStopHookMechanism.py to avoid a noisy suite on Linux



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175307 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/rdar-10887661/TestRdar10887661.py
top-hook/TestStopHookMechanism.py
5c5f01bceb15145647726b369e947c617d4697e9 15-Feb-2013 Daniel Malea <daniel.malea@intel.com> Fix misuse of python subprocess module (caused "leaking" processes and garbling the terminal)
- fixed cleanup of Popen objects by pushing spawn logic into test Base and out of test cases
- connect subprocess stdin to PIPE (rather than the parent's STDIN) to fix silent terminal issue

Tested on Linux and Mac OS X



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175301 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
23c29a1490bee032b41cac7f18f768edcfadce79 13-Feb-2013 Matt Kopec <Matt.Kopec@intel.com> Skip another two other tests asserting on Linux in RecordLayoutBuilder::updateExternalFieldOffset().


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175103 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
ata-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
d7d328f45f2fe7f7a3577e04bfd26a7dba06dce6 13-Feb-2013 Daniel Malea <daniel.malea@intel.com> Skip test that causes lldb to assert due to inferior getting a SIGSEGV with si_code == SI_KERNEL (PR-15258)
- crash does not always reproduce



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175095 91177308-0d34-0410-b5e6-96231b3b80d8
xpr-doesnt-deadlock/TestExprDoesntBlock.py
d288003f7ca875b1984858ead3f3397bd9c7997d 13-Feb-2013 Daniel Malea <daniel.malea@intel.com> Skip tests that assert on Linux in RecordLayoutBuilder::updateExternalFieldOffset()
- Filed bugzilla PR-15256



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175065 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py
ata-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py
ype_completion/TestTypeCompletion.py
atchpoint/hello_watchlocation/TestWatchLocation.py
atchpoint/watchpoint_set_command/TestWatchLocationWithWatchSet.py
atchpoint/watchpoint_set_command/TestWatchpointSetErrorCases.py
405ecbfdea16a073a11cc49d7e9a822e5509121b 13-Feb-2013 Daniel Malea <daniel.malea@intel.com> Disable TestConditionalBreak.py due to Linux crash
- test was passing before r174793...



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175064 91177308-0d34-0410-b5e6-96231b3b80d8
onditional_break/TestConditionalBreak.py
89e248f04ecb87d0df4a4b96158c3fac0a3e43c7 09-Feb-2013 Jim Ingham <jingham@apple.com> Reworked the way Process::RunThreadPlan and the ThreadPlanCallFunction interoperate to fix problems where
hitting auto-continue signals while running a thread plan would cause us to lose control of the debug
session.

<rdar://problem/12993641>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174793 91177308-0d34-0410-b5e6-96231b3b80d8
onditional_break/conditional_break.py
240a2ccb72decac5a7eec6a8e4bc1b0a3ce507dd 06-Feb-2013 Daniel Malea <daniel.malea@intel.com> Fix to build tests with GCC: update makefiles in two watchpoint testcases



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174520 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/hello_watchlocation/Makefile
atchpoint/multiple_threads/Makefile
e5ab51319c5650ede45fcef7132ac5c4248074cb 05-Feb-2013 Enrico Granata <egranata@apple.com> Being explicit about which std c++ library these test cases need to use



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174437 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libstdcpp/list/Makefile
ata-formatter/data-formatter-stl/libstdcpp/map/Makefile
ata-formatter/data-formatter-stl/libstdcpp/string/Makefile
ata-formatter/data-formatter-stl/libstdcpp/vbool/Makefile
ata-formatter/data-formatter-stl/libstdcpp/vector/Makefile
689696c19cbf0fa8a09e2461f0aaa37409782e3b 04-Feb-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12953018>

Synthetic children and summary for std::vector<bool> (for both libcxx and libstdcpp).
std::vector<bool> is a special case and is custom-implemented to be a vector of bits, which means we failed to handle it with the standard std::vector<T> formatter.
This checkin provides custom formatters that work correctly



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@174333 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libcxx/vbool/Makefile
ata-formatter/data-formatter-stl/libcxx/vbool/TestDataFormatterLibcxxVBool.py
ata-formatter/data-formatter-stl/libcxx/vbool/main.cpp
ata-formatter/data-formatter-stl/libstdcpp/vbool/Makefile
ata-formatter/data-formatter-stl/libstdcpp/vbool/TestDataFormatterStdVBool.py
ata-formatter/data-formatter-stl/libstdcpp/vbool/main.cpp
f509c5ec066599a3399fced39ea36996184939e8 29-Jan-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12978143>

Data formatters now cache themselves.
This commit provides a new formatter cache mechanism. Upon resolving a formatter (summary or synthetic), LLDB remembers the resolution for later faster retrieval.
Also moved the data formatters subsystem from the core to its own group and folder for easier management, and done some code reorganization.
The ObjC runtime v1 now returns a class name if asked for the dynamic type of an object. This is required for formatters caching to work with the v1 runtime.
Lastly, this commit disposes of the old hack where ValueObjects had to remember whether they were queried for formatters with their static or dynamic type.
Now the ValueObjectDynamicValue class works well enough that we can use its dynamic value setting for the same purpose.




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173728 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/rdar-12437442/TestRdar12437442.py
87a5c11cf39eb6d1974a470694afb0c265f0221e 25-Jan-2013 Daniel Malea <daniel.malea@intel.com> Update test scripts and Makefiles to allow testing with GCC:
- introduce new variable ARCHFLAG in make/Makefile.rules to switch between "-arch" on Mac and "-m" everywhere else
- update testcase makefiles to use LD_EXTRAS instead of LDFLAGS (the former interacts with Makefile.rules badly)
- special treatment for gcc 4.6: replace "-std=c++11" with "-std=c++0x" as the former is not handled correctly
- remove hardcoded "-arch" from test Makefile

This patch should not have any effect on lldb on Mac OS X.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173402 91177308-0d34-0410-b5e6-96231b3b80d8
top-hook/multiple_threads/Makefile
hread/Makefile
atchpoint/watchpoint_set_command/Makefile
cd630e77e4236388ca7da8ba8c7565130b63a693 25-Jan-2013 Daniel Malea <daniel.malea@intel.com> Mark test cases affected by PR 15036 (GCC-generated DWARF causes parser crash)
- Add new decorator "@skipIfGcc" to lldbtest.py



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173394 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py
ata-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
0f9930b4f0604fd5c4c49480d01ea230eff66e3d 24-Jan-2013 Daniel Malea <daniel.malea@intel.com> Marking test cases with @expectedFailureLinux as per recently opened bugs
- PR 15038: missing wide char support on Linux
- PR 14600 - Exception state registers not supported on Linux
- PR 15039: SBProcess.GetSTDOUT() returns an empty buffer
- PR 15037: stop-hooks sometimes fail to fire on Linux



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173363 91177308-0d34-0410-b5e6-96231b3b80d8
top-hook/TestStopHookMechanism.py
4b6a267b4883ccfa6b6435025a7d282d36e21b77 24-Jan-2013 Daniel Malea <daniel.malea@intel.com> PR14426 (breakpoint hit count incorrect) is resolved.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173362 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_conditions/TestBreakpointConditions.py
6dca414f7c964176963cc14affe19e340f08a86b 22-Jan-2013 Enrico Granata <egranata@apple.com> lldb.thread is not to be used anymore

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@173119 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_script/mysto.py
15c1d3d6773de8fc5600a80b0b666eadfa5672d8 12-Jan-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12239827>

Making a summary for std::wstring as provided by libstdc++ along with a relevant test case



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@172286 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libstdcpp/string/Makefile
ata-formatter/data-formatter-stl/libstdcpp/string/TestDataFormatterStdString.py
ata-formatter/data-formatter-stl/libstdcpp/string/main.cpp
b6985793ce97364e6fa86643b942326b218dcb3d 12-Jan-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12239827>

Providing a data formatter for libc++ std::wstring
In the process, refactoring the std::string data formatter to be written in C++ so that commonalities between the two can be exploited
Also, providing a new API on the ValueObject to navigate a hierarchy by index-path
Lastly, an appropriate test case is included



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@172282 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libcxx/string/Makefile
ata-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
ata-formatter/data-formatter-stl/libcxx/string/main.cpp
3a91e146f4e40ce9b44af3619551f6b6d9bb3b7f 09-Jan-2013 Enrico Granata <egranata@apple.com> <rdar://problem/12028723>

Adding useful formatting options to the expression (expr) command.
As a side effect of this change, the -d option now supports the same three-values enumeration that frame variables uses (run, don't run, none) instead of a boolean like it did previously

These options do not apply to print, p or po because these are aliased to not take any options.
In order to use them, use expression or expr.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@171993 91177308-0d34-0410-b5e6-96231b3b80d8
lias/TestAliases.py
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/rdar-12437442/TestRdar12437442.py
2976b65a7d5aeb7c80a1a2505251e02044e776a0 08-Jan-2013 Matt Kopec <Matt.Kopec@intel.com> Add test to check the number of threads.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@171869 91177308-0d34-0410-b5e6-96231b3b80d8
hread/Makefile
hread/TestNumThreads.py
hread/main.c
a3eb5cd43a23f6b072177f6064acc7f16200634d 08-Jan-2013 Daniel Malea <daniel.malea@intel.com> Enable ProcessGDBRemote plugin on Linux
- Fixes test case TestConnectRemote



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@171855 91177308-0d34-0410-b5e6-96231b3b80d8
onnect_remote/TestConnectRemote.py
1e44fddf7f0c75b275bea0d5a55b4be01240c01a 08-Jan-2013 Daniel Malea <daniel.malea@intel.com> Implement -w flag to process launch (allow launching inferior process in different working directory) on Linux/FreeBSD
- fixes test case TestProcessLaunch



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@171854 91177308-0d34-0410-b5e6-96231b3b80d8
rocess_launch/TestProcessLaunch.py
2fcbf6e3d86ac0e6a95e11e5e232a9f72bd612d2 08-Jan-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/12953853>

Setting breakpoints using "breakpoint set --selector <SEL>" previously didn't when there was no dSYM file.

Also fixed issues in the test suite that arose after fixing the bug.

Also fixed the log channels to properly ref count the log streams using weak pointers to the streams. This fixes a test suite problem that would happen when you specified a full path to the compiler with the "--compiler" option.




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@171816 91177308-0d34-0410-b5e6-96231b3b80d8
ead-strip/TestDeadStrip.py
c62d140d1f6f5d7455488531f3bb1445b5022279 05-Jan-2013 Daniel Malea <daniel.malea@intel.com> Mark TestPlatformCommand (test_status) as expected to fail on Linux
- due to bugzilla 14806 (platform status command prints more information on Mac OS X than on Linux)



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@171569 91177308-0d34-0410-b5e6-96231b3b80d8
latform/TestPlatformCommand.py
aec6b329fe4f96cd5a52d7a0cf54f74ae0d34e50 05-Jan-2013 Andrew Kaylor <andrew.kaylor@intel.com> Generalizing expected stop reason string checking in InferiorCrashing test case.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@171554 91177308-0d34-0410-b5e6-96231b3b80d8
nferior-crashing/TestInferiorCrashing.py
b928eaa5cae4a6f90d5b7c449abd1bad4daee5bf 21-Dec-2012 Andrew Kaylor <andrew.kaylor@intel.com> Updating TestAbbreviations.py to check for a reduced set of instructions when testing 'dis -f'.

Not all of the expected instructions were being generated for the function being disassembled on x86-64-based Linux. It had no push, pop or leave.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170818 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
76d64853d78a497667623904a8ad387954b5a467 20-Dec-2012 Andrew Kaylor <andrew.kaylor@intel.com> Setting TestInferiorChanged.py to expectedFailureLinux because of bugzilla 14662.

Note that the test actually fails before reaching the assertion described in that bug, but the failure is a trivial matter of adding OS-conditional expected stop reason strings (as noted by new comments in this patch). However, with the stop reason strings changed, the test fails for the more substantial reason noted in bugzilla 14662.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170619 91177308-0d34-0410-b5e6-96231b3b80d8
nferior-changed/TestInferiorChanged.py
790c8690f120d55a28890bee6436d2d82e0647e0 20-Dec-2012 Andrew Kaylor <andrew.kaylor@intel.com> Mark register tests as expectedFailureLinux because of bugzilla reports 14600 and 14661.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170605 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
5ac8e153b1f434a200998862dd6d34b2bf119fbd 20-Dec-2012 Daniel Malea <daniel.malea@intel.com> Disable confirmation prompt in TestProcessLaunch (to avoid hang on Linux once bug is fixed)



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170603 91177308-0d34-0410-b5e6-96231b3b80d8
rocess_launch/TestProcessLaunch.py
282c22c6a6b6e54324b0d474b90d918bbfd3a10e 20-Dec-2012 Sean Callanan <scallanan@apple.com> This patch removes the SymbolFileSymtab support
for reporting class types from Objective-C runtime
class symbols. Instead, LLDB now queries the
Objective-C runtime for class types.

We have also added a (minimal) Objective-C runtime
type vendor for Objective-C runtime version 1, to
prevent regressions when calling class methods in
the V1 runtime.

Other components of this fix include:

- We search the Objective-C runtime in a few more
places.

- We enable enumeration of all members of
Objective-C classes, which Clang does in certain
circumstances.

- SBTarget::FindFirstType and SBTarget::FindTypes
now query the Objective-C runtime as needed.

- I fixed several test cases.

<rdar://problem/12885034>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170601 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/rdar-11988289/TestRdar 11988289.py
ata-formatter/rdar-11988289/main.m
b3ce032bc514c40442929f5eb982584341dc8119 19-Dec-2012 Andrew Kaylor <andrew.kaylor@intel.com> Skip libc++ data formatter tests on Linux because there is no standard location for the makefile to find libc++.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170575 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py
ata-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
ata-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
3a4e7856369e950679a6f2154a85cd183afb3475 19-Dec-2012 Daniel Malea <daniel.malea@intel.com> Test suite cleanup for Linux: mark test cases expected to fail due to open bugzillas
- bugzillas covered: 14323, 14600, 14541, 14437, 14540, 14541



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170564 91177308-0d34-0410-b5e6-96231b3b80d8
xpr-doesnt-deadlock/TestExprDoesntBlock.py
latform/TestPlatformCommand.py
egister/TestRegisters.py
top-hook/multiple_threads/TestStopHookMultipleThreads.py
9c970a371511a0e31ba9360aa841d445792c1ab0 18-Dec-2012 Jim Ingham <jingham@apple.com> Adding events when watchpoints are set or changed.

<rdar://problem/11597849>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170400 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/watchpoint_events/Makefile
atchpoint/watchpoint_events/TestWatchpointEvents.py
atchpoint/watchpoint_events/main.c
329965139bb7a7d6cf9b0ec38845faaa834b8881 14-Dec-2012 Andrew Kaylor <andrew.kaylor@intel.com> Skipping the DeadStripTestCase.test_with_dwarf test on Linux because the Linux ld lacks support for the -dead_strip option.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170244 91177308-0d34-0410-b5e6-96231b3b80d8
ead-strip/TestDeadStrip.py
3ce94041919b44e247c134663281acf3f696b094 14-Dec-2012 Enrico Granata <egranata@apple.com> <rdar://problem/11689939>

Supporting a compact display syntax for ObjC pointers where 0x00.....0 is replaced by a much more legible "nil"
e.g. this would show:
(NSArray *) $2 = nil
instead of:
(NSArray *) $2 = 0x0000000000000000 <nil>



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@170161 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
992d227ab9ef1a8ffabc138fd515fb667556ae10 12-Dec-2012 Enrico Granata <egranata@apple.com> Option changes:
the option to print the runtime-specific description has been modified in the frame variable, memory read and expression command.

All three commands now support a --object-description option, with a shortcut of -O (uppercase letter o)

This is a breaking change:
frame variable used --objc as the long option name
expression used -o as a shortcut
memory read uses --objd as the long option name

Hopefully, most users won't be affected by the change since people tend to access "expression --object-description" under the alias "po" which still works

The test suite has been tweaked accordingly.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169961 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
729e99e4623c57c9adba85ae2e4372f1dd4bd1c3 11-Dec-2012 Enrico Granata <egranata@apple.com> Adding a validation callback mechanism to OptionValueString (such a feature might theoretically be added to the general OptionValue base class should the need arise)
Using this mechanism, making sure that the options to pass a summary string or a named summary to frame variable do not have invalid values

<rdar://problem/11576143>



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169927 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-named-summaries/TestDataFormatterNamedSummaries.py
e9101f2b27ab3f462e05dd59f4dc5b58fef81f0e 11-Dec-2012 Enrico Granata <egranata@apple.com> <rdar://problem/12709976>

Adding a summary for NSError



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169792 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-objc/main.m
1a18dedca383e96145ae69bfa67d26a7ff6ddba7 04-Dec-2012 Daniel Malea <daniel.malea@intel.com> Mark TestConnectRemote.py as expected to fail on Linux due to bugzilla #14427



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169295 91177308-0d34-0410-b5e6-96231b3b80d8
onnect_remote/TestConnectRemote.py
6475c42148a8ea1ca86e5db465db7eca742d897d 04-Dec-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/12798131>

Cleaned up the option parsing code to always pass around the short options as integers. Previously we cast this down to "char" and lost some information. I recently added an assert that would detect duplicate short character options which was firing during the test suite.

This fix does the following:
- make sure all short options are treated as "int"
- make sure that short options can be non-printable values when a short option is not required or when an option group is mixed into many commands and a short option is not desired
- fix the help printing to "do the right thing" in all cases. Previously if there were duplicate short character options, it would just not emit help for the duplicates
- fix option parsing when there are duplicates to parse options correctly. Previously the option parsing, when done for an OptionGroup, would just start parsing options incorrectly by omitting table entries and it would end up setting the wrong option value



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169189 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_command/TestBreakpointCommand.py
reakpoint/breakpoint_conditions/TestBreakpointConditions.py
ata-formatter/data-formatter-advanced/TestDataFormatterAdv.py
ata-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
ata-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py
ata-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py
ata-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
ata-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py
ata-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
ata-formatter/data-formatter-synth/TestDataFormatterSynth.py
ata-formatter/rdar-11988289/TestRdar 11988289.py
ata-formatter/rdar-12437442/TestRdar12437442.py
top-hook/multiple_threads/TestStopHookMultipleThreads.py
atchpoint/watchpoint_commands/command/TestWatchpointCommandLLDB.py
atchpoint/watchpoint_commands/command/TestWatchpointCommandPython.py
atchpoint/watchpoint_commands/condition/TestWatchpointConditionCmd.py
e5aa0d42b55ff6510888c737ef731f3fc1b54bb2 26-Nov-2012 Daniel Malea <daniel.malea@intel.com> Fix for TestSharedLib.py (on Linux)
- use lldb 'settings' command to help testcase find shared library
- pull up dyldPath variable from TestLoadUnload.py to fixture base class (applicable in multiple cases)



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168612 91177308-0d34-0410-b5e6-96231b3b80d8
oad_unload/TestLoadUnload.py
40c9d75f2f6402227fed4e0a25daf18b683cb5e7 23-Nov-2012 Daniel Malea <daniel.malea@intel.com> Update test status on Linux
- add decorators @expectedFailLinux and @skipOnLinux
- skip/mark xfail cases due to open bugzillas # 14323, 14416, 14423, 14424, 14425, 14426

Patch by Ashok Thirumurthi!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168529 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_conditions/TestBreakpointConditions.py
ompletion/TestCompletion.py
oad_unload/TestLoadUnload.py
atchpoint/hello_watchlocation/TestWatchLocation.py
atchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
atchpoint/multiple_threads/TestWatchpointMultipleThreads.py
atchpoint/watchpoint_commands/TestWatchpointCommands.py
atchpoint/watchpoint_commands/command/TestWatchpointCommandLLDB.py
atchpoint/watchpoint_commands/command/TestWatchpointCommandPython.py
atchpoint/watchpoint_commands/condition/TestWatchpointConditionCmd.py
atchpoint/watchpoint_set_command/TestWatchLocationWithWatchSet.py
bd316191d36ae90e0f2e9acfe995a96167111395 21-Nov-2012 Daniel Malea <daniel.malea@intel.com> Disable darwin-specific test on non-darwin platforms



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168454 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/rdar-10642615/Test-rdar-10642615.py
169cd51c9e085a2140c2b4f54f87c68f1cc4d859 21-Nov-2012 Daniel Malea <daniel.malea@intel.com> Linux test case fixes
- missing includes in cpp test programs
- mismatched dwarf/dsym test cases
- make "com.apple.main-thread" expected string conditional on darwin platform



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168452 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_script/main.cpp
c676e354ced3231e1361b7788e22d787ccfff603 20-Nov-2012 Daniel Malea <daniel.malea@intel.com> Clear auto-confirm setting on teardown for tests that use it



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168382 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_command/TestBreakpointCommand.py
c09b5c12fb22024aff9be90ad9106c4a27be9f62 20-Nov-2012 Daniel Malea <daniel.malea@intel.com> Use auto-confirm setting to avoid prompts causing some tests to appear to hang
- this commit addresses bugzilla #14385



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168375 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_command/TestBreakpointCommand.py
7d5e4064d4b2860e1130c4391069c64303e8cfa3 19-Nov-2012 Daniel Malea <daniel.malea@intel.com> Temporarily skip tests known to hang on Linux
- opened bugzilla defects #14384 and #14385



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168323 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_command/TestBreakpointCommand.py
3a11712925ca1038a1c8c8c8eef29ca4d5fd1c6f 17-Nov-2012 Filipe Cabecinhas <me@filcab.net> Fix expected error message in test.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168220 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_script/import/rdar-12586188/TestRdar12586188.py
0dd2fc716bf19f1bc87535a5bc613d5b17afeeab 09-Nov-2012 Jason Molenda <jmolenda@apple.com> Patch from Dan Malea daniel.malea@gmail.com to add some required
flags to the Linux makefiles to get the tests to run.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@167600 91177308-0d34-0410-b5e6-96231b3b80d8
xpr-doesnt-deadlock/Makefile
top-hook/multiple_threads/Makefile
atchpoint/hello_watchlocation/Makefile
atchpoint/multiple_threads/Makefile
atchpoint/watchpoint_set_command/Makefile
fd670c24e72a1425434020483689c3cb17f0d975 31-Oct-2012 Enrico Granata <egranata@apple.com> <rdar://problem/12586188> Make ImportError a special case for "command script import", such that the error message for the exception becomes the error for the entire import operation
and silence the backtrace printout

In the process, refactor the Execute* commands in ScriptInterpreter to take an options object, and add a new setting to not mask out errors so that the callers can handle them directly
instead of having the default behavior



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@167067 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_script/import/rdar-12586188/Makefile
ommand_script/import/rdar-12586188/TestRdar12586188.py
ommand_script/import/rdar-12586188/fail12586188.py
ommand_script/import/rdar-12586188/fail212586188.py
9d9b06382e438743fb3461f54257c58a776ea194 26-Oct-2012 Filipe Cabecinhas <me@filcab.net> Add a teardown function to TestAbbreviations so it doesn't error out when running for two archs.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166740 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
b2c1a4102e3bc13ac89d605fbe524d60daf5e5de 24-Oct-2012 Greg Clayton <gclayton@apple.com> Patch from Ashok Thirumurthi that enabled FPU registers for POSIX x86_64.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166604 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
251729ef30fde23e4b1256690fbb60962390e560 24-Oct-2012 Enrico Granata <egranata@apple.com> <rdar://problem/12523238> Commit 3 of 3

Changed all relevant test cases to verify that MightHaveChildren() works correctly for objects of interest
Added a bunch of convenience methods for test cases to use: target(), process(), thread() and frame() which mimic the lldb.X convenience variables
As a bonus, edited the documentation on the website to describe the new method available for synthetic children providers writers to implement!

That's all folks!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166535 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py
ata-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
ata-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py
ata-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
ata-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
ata-formatter/rdar-11086338/TestRdar11086338.py
ata-formatter/rdar-11988289/TestRdar 11988289.py
9e376625d6354d77cd6240007f0d42034dd3f1ee 23-Oct-2012 Jim Ingham <jingham@apple.com> Watchpoints remember the type of the expression or variable they were set with, and use
it to print the old and new values.
Temporarily disable the "out of scope" checking since it didn't work correctly, and was
not what people generally expected watchpoints to be doing.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166472 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/variable_out_of_scope/TestWatchedVarHitWhenInScope.py
atchpoint/watchpoint_commands/command/TestWatchpointCommandLLDB.py
atchpoint/watchpoint_commands/command/TestWatchpointCommandPython.py
01458ca40d79e33ee440e5d48dfdd92503f77dfe 23-Oct-2012 Enrico Granata <egranata@apple.com> <rdar://problem/12500212> Test case for the new plugin feature

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166453 91177308-0d34-0410-b5e6-96231b3b80d8
lugins/commands/Makefile
lugins/commands/TestPluginCommands.py
lugins/commands/plugin.cpp
3d656c729a1ed0abad4e5a2d76f6e8a6904f66aa 22-Oct-2012 Enrico Granata <egranata@apple.com> <rdar://problem/12437442>
Given our implementation of ValueObjects we could have a scenario where a ValueObject has a dynamic type of Foo* at one point, and then its dynamic type changes to Bar*
If Bar* has synthetic children enabled, by the time we figure that out, our public API is already vending SBValues wrapping a DynamicVO, instead of a SyntheticVO and there was
no trivial way for us to change the SP inside an SBValue on the fly
This checkin reimplements SBValue in terms of a wrapper, ValueImpl, that allows this substitutions on-the-fly by overriding GetSP() to do The Right Thing (TM)
As an additional bonus, GetNonSyntheticValue() now works, and we can get rid of the ForceDisableSyntheticChildren idiom in ScriptInterpreterPython
Lastly, this checkin makes sure the synthetic VOs get the correct m_value and m_data from their parents (prevented summaries from working in some cases)



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166426 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/rdar-12437442/Makefile
ata-formatter/rdar-12437442/TestRdar12437442.py
ata-formatter/rdar-12437442/main.m
c2bc7944f7c2f10114426f447259a35acb0b1e18 16-Oct-2012 Enrico Granata <egranata@apple.com> <rdar://problem/12446320> Fixing an issue with our Driver where setting an immediate output would not cause suppression of the final printout. This allows effective output redirection for Python commands

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@166058 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_script/welcome.py
6f01c93497df194b6f2194630a81e87d806ce0e0 12-Oct-2012 Jim Ingham <jingham@apple.com> Bunch of cleanups for warnings found by the llvm static analyzer.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@165808 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
2c56666dc5ab13b6299c0ef41439ded52bca5427 06-Oct-2012 Enrico Granata <egranata@apple.com> <rdar://problem/12426557> Fixing the NSIndexSet data formatter

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@165341 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/main.m
2753a024a5a314232baa579c0ada87551aa86988 05-Oct-2012 Jim Ingham <jingham@apple.com> Add one-shot breakpoints (-o option to "break set") and a tbreak alias for our gdb friends.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@165328 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
9abbfba957db139beed19866f61599424ddcd37a 04-Oct-2012 Enrico Granata <egranata@apple.com> <rdar://problem/12099592> Adding back a bunch of code-running summaries

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@165186 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-objc/main.m
57613985f9427579cd4919553858cdce5fa662e5 22-Sep-2012 Jim Ingham <jingham@apple.com> Missed a few places where I didn't delete the obsolete (commented out) version of the breakpoint creation.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164436 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_command/TestBreakpointCommand.py
ata-formatter/data-formatter-categories/TestDataFormatterCategories.py
atchpoint/watchpoint_commands/TestWatchpointCommands.py
atchpoint/watchpoint_commands/command/TestWatchpointCommandLLDB.py
431d839a33e9a274e705f7a268a1c9de2ffc2da2 22-Sep-2012 Jim Ingham <jingham@apple.com> Fix all the test case breakages caused by folks writing tests all over the place that depended explicitly
on the output of "break set". Please don't do this sort of thing!!!!!


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164433 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
bbreviation/TestCommonShortSpellings.py
lias/TestAliases.py
rchives/TestBSDArchives.py
reakpoint/breakpoint_command/TestBreakpointCommand.py
reakpoint/breakpoint_command/TestRegexpBreakCommand.py
reakpoint/breakpoint_conditions/TestBreakpointConditions.py
reakpoint/breakpoint_ids/TestBreakpointIDs.py
reakpoint/breakpoint_ignore_count/TestBreakpointIgnoreCount.py
reakpoint/breakpoint_locations/TestBreakpointLocations.py
reakpoint/inlined_breakpoints/TestInlinedBreakpoints.py
ata-formatter/data-formatter-advanced/TestDataFormatterAdv.py
ata-formatter/data-formatter-categories/TestDataFormatterCategories.py
ata-formatter/data-formatter-cpp/TestDataFormatterCpp.py
ata-formatter/data-formatter-disabling/TestDataFormatterDisabling.py
ata-formatter/data-formatter-globals/TestDataFormatterGlobals.py
ata-formatter/data-formatter-named-summaries/TestDataFormatterNamedSummaries.py
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-objc/main.m
ata-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
ata-formatter/data-formatter-python-synth/main.cpp
ata-formatter/data-formatter-script/TestDataFormatterScript.py
ata-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py
ata-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py
ata-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py
ata-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
ata-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
ata-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py
ata-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
ata-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
ata-formatter/data-formatter-synth/TestDataFormatterSynth.py
ata-formatter/rdar-10449092/Test-rdar-10449092.py
ata-formatter/rdar-10642615/Test-rdar-10642615.py
ata-formatter/rdar-10887661/TestRdar10887661.py
ata-formatter/rdar-11086338/TestRdar11086338.py
ata-formatter/rdar-11628688/TestFormattersBoolRefPtr.py
ata-formatter/rdar-11773899/TestFormattersBoolRefPtr.py
ata-formatter/rdar-11988289/TestRdar 11988289.py
ata-formatter/rdar-3534688/TestFormattersOneIsSingular.py
ata-formatter/rdar-9973865/Test-rdar-9973865.py
ata-formatter/rdar-9973992/Test-rdar-9973992.py
ata-formatter/rdar-9974002/Test-rdar-9974002.py
ead-strip/TestDeadStrip.py
nferior-changed/TestInferiorChanged.py
oad_unload/TestLoadUnload.py
emory/read/TestMemoryRead.py
on-overlapping-index-variable-i/TestIndexVariable.py
egister/TestRegisters.py
ignal/TestSendSignal.py
top-hook/TestStopHookCmd.py
arget_command/TestTargetCommand.py
ype_completion/TestTypeCompletion.py
atchpoint/hello_watchlocation/TestWatchLocation.py
atchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
atchpoint/multiple_threads/TestWatchpointMultipleThreads.py
atchpoint/variable_out_of_scope/TestWatchedVarHitWhenInScope.py
atchpoint/watchpoint_commands/TestWatchpointCommands.py
atchpoint/watchpoint_commands/command/TestWatchpointCommandLLDB.py
atchpoint/watchpoint_commands/command/TestWatchpointCommandPython.py
atchpoint/watchpoint_commands/condition/TestWatchpointConditionCmd.py
atchpoint/watchpoint_set_command/TestWatchLocationWithWatchSet.py
atchpoint/watchpoint_set_command/TestWatchpointSetErrorCases.py
ac3a8e2b8f5df868f86921d7231bda6356a1366b 21-Sep-2012 Enrico Granata <egranata@apple.com> Initial commit of a new testsuite feature: test categories.

This feature allows us to group test cases into logical groups (categories), and to only run a subset of test cases based on these categories.

Each test-case can have a new method getCategories(self): which returns a list of strings that are the categories to which the test case belongs.
If a test-case does not provide its own categories, we will look for categories in the class that contains the test case.
If that fails too, the default implementation looks for a .category file, which contains a comma separated list of strings.
The test suite will recurse look for .categories up until the top level directory (which we guarantee will have an empty .category file).

The driver dotest.py has a new --category <foo> option, which can be repeated, and specifies which categories of tests you want to run.
(example: ./dotest.py --category objc --category expression)

All tests that do not belong to any specified category will be skipped. Other filtering options still exist and should not interfere with category filtering.
A few tests have been categorized. Feel free to categorize others, and to suggest new categories that we could want to use.

All categories need to be validly defined in dotest.py, or the test suite will refuse to run when you use them as arguments to --category.

In the end, failures will be reported on a per-category basis, as well as in the usual format.

This is the very first stage of this feature. Feel free to chime in with ideas for improvements!


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164403 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
ata-formatter/.categories
ata-formatter/data-formatter-objc/.categories
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
xpr-doesnt-deadlock/.categories
ingle-quote-in-filename-to-lldb/TestSingleQuoteInFilename.py
defd0dc9331fbc7c8d0df60acf7fe63a64e393f4 18-Sep-2012 Enrico Granata <egranata@apple.com> <rdar://problem/12161825> Rephrase formatter for NSIndexSet in terms of indexes instead of objects

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164149 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/rdar-3534688/TestFormattersOneIsSingular.py
3a08fd1ab40ac76a732836ee5b1b5aa23605f669 18-Sep-2012 Enrico Granata <egranata@apple.com> <rdar://problem/11988289> Making C++ synthetic children provider for NSDictionary and related classes

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@164144 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/rdar-11988289/Makefile
ata-formatter/rdar-11988289/TestRdar 11988289.py
ata-formatter/rdar-11988289/main.m
f91e78f58692785db4daecf8461481b95827dcf2 13-Sep-2012 Enrico Granata <egranata@apple.com> <rdar://problem/11086338> Implementing support for synthetic children generated by running C++ code instead of Python scripts ; Adding a bunch of value-generating APIs to our private code layer ; Providing synthetic children for NSArray

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@163818 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/rdar-11086338/Makefile
ata-formatter/rdar-11086338/TestRdar11086338.py
ata-formatter/rdar-11086338/main.m
69f834fc45d92c3edd5350a0a2c090952a981f67 11-Sep-2012 Jim Ingham <jingham@apple.com> Shortcut ThreadPlanStepRange::MischiefManaged - if we have pushed new plans and they are not done, then we aren't done either.

<rdar://problem/12259124>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@163572 91177308-0d34-0410-b5e6-96231b3b80d8
nline-stepping/TestInlineStepping.py
ed293ed0b89e692f4220952fc7fbc8824db63a61 08-Sep-2012 Jim Ingham <jingham@apple.com> A bunch of test cases for inlined stepping.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@163436 91177308-0d34-0410-b5e6-96231b3b80d8
nline-stepping/Makefile
nline-stepping/TestInlineStepping.py
nline-stepping/calling.cpp
ae2ae94bd72daf435204e99a0e03ccc64470a843 04-Sep-2012 Enrico Granata <egranata@apple.com> <rdar://problem/11485744> Implement important data formatters in C++. Have the Objective-C language runtime plugin expose class descriptors objects akin to the objc_runtime.py Pythonic implementation. Rewrite the data formatters for some core Cocoa classes in C++ instead of Python.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@163155 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
49ce8969d3154e1560106cfe530444c09410f217 29-Aug-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/11757916>

Make breakpoint setting by file and line much more efficient by only looking for inlined breakpoint locations if we are setting a breakpoint in anything but a source implementation file. Implementing this complex for a many reasons. Turns out that parsing compile units lazily had some issues with respect to how we need to do things with DWARF in .o files. So the fixes in the checkin for this makes these changes:
- Add a new setting called "target.inline-breakpoint-strategy" which can be set to "never", "always", or "headers". "never" will never try and set any inlined breakpoints (fastest). "always" always looks for inlined breakpoint locations (slowest, but most accurate). "headers", which is the default setting, will only look for inlined breakpoint locations if the breakpoint is set in what are consudered to be header files, which is realy defined as "not in an implementation source file".
- modify the breakpoint setting by file and line to check the current "target.inline-breakpoint-strategy" setting and act accordingly
- Modify compile units to be able to get their language and other info lazily. This allows us to create compile units from the debug map and not have to fill all of the details in, and then lazily discover this information as we go on debuggging. This is needed to avoid parsing all .o files when setting breakpoints in implementation only files (no inlines). Otherwise we would need to parse the .o file, the object file (mach-o in our case) and the symbol file (DWARF in the object file) just to see what the compile unit was.
- modify the "SymbolFileDWARFDebugMap" to subclass lldb_private::Module so that the virtual "GetObjectFile()" and "GetSymbolVendor()" functions can be intercepted when the .o file contenst are later lazilly needed. Prior to this fix, when we first instantiated the "SymbolFileDWARFDebugMap" class, we would also make modules, object files and symbol files for every .o file in the debug map because we needed to fix up the sections in the .o files with information that is in the executable debug map. Now we lazily do this in the DebugMapModule::GetObjectFile()

Cleaned up header includes a bit as well.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162860 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/inlined_breakpoints/TestInlinedBreakpoints.py
a47e44b447750f33bff81995f41c4051fc699409 24-Aug-2012 Johnny Chen <johnny.chen@apple.com> rdar://problem/11811338

Add 'attach <pid>|<process-name>' command to lldb, as well as 'detach' which is an alias of 'process detach'.
Add two completion test cases for "attach" and "detach".


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162573 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
258db3ab3d02fc013f8674f3c20007c1e86b503d 24-Aug-2012 Johnny Chen <johnny.chen@apple.com> Cope with the case where the user-supplied callbacks want the watchpoint itself to be disabled!
Previously we put a WatchpointSentry object within StopInfo.cpp to disable-and-then-enable the watchpoint itself
while we are performing the actions associated with the triggered watchpoint, which can cause the user-initiated
watchpoint disabling action to be negated.

Add a test case to verify that a watchpoint can be disabled during the callbacks.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162483 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/watchpoint_commands/command/TestWatchpointCommandLLDB.py
5787f42c1bc0ff106665942c69ed2359ddde6641 23-Aug-2012 Johnny Chen <johnny.chen@apple.com> Make the substring un-matching more robust.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162467 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
806cfa2d88182066be64797d6790c5a8c441484c 23-Aug-2012 Johnny Chen <johnny.chen@apple.com> Make a test scenario stronger, since, by default, the setting interpreter.expand-regex-aliases is false.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162465 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
473481bea9ca860c37015943ac831bc341557e1f 23-Aug-2012 Johnny Chen <johnny.chen@apple.com> Fix the test suite failures as a result of r162418 check-in.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162462 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
bbreviation/TestCommonShortSpellings.py
58edac307c3c3c60db52a491c101b6565b9b234f 23-Aug-2012 Johnny Chen <johnny.chen@apple.com> rdar://problem/12022371

Make it so that "b 245" should set a breakpoint at line 245 of the current file.
Also add a simple test file.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162419 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_command/TestRegexpBreakCommand.py
73844aa19a7360b662e2be710fc3c969d6c86606 22-Aug-2012 Greg Clayton <gclayton@apple.com> Reimplemented the code that backed the "settings" in lldb. There were many issues with the previous implementation:
- no setting auto completion
- very manual and error prone way of getting/setting variables
- tons of code duplication
- useless instance names for processes, threads

Now settings can easily be defined like option values. The new settings makes use of the "OptionValue" classes so we can re-use the option value code that we use to set settings in command options. No more instances, just "does the right thing".



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@162366 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
ompletion/TestCompletion.py
top-hook/TestStopHookCmd.py
atchpoint/watchpoint_commands/TestWatchpointCommands.py
6c061beb3f9b60380b9638a4eacb3bc46ad38fc5 16-Aug-2012 Johnny Chen <johnny.chen@apple.com> rdar://problem/12096295

Add an lldb command line option to specify a core file: --core/-c.
For consistency, change the "target create" command to also use --core.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161993 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
0b09366e83f256920bb55ec7488cb58dfa85ab6b 14-Aug-2012 Johnny Chen <johnny.chen@apple.com> When trying to take snapshots of a watched variable, if the frame is unable to evaluate the variable expression,
do not take the sanpshot and forget about the stop info. It is possible that the variable expression has gone
out of scope, we'll revise the hit count due to the false alarms.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161892 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/variable_out_of_scope/Makefile
atchpoint/variable_out_of_scope/TestWatchedVarHitWhenInScope.py
atchpoint/variable_out_of_scope/main.c
2f7fd49190646e3e9bf603a142f64573b8666e0c 14-Aug-2012 Enrico Granata <egranata@apple.com> <rdar://problem/11589605> Making a
'type category enable *' command
to match 'type category disable *'

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161882 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-disabling/TestDataFormatterDisabling.py
c9c2a9b1c36e54220369c37cd8d859ed423d5b59 14-Aug-2012 Johnny Chen <johnny.chen@apple.com> Simplify the "Watchpoint ... hit" printout, make it more terse.
Change the test case, too.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161806 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/watchpoint_commands/command/TestWatchpointCommandLLDB.py
atchpoint/watchpoint_commands/command/TestWatchpointCommandPython.py
9e98559420d8c7c248b0c75b48db65ffd878402b 13-Aug-2012 Johnny Chen <johnny.chen@apple.com> rdar://problem/12007576

Record the snapshot of our watched value when the watchpoint is set or hit.
And report the old/new values when watchpoint is triggered. Add some test scenarios.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161785 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/watchpoint_commands/command/TestWatchpointCommandLLDB.py
atchpoint/watchpoint_commands/command/TestWatchpointCommandPython.py
atchpoint/watchpoint_commands/command/main.cpp
124e690a2fb97b00c5e55b73b81e750eaef909f6 11-Aug-2012 Jim Ingham <jingham@apple.com> Add an option to "process continue" to ignore the next <N> crossings of the breakpoint under
the currently selected thread.

<rdar://problem/10458225>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161723 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_ignore_count/TestBreakpointIgnoreCount.py
reakpoint/breakpoint_ignore_count/main.c
2836136b690421c75935e1d87c954331358b4e27 10-Aug-2012 Johnny Chen <johnny.chen@apple.com> Add command completion test case for 'watchpoint command'.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161684 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
f3ec4617297810223deb545cb68214ca4dd8009c 10-Aug-2012 Johnny Chen <johnny.chen@apple.com> rdar://problem/11457143 [ER] need "watchpoint command ..."

Add 'watchpoint command add/delete/list' to lldb, plus two .py test files.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161638 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/watchpoint_commands/command/Makefile
atchpoint/watchpoint_commands/command/TestWatchpointCommandLLDB.py
atchpoint/watchpoint_commands/command/TestWatchpointCommandPython.py
atchpoint/watchpoint_commands/command/main.cpp
879de484c7ef1d0971ac6c007b319b8285723e69 10-Aug-2012 Enrico Granata <egranata@apple.com> <rdar://problem/11578397> Adding a new --summary-string option for the frame variable command which allows the user to provide a summary string with which he wants to display the variables without having to make a named summary first

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161623 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-advanced/TestDataFormatterAdv.py
229946672e1720586ffddbfdf17e45df353083a5 09-Aug-2012 Jim Ingham <jingham@apple.com> Turn on function args by default in thread & frame formats.
<rdar://problem/11703715>


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161611 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
535543d6104ee45b4503db6bb6c175e66d0e093b 09-Aug-2012 Enrico Granata <egranata@apple.com> <rdar://problem/10449092> Adding a new uppercase hex format specifier. This commit also changes the short names for formats so that uppercase hex can be 'X', which was previously assigned to hex float. hex float now has no short name.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161606 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/rdar-10449092/Makefile
ata-formatter/rdar-10449092/Test-rdar-10449092.py
ata-formatter/rdar-10449092/main.cpp
76d834e83ebcce8c27728431e69c50d772a9f2e9 09-Aug-2012 Sean Callanan <scallanan@apple.com> Now that the testcase is fixed, it is no longer
an expected failure.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161556 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-cpp/TestDataFormatterCpp.py
9a56a71d5da638c79290e94f7ef510e38d6e48ef 09-Aug-2012 Enrico Granata <egranata@apple.com> <rdar://problem/12061386> Fixing data-formatter-cpp test case - previous version had an unfortunate dependency on the value of uninitialized memory

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161555 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-cpp/main.cpp
b842a112ef8d793ce3cd8733534f6efae11a11a7 09-Aug-2012 Sean Callanan <scallanan@apple.com> The C++ data formatter tests are flaky. Marking
them as expected failures until they are fixed.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161547 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-cpp/TestDataFormatterCpp.py
c1ca9dcd0e8a1c7c5a882281afdd2a5145026fd0 08-Aug-2012 Enrico Granata <egranata@apple.com> <rdar://problem/11975483> Removing user-visible references to 'dict' as a parameter name for Python summary-generating functions since it is a Python keyword.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@161467 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_command/TestBreakpointCommand.py
c1e15f869cb73559ae925c198efbd60db0b05c75 25-Jul-2012 Filipe Cabecinhas <me@filcab.net> Make git not delete some empty dirs. Otherwise a git checkout would be different from an svn checkout.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160717 91177308-0d34-0410-b5e6-96231b3b80d8
oad_unload/hidden/.keep
ingle-quote-in-filename-to-lldb/path with '09/.keep
2806c76ea35959ea5c63615a115499c41139a56a 19-Jul-2012 Filipe Cabecinhas <me@filcab.net> Make git not delete my_working_dir. Otherwise a git checkout would be different from an svn checkout.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160506 91177308-0d34-0410-b5e6-96231b3b80d8
rocess_launch/my_working_dir/.keep
4ebd5cee6cad673b18e010f79aa8644dcf48e526 13-Jul-2012 Enrico Granata <egranata@apple.com> <rdar://problem/11773899> Formatters for BOOL* and BOOL&

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160181 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/rdar-11773899/Makefile
ata-formatter/rdar-11773899/TestFormattersBoolRefPtr.py
ata-formatter/rdar-11773899/main.mm
5cee84b4b542c3a48abd8c2ea1aeab92b773ec86 13-Jul-2012 Enrico Granata <egranata@apple.com> <rdar://problem/11628688> Making sure to use the ostype format for OSType values

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160180 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/rdar-11628688/Makefile
ata-formatter/rdar-11628688/TestFormattersBoolRefPtr.py
ata-formatter/rdar-11628688/main.mm
9aa80028ae8f7e570759617f7838bbf29fb26698 13-Jul-2012 Enrico Granata <egranata@apple.com> <rdar://problem/11753405> Making sure we deal correctly with signed NSNumber values

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160179 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-objc/main.m
a9dd2a05aa06f9f459ae71b4bde8d1029993d147 12-Jul-2012 Filipe Cabecinhas <me@filcab.net> Provide more information when process launch can't change directory to the
path passed with -w

Test this functionality.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@160130 91177308-0d34-0410-b5e6-96231b3b80d8
rocess_launch/TestProcessLaunch.py
126b344862371a40a492d11942bac8d3adcc6a25 29-Jun-2012 Enrico Granata <egranata@apple.com> <rdar://problem/11755446> Making sure to provide summaries for one more NSString subclass

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@159389 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-objc/main.m
dee13ce54bb21ba3cd113e22a3201c573ee54ba5 20-Jun-2012 Filipe Cabecinhas <me@filcab.net> Continue the cleanup started on r158737

Adds a utility class method to TestBase that checks and removes a temp
file.
Removed every use of system() to execute rm -f.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@158809 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_command/TestBreakpointCommand.py
a9e28873bb600d645b31c7d67c8b1a6448f276b7 19-Jun-2012 Johnny Chen <johnny.chen@apple.com> Test suite cleanup: use Python API to remove files as part of cleanup instead of running OS commands.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@158737 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
ingle-quote-in-filename-to-lldb/TestSingleQuoteInFilename.py
d1e0829de2ab90cb34d13b2776d3be3977355e5a 19-Jun-2012 Johnny Chen <johnny.chen@apple.com> rdar://problem/11649610
lldb confused by single quote in executable path

Also add a test case.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@158693 91177308-0d34-0410-b5e6-96231b3b80d8
ingle-quote-in-filename-to-lldb/Makefile
ingle-quote-in-filename-to-lldb/TestSingleQuoteInFilename.py
ingle-quote-in-filename-to-lldb/main.c
2ed5c75ae763897f215305b749ce37b1b8496bb2 08-Jun-2012 Johnny Chen <johnny.chen@apple.com> Add a test case for r158222.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@158232 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
3fcc91a73b0dc54c441ac1662728286a310bcb3e 08-Jun-2012 Filipe Cabecinhas <me@filcab.net> Fixed TestCompletion, broken by r158173

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@158207 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
e4b5ec026712d56f3cc259900f13158c47cb4d73 05-Jun-2012 Johnny Chen <johnny.chen@apple.com> rdar://problem/11597911

Fix confusing error message about "expression did not evaluate to an address" when doing 'watchpoint set expression".
Instead of using 0 as the fail_value when invoking ValueObject::GetValueAsUnsigned(), modify the API to take an addition
bool pointer (defaults to NULL) to indicate success/failure of value conversion.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@158016 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/watchpoint_set_command/TestWatchpointSetErrorCases.py
atchpoint/watchpoint_set_command/main.cpp
35f5dc76a37c7dca397566c34e4945f10ad163c1 29-May-2012 Johnny Chen <johnny.chen@apple.com> rdar://problem/11541676
Do not show the derived registers like "eax", ... for the vanilla "register read" command.
Also add a test scenario for that.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157647 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
e6adacf01c0ceaafeaaa4993821985a131821893 28-May-2012 Filipe Cabecinhas <me@filcab.net> Remove all written files

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157562 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_command/TestBreakpointCommand.py
e4f3cd7fb037f28484198787a465a5e94d12d2e9 25-May-2012 Johnny Chen <johnny.chen@apple.com> rdar://problem/11533713

Allow setting conditions inline with breakpoints. Add test cases.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157497 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_conditions/TestBreakpointConditions.py
7c09997f9a65bdfd9a0cbd7783d5a5f0a9f83646 24-May-2012 Johnny Chen <johnny.chen@apple.com> rdar://problem/11457634

Supports the use-case scenario of immediately continuing the process once attached.
Add a simple completion test case from "process attach --con" to "process attach --continue ".


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157361 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
7cbdcfb0cefcfd877b507ff2d83e51a1bde3fcc7 23-May-2012 Johnny Chen <johnny.chen@apple.com> Add the capability to display the number of supported hardware watchpoints to the "watchpoint list" command.

Add default Process::GetWatchpointSupportInfo() impl which returns an error of "not supported".
Add "qWatchpointSupportInfo" packet to the gdb communication layer to support this, and modify TestWatchpointCommands.py to test it.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157345 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/watchpoint_commands/TestWatchpointCommands.py
fc34abb897227f88f098854167d9f96822b8daf8 23-May-2012 Johnny Chen <johnny.chen@apple.com> Add more convenience registers to x86_64 and a simple test scenario:

self.expect("expr -- $ax == (($ah << 8) | $al)",
substrs = ['true'])


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157302 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
6b6031dad5c9452ea95bba3f92caf522bbab01f3 22-May-2012 Johnny Chen <johnny.chen@apple.com> Fix a typo.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157278 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
96bdd736136c0de0912de32a4bdd688ba589982f 22-May-2012 Johnny Chen <johnny.chen@apple.com> Add a test case to check that eax's content equals the lower half of rax.
Plus fix the test class name as well as wrong directory path.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157277 91177308-0d34-0410-b5e6-96231b3b80d8
egister/TestRegisters.py
3864f0484f642533233077ea43b1dacbbbe37508 19-May-2012 Johnny Chen <johnny.chen@apple.com> Add test cases where we start three worker threads, with a write watchpoint set. As soon as a watchpoint is hit in either of the worker thread,
we delete the watchpoint. The test succeeds when no more watchpoint hit event fires after the deletion of the watchpoint.

related to rdar://problem/11320188


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157084 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/multiple_threads/TestWatchpointMultipleThreads.py
cd1b7fcea31ee9006a0c3c604617b975053834d8 18-May-2012 Filipe Cabecinhas <me@filcab.net> Fixed the test for the new process launch abbreviation.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@157050 91177308-0d34-0410-b5e6-96231b3b80d8
lias/TestAliases.py
4bc8d16c0aeb8645a5ac70908639ca1e55018aab 17-May-2012 Filipe Cabecinhas <me@filcab.net> Warn the user when several commands match the input given.
Added a testcase.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156961 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
84923712ffb6fe83f41479491d71eb3f2d173ca4 16-May-2012 Filipe Cabecinhas <me@filcab.net> Cleanup after functionalities/alias/TestAliases.py

This test is run after TestAbbreviations and was making runCmd("h") fail
in that test, on the second tested architecture (two commands would be
avilable for "h": "help" and "hello").

Later I'm sending a patch for review to add some information to the error
message for that case.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156918 91177308-0d34-0410-b5e6-96231b3b80d8
lias/TestAliases.py
7461e23e97036324cca37b1adace76e247dbfb80 16-May-2012 Johnny Chen <johnny.chen@apple.com> Fix Makefile to pass the correct -arch flag to the toolchains.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156882 91177308-0d34-0410-b5e6-96231b3b80d8
oad_unload/Makefile
a695aa28bc34a0bc4d9b61e3752f7cff1454c39b 15-May-2012 Enrico Granata <egranata@apple.com> Fixing a bug where the summary for certain NSStrings was being returned as empty in spite of the string actually having a content

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156793 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-objc/main.m
07baf83fe7ae25ac87d38cd4fc19647b020adfad 08-May-2012 Enrico Granata <egranata@apple.com> <rdar://problem/11338654> Fixing a bug where having a summary for a bitfield without a format specified would in certain cases crash LLDB - This has also led to refactoring the by-type accessors for the data formatter subsystem. These now belong in our internal layer, and are just invoked by the public API stratum

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156429 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-advanced/TestDataFormatterAdv.py
ata-formatter/data-formatter-advanced/main.cpp
6a043531452d1611abbabc8de8c130ad2eadba8a 03-May-2012 Enrico Granata <egranata@apple.com> Adding a new 'type category disable *' feature that disables all categories - This is intended as a quick kill switch for data formatters for cases where the user wants as little extra processing as possible to be done on their target, or to override major data formatters bug, should they occur

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@156044 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-disabling/Makefile
ata-formatter/data-formatter-disabling/TestDataFormatterDisabling.py
ata-formatter/data-formatter-disabling/main.cpp
ce035a0ad0a6d6f07c1acdc38bdab02a327052c1 26-Apr-2012 Enrico Granata <egranata@apple.com> Automatically enabling the Cocoa formatter categories for command-line LLDB. Previously, the categories were filled in but disabled by default. Tweaking test cases appropriately to keep working and do the right thing

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@155605 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/rdar-10642615/Test-rdar-10642615.py
ata-formatter/rdar-3534688/TestFormattersOneIsSingular.py
c315bdc8aa2ba51fca4d47bf61afa31c9118c0bd 25-Apr-2012 Enrico Granata <egranata@apple.com> Fixing a bunch of i386 testsuite failures

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@155510 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_script/TestCommandScript.py
ommand_script/import/TestImport.py
2a45d0e1d8ff6ac9c9e30b682c8dd8ed6d11a3c7 25-Apr-2012 Johnny Chen <johnny.chen@apple.com> Make the test case more robust in terms of remote testsuite execution.

rdar://problem/11312971


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@155505 91177308-0d34-0410-b5e6-96231b3b80d8
oad_unload/TestLoadUnload.py
79bdaddc38c5d20bf347fe98b4c129746bb66291 24-Apr-2012 Enrico Granata <egranata@apple.com> Removing the @expectedFailurei386 decorator from test cases that now work as a result of the latest changes to Value.cpp

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@155419 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py
ata-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
ata-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
ata-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py
ata-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
ata-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
e787c7ea61b1d857b56a0c42a1cf7535115ecbfc 20-Apr-2012 Jim Ingham <jingham@apple.com> Make sure the "synchronous breakpoint callbacks" get called before the thread plan logic gets invoked, and if they
ask to continue that should short-circuit the thread plans for that thread. Also add a bit more explanation for
how this machinery is supposed to work.
Also pass eExecutionPolicyOnlyWhenNeeded, not eExecutionPolicyAlways when evaluating the expression for breakpoint
conditions.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@155236 91177308-0d34-0410-b5e6-96231b3b80d8
oad_unload/TestLoadUnload.py
67130e42592e68c3055e7ab5b7a368d89a06f05e 19-Apr-2012 Johnny Chen <johnny.chen@apple.com> Add expected failure decorators for test cases which are failing for i386 architecture.
Plus fix some test cases to skip/succeed for i386.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@155087 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py
ata-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
ata-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
ata-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py
ata-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
ata-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
oad_unload/TestLoadUnload.py
21b1984e161b0cadee331d32bfd721eccfdf4b1f 06-Apr-2012 Johnny Chen <johnny.chen@apple.com> Second batch of adding @dsym_test/@dwarf_test decorators to existing test cases.
Plus some minor cleanup of test method names.
Third and final batch is coming.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@154197 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/hello_watchlocation/TestWatchLocation.py
atchpoint/multiple_threads/TestWatchpointMultipleThreads.py
atchpoint/watchpoint_commands/TestWatchpointCommands.py
atchpoint/watchpoint_commands/condition/TestWatchpointConditionCmd.py
atchpoint/watchpoint_set_command/TestWatchLocationWithWatchSet.py
a3ed7d834b0e0c6924ac95629e740682bbcd15ba 06-Apr-2012 Johnny Chen <johnny.chen@apple.com> Add a new option to the test driver, -N dsym or -N dwarf, in order to exclude tests decorated with
either @dsym_test or @dwarf_test to be executed during the testsuite run. There are still lots of
Test*.py files which have not been decorated with the new decorator.

An example:

# From TestMyFirstWatchpoint.py ->
class HelloWatchpointTestCase(TestBase):

mydir = os.path.join("functionalities", "watchpoint", "hello_watchpoint")

@dsym_test
def test_hello_watchpoint_with_dsym_using_watchpoint_set(self):
"""Test a simple sequence of watchpoint creation and watchpoint hit."""
self.buildDsym(dictionary=self.d)
self.setTearDownCleanup(dictionary=self.d)
self.hello_watchpoint()

@dwarf_test
def test_hello_watchpoint_with_dwarf_using_watchpoint_set(self):
"""Test a simple sequence of watchpoint creation and watchpoint hit."""
self.buildDwarf(dictionary=self.d)
self.setTearDownCleanup(dictionary=self.d)
self.hello_watchpoint()


# Invocation ->
[17:50:14] johnny:/Volumes/data/lldb/svn/ToT/test $ ./dotest.py -N dsym -v -p TestMyFirstWatchpoint.py
LLDB build dir: /Volumes/data/lldb/svn/ToT/build/Debug
LLDB-137
Path: /Volumes/data/lldb/svn/ToT
URL: https://johnny@llvm.org/svn/llvm-project/lldb/trunk
Repository Root: https://johnny@llvm.org/svn/llvm-project
Repository UUID: 91177308-0d34-0410-b5e6-96231b3b80d8
Revision: 154133
Node Kind: directory
Schedule: normal
Last Changed Author: gclayton
Last Changed Rev: 154109
Last Changed Date: 2012-04-05 10:43:02 -0700 (Thu, 05 Apr 2012)



Session logs for test failures/errors/unexpected successes will go into directory '2012-04-05-17_50_49'
Command invoked: python ./dotest.py -N dsym -v -p TestMyFirstWatchpoint.py
compilers=['clang']

Configuration: arch=x86_64 compiler=clang
----------------------------------------------------------------------
Collected 2 tests

1: test_hello_watchpoint_with_dsym_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
Test a simple sequence of watchpoint creation and watchpoint hit. ... skipped 'dsym tests'
2: test_hello_watchpoint_with_dwarf_using_watchpoint_set (TestMyFirstWatchpoint.HelloWatchpointTestCase)
Test a simple sequence of watchpoint creation and watchpoint hit. ... ok

----------------------------------------------------------------------
Ran 2 tests in 1.138s

OK (skipped=1)
Session logs for test failures/errors/unexpected successes can be found in directory '2012-04-05-17_50_49'
[17:50:50] johnny:/Volumes/data/lldb/svn/ToT/test $


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@154154 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
bbreviation/TestCommonShortSpellings.py
lias/TestAliases.py
reakpoint/breakpoint_command/TestBreakpointCommand.py
reakpoint/breakpoint_conditions/TestBreakpointConditions.py
reakpoint/breakpoint_ids/TestBreakpointIDs.py
reakpoint/breakpoint_ignore_count/TestBreakpointIgnoreCount.py
reakpoint/breakpoint_locations/TestBreakpointLocations.py
reakpoint/inlined_breakpoints/TestInlinedBreakpoints.py
ommand_script/TestCommandScript.py
onditional_break/TestConditionalBreak.py
ata-formatter/data-formatter-advanced/TestDataFormatterAdv.py
ata-formatter/data-formatter-categories/TestDataFormatterCategories.py
ata-formatter/data-formatter-cpp/TestDataFormatterCpp.py
ata-formatter/data-formatter-globals/TestDataFormatterGlobals.py
ata-formatter/data-formatter-named-summaries/TestDataFormatterNamedSummaries.py
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
ata-formatter/data-formatter-script/TestDataFormatterScript.py
ata-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py
ata-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py
ata-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py
ata-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
ata-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
ata-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py
ata-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
ata-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
ata-formatter/data-formatter-synth/TestDataFormatterSynth.py
ata-formatter/rdar-10642615/Test-rdar-10642615.py
ata-formatter/rdar-10887661/TestRdar10887661.py
ata-formatter/rdar-3534688/TestFormattersOneIsSingular.py
ata-formatter/rdar-9973865/Test-rdar-9973865.py
ata-formatter/rdar-9973992/Test-rdar-9973992.py
ata-formatter/rdar-9974002/Test-rdar-9974002.py
ead-strip/TestDeadStrip.py
mbedded_interpreter/TestConvenienceVariables.py
xpr-doesnt-deadlock/TestExprDoesntBlock.py
emory/read/TestMemoryRead.py
rocess_launch/TestProcessLaunch.py
eturn-value/TestReturnValue.py
ignal/TestSendSignal.py
top-hook/TestStopHookCmd.py
top-hook/TestStopHookMechanism.py
top-hook/multiple_threads/TestStopHookMultipleThreads.py
arget_command/TestTargetCommand.py
ype_completion/TestTypeCompletion.py
atchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
8ad21a888d8185b929c68fec52b571d823377b34 04-Apr-2012 Enrico Granata <egranata@apple.com> Adding a new --python-function (-F) option to breakpoint command add. The option allows the user to specify a Python function name instead of a Python oneliner or interactive script input as a breakpoint command

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@154026 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_command/TestBreakpointCommand.py
reakpoint/breakpoint_command/bktptcmd.py
80731ec9368b8e1cbfe093fb9ec257457ef29133 29-Mar-2012 Enrico Granata <egranata@apple.com> Fixing an issue where Unicode characters in an NSString were printed as escape sequences by the summary provider shipping with LLDB - Added relevant test case code. Bonus points for identifying the source of the quotes :-)

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153624 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-objc/main.m
bd5871561db60b84c38466534694ca246b60d108 29-Mar-2012 Enrico Granata <egranata@apple.com> Fixing an issue where saying 'po foo' made both the summary and the description for foo come out. If one is po'ing something they most probably only care about the description - We will not omit the summary

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153608 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
67812172eecc4426c17b25354af072f6a4a9aad9 27-Mar-2012 Enrico Granata <egranata@apple.com> adding a summary for Objective-C type 'Class'

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153541 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-objc/main.m
dba1de8d585f27601162f674d30ab71d9c83ccde 27-Mar-2012 Enrico Granata <egranata@apple.com> Synthetic values are now automatically enabled and active by default. SBValue is set up to always wrap a synthetic value when one is available.
A new setting enable-synthetic-value is provided on the target to disable this behavior.
There also is a new GetNonSyntheticValue() API call on SBValue to go back from synthetic to non-synthetic. There is no call to go from non-synthetic to synthetic.
The test suite has been changed accordingly.
Fallout from changes to type searching: an hack has to be played to make it possible to use maps that contain std::string due to the special name replacement operated by clang
Fixing a test case that was using libstdcpp instead of libc++ - caught as a consequence of said changes to type searching


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153495 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
ata-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
ata-formatter/data-formatter-stl/libcxx/map/main.cpp
ata-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py
ata-formatter/data-formatter-synth/TestDataFormatterSynth.py
dc0a38c5a727cae5362b218a3180d0f4265a619d 27-Mar-2012 Greg Clayton <gclayton@apple.com> <rdar://problem/11113279>

Fixed type lookups to "do the right thing". Prior to this fix, looking up a type using "foo::bar" would result in a type list that contains all types that had "bar" as a basename unless the symbol file was able to match fully qualified names (which our DWARF parser does not).

This fix will allow type matches to be made based on the basename and then have the types that don't match filtered out. Types by name can be fully qualified, or partially qualified with the new "bool exact_match" parameter to the Module::FindTypes() method.

This fixes some issue that we discovered with dynamic type resolution as well as improves the overall type lookups in LLDB.




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153482 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
ata-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
d44c9d31d23d0b44ce40325ad69226889a9638bc 24-Mar-2012 Enrico Granata <egranata@apple.com> Adding a new API call IsTypeComplete() to SBType. This call is meant to check if the type has been previously completed or not (which is mostly interesting from a performance point of view)

Adding a test case that checks that we do not complete types before due time. This should help us track cases similar to the cascading data formatters.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153363 91177308-0d34-0410-b5e6-96231b3b80d8
ype_completion/Makefile
ype_completion/TestTypeCompletion.py
ype_completion/main.cpp
f2cb7f275a8669eaef30a53c282db6ce9c03b332 22-Mar-2012 Enrico Granata <egranata@apple.com> Removing cascading through inheritance chains for data formatters
This is the feature that allowed the user to have things like:

class Base { ... };
class Derived : public Base { ... };

and have formatters defined for Base work automatically for Derived.

This feature turned out to be too expensive since it requires completing types.

This patch takes care of removing cascading (other than typedefs chain cascading), updating the test suite accordingly, and adding required Cocoa class names to keep the AppKit formatters working


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153272 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-categories/TestDataFormatterCategories.py
ata-formatter/data-formatter-categories/main.cpp
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
c811f9f60058121e53f2d6b30cb8fc112b13ba26 22-Mar-2012 Johnny Chen <johnny.chen@apple.com> Check in main.c modified for testing hardware watchpoints on arm architectures.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153268 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/hello_watchpoint/main.c
cf09f885c201becf51acc4a5cfac00b3df53f2a8 19-Mar-2012 Enrico Granata <egranata@apple.com> Massive enumeration name changes: a number of enums in ValueObject were not following the naming pattern
Changes to synthetic children:
- the update(self): function can now (optionally) return a value - if it returns boolean value True, ValueObjectSyntheticFilter will not clear its caches across stop-points
this should allow better performance for Python-based synthetic children when one can be sure that the child ValueObjects have not changed
- making a difference between a synthetic VO and a VO with a synthetic value: now a ValueObjectSyntheticFilter will not return itself as its own synthetic value, but will (correctly)
claim to itself be synthetic
- cleared up the internal synthetic children architecture to make a more consistent use of pointers and references instead of shared pointers when possible
- major cleanup of unnecessary #include, data and functions in ValueObjectSyntheticFilter itself
- removed the SyntheticValueType enum and replaced it with a plain boolean (to which it was equivalent in the first place)
Some clean ups to the summary generation code
Centralized the code that clears out user-visible strings and data in ValueObject
More efficient summaries for libc++ containers


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@153061 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-cpp/TestDataFormatterCpp.py
ata-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
ata-formatter/data-formatter-python-synth/fooSynthProvider.py
ata-formatter/data-formatter-python-synth/ftsp.py
ata-formatter/data-formatter-python-synth/main.cpp
ata-formatter/data-formatter-stl/libcxx/list/main.cpp
ata-formatter/data-formatter-stl/libcxx/vector/main.cpp
ata-formatter/data-formatter-synth/TestDataFormatterSynth.py
dbe2c827dfc16cbbaa1b33cc2d806368b9a0bea2 15-Mar-2012 Johnny Chen <johnny.chen@apple.com> Add a test case to go with <rdar://problem/11052829> and svn check-in r152809.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152825 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
7b9aacf4a454465af905e505f74245173714b23b 13-Mar-2012 Enrico Granata <egranata@apple.com> Changed several of the Cocoa formatters to match the output style that Xcode uses internally to provide summaries
This has been done for those summaries where the difference is only cosmetic (e.g. naming things as items instead of values, ...)
The LLDB output style has been preserved when it provides more information (e.g. telling the type as well as the value of an NSNumber)

Test cases have been updated to reflect the updated output style where necessary


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152592 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/rdar-3534688/TestFormattersOneIsSingular.py
66205ce5381ab6db1f9bff83c483a4dc5854afc7 12-Mar-2012 Enrico Granata <egranata@apple.com> Added formatters for libc++ (http://libcxx.llvm.org):
std::string has a summary provider
std::vector std::list and std::map have both a summary and a synthetic children provider
Given the usage of a custom namespace (std::__1::classname) for the implementation of libc++, we keep both libstdcpp and libc++ formatters enabled at the same time since that raises no conflicts and enabled for seamless transition between the two
The formatters for libc++ reside in a libcxx category, and are loaded from libcxx.py (to be found in examples/synthetic)

The formatters-stl test cases have been divided to be separate for libcxx and libstdcpp. This separation is necessary because
(a) we need different compiler flags for libc++ than for libstdcpp
(b) libc++ inlines a lot more than libstdcpp and some code changes were required to accommodate this difference


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152570 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/libcxx/list/Makefile
ata-formatter/data-formatter-stl/libcxx/list/TestDataFormatterLibcxxList.py
ata-formatter/data-formatter-stl/libcxx/list/main.cpp
ata-formatter/data-formatter-stl/libcxx/map/Makefile
ata-formatter/data-formatter-stl/libcxx/map/TestDataFormatterLibccMap.py
ata-formatter/data-formatter-stl/libcxx/map/main.cpp
ata-formatter/data-formatter-stl/libcxx/vector/Makefile
ata-formatter/data-formatter-stl/libcxx/vector/TestDataFormatterLibcxxVector.py
ata-formatter/data-formatter-stl/libcxx/vector/main.cpp
ata-formatter/data-formatter-stl/libstdcpp/list/Makefile
ata-formatter/data-formatter-stl/libstdcpp/list/TestDataFormatterStdList.py
ata-formatter/data-formatter-stl/libstdcpp/list/main.cpp
ata-formatter/data-formatter-stl/libstdcpp/map/Makefile
ata-formatter/data-formatter-stl/libstdcpp/map/TestDataFormatterStdMap.py
ata-formatter/data-formatter-stl/libstdcpp/map/main.cpp
ata-formatter/data-formatter-stl/libstdcpp/vector/Makefile
ata-formatter/data-formatter-stl/libstdcpp/vector/TestDataFormatterStdVector.py
ata-formatter/data-formatter-stl/libstdcpp/vector/main.cpp
ata-formatter/data-formatter-stl/list/Makefile
ata-formatter/data-formatter-stl/list/TestDataFormatterStdList.py
ata-formatter/data-formatter-stl/list/main.cpp
ata-formatter/data-formatter-stl/map/Makefile
ata-formatter/data-formatter-stl/map/TestDataFormatterStdMap.py
ata-formatter/data-formatter-stl/map/main.cpp
ata-formatter/data-formatter-stl/vector/Makefile
ata-formatter/data-formatter-stl/vector/TestDataFormatterStdVector.py
ata-formatter/data-formatter-stl/vector/main.cpp
1bc1caddf53e812ba87411f76fc15b7971930c22 07-Mar-2012 Johnny Chen <johnny.chen@apple.com> rdar://problem/10611315
expression command doesn't handle xmm or stmm registers...

o Update ClangASTContext::GetBuiltinTypeForEncodingAndBitSize() to now handle eEncodingVector.

o Modify RegisterValue::SetFromMemoryData() to fix the subtle error due to unitialized variables.

o Add a test file for "expr $xmm0".


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152190 91177308-0d34-0410-b5e6-96231b3b80d8
egister/Makefile
egister/TestRegisters.py
egister/main.cpp
323cec97d94bd1836e8c158e7065fdb5ad71ad48 07-Mar-2012 Enrico Granata <egranata@apple.com> Fixing some of the new Python formatters to report '1 object' instead of '1 objects'

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@152186 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/rdar-3534688/Makefile
ata-formatter/rdar-3534688/TestFormattersOneIsSingular.py
ata-formatter/rdar-3534688/main.m
b129ac0c509ade6e7a192dfdc1dc0d7fa0ee220b 03-Mar-2012 Enrico Granata <egranata@apple.com> Correct wrong values in the test case

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151982 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/rdar-10887661/TestRdar10887661.py
0467495c2c84a8f088993d04c96233aa0d98c914 03-Mar-2012 Enrico Granata <egranata@apple.com> Currently TestDataFormatterPythonSynth is failing because of an issue with children capping. Splitting the test case in two so we better isolate the issue and also for better logical separation

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151966 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
ata-formatter/rdar-10887661/Makefile
ata-formatter/rdar-10887661/TestRdar10887661.py
ata-formatter/rdar-10887661/fooSynthProvider.py
ata-formatter/rdar-10887661/main.cpp
de3b25b645e4b4d97a87ebf059056a6c696d4e9c 03-Mar-2012 Enrico Granata <egranata@apple.com> added a new formatter for CF(Mutable)BitVector
fixed a few potential NULL-pointer derefs in ValueObject
we have a way to provide docstrings for properties we add to the SWIG layer - a few of these properties have a docstring already, more will come in future commits
added a new bunch of properties to SBData to make it more natural and Python-like to access the data they contain

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151962 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-objc/main.m
23255c329d1177eae34bf159b0bd2e96d0043bde 02-Mar-2012 Enrico Granata <egranata@apple.com> having std::vector still show children even if it now has a builtin summary - having the std::vector test case deal with the fact that we now have said builtin summary

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151870 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/vector/TestDataFormatterStdVector.py
86fcb16c848b7503b2d082158886359ef76f1a84 02-Mar-2012 Enrico Granata <egranata@apple.com> (a) adding formatters for:
NSTimeZone and CFTimeZonRef
SEL and related types
CFGregorianDate


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151866 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-objc/main.m
83410e5e9e040ea5c6691f933aa9a6c4dcea4d8b 01-Mar-2012 Enrico Granata <egranata@apple.com> (a) adding an introspection formatter for NS(Mutable)IndexSet
(b) fixes and improvements to the formatters for NSDate and NSString
(c) adding an introspection formatter for NSCountedSet
(d) making the Objective-C formatters test cases pass on both 64 and 32 bit
one of the test cases is marked as expected failure on i386 - support needs to be added to the LLDB core for it to pass


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151826 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-objc/main.m
3069c62fc7d3c0b857cd1e9269ff22011ed418fb 01-Mar-2012 Enrico Granata <egranata@apple.com> 1) solving a bug where, after Jim's fixes to stack frames, synthetic children were not recalculated when necessary, causing them to get out of sync with live data
2) providing an updated list of tagged pointers values for the objc_runtime module - hopefully this one is final
3) changing ValueObject::DumpValueObject to use an Options class instead of providing a bulky list of parameters to pass around
this change had been laid out previously, but some clients of DumpValueObject() were still using the old prototype and some arguments
were treated in a special way and passed in directly instead of through the Options class
4) providing new GetSummaryAsCString() and GetValueAsCString() calls in ValueObject that are passed a formatter object and a destination string
and fill the string by formatting themselves using the formatter argument instead of the default for the current ValueObject
5) removing the option to have formats and summaries stick to a variable for the current stoppoint
after some debate, we are going with non-sticky: if you say frame variable --format hex foo, the hex format will only be applied to the current command execution and not stick when redisplaying foo
the other option would be full stickiness, which means that foo would be formatted as hex for its whole lifetime
we are open to suggestions on what feels "natural" in this regard


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151801 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-cpp/TestDataFormatterCpp.py
ata-formatter/data-formatter-named-summaries/TestDataFormatterNamedSummaries.py
ata-formatter/data-formatter-script/TestDataFormatterScript.py
1328b1410eb0f5e03c3b3ee302e9adca3e1b0361 29-Feb-2012 Enrico Granata <egranata@apple.com> This commit:
a) adds a Python summary provider for NSDate
b) changes the initialization for ScriptInterpreter so that we are not passing a bulk of Python-specific function pointers around
c) provides a new ScriptInterpreterObject class that allows for ref-count safe wrapping of scripting objects on the C++ side
d) contains much needed performance improvements:
1) the pointer to the Python function generating a scripted summary is now cached instead of looked up every time
2) redundant memory reads in the Python ObjC runtime wrapper are eliminated
3) summaries now use the m_summary_str in ValueObject to store their data instead of passing around ( == copying) an std::string object
e) contains other minor fixes, such as adding descriptive error messages for some cases of summary generation failure


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151703 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-objc/main.m
7ff467bd124f51817f1e277163bfd13ca844c60e 28-Feb-2012 Johnny Chen <johnny.chen@apple.com> Forgot to check in this file with r151593.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151640 91177308-0d34-0410-b5e6-96231b3b80d8
emory/read/main.cpp
50b1833fa71a73478f7b1cb8e29f8cadafdebb8d 28-Feb-2012 Johnny Chen <johnny.chen@apple.com> Add more test scenarios for 'memory read': one for a successful command execution
and one for another error message.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151593 91177308-0d34-0410-b5e6-96231b3b80d8
emory/read/TestMemoryRead.py
ab57878f7ba07a6bab5abec197c33b34777a514d 28-Feb-2012 Johnny Chen <johnny.chen@apple.com> Modify the expected error message accordingly after the recent change to DataExtractor.cpp.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151587 91177308-0d34-0410-b5e6-96231b3b80d8
emory/read/TestMemoryRead.py
ee2acc41df35096f0f2501a82b6120f328593e81 27-Feb-2012 Sean Callanan <scallanan@apple.com> Fixed an overly-specific testcase that depended
on libm being loaded.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151565 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
eccc8c4237eda09b2d6fa45d4a6017a586ec2209 25-Feb-2012 Johnny Chen <johnny.chen@apple.com> Create an additional watchpoint during the test run and verify that the watchpoint fired has the expected watchpoint id.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151404 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/hello_watchlocation/TestWatchLocation.py
b389c02c7c3c8ad639354736891bcb385e3d8fb9 24-Feb-2012 Enrico Granata <egranata@apple.com> Reworking the ObjC formatters test case not to test everything in one huge code block - better for maintenance and debugging

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151390 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
96da3f3571a22f0fbd298f1090f8d447455648f7 24-Feb-2012 Enrico Granata <egranata@apple.com> commenting parts of std::map test case which would make the test case fail when using TOT clang, but succeed on older compiler releases

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151309 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/map/TestDataFormatterStdMap.py
c510fa1323a56161d16d5a07d39765d3686fa322 24-Feb-2012 Enrico Granata <egranata@apple.com> This patch provides a set of formatters for most of the commonly used Cocoa classes.
The formatter for NSString is an improved version of the one previously shipped as an example, the others are new in design and implementation.
A more robust and OO-compliant Objective-C runtime wrapper is provided for runtime versions 1 and 2 on 32 and 64 bit.
The formatters are contained in a category named "AppKit", which is not enabled at startup.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151301 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/CFString.py
8f84cfb6f46256ae98a40fd217b206f48b7345c8 24-Feb-2012 Enrico Granata <egranata@apple.com> This patch provides a set of formatters for most of the commonly used Cocoa classes.
The formatter for NSString is an improved version of the one previously shipped as an example, the others are new in design and implementation.
A more robust and OO-compliant Objective-C runtime wrapper is provided for runtime versions 1 and 2 on 32 and 64 bit.
The formatters are contained in a category named "AppKit", which is not enabled at startup.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151299 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/CFString.py
ata-formatter/data-formatter-objc/Makefile
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-objc/main.m
9a7e4c39cb9b94cf14f3abd1eeed264cee9ba333 23-Feb-2012 Johnny Chen <johnny.chen@apple.com> Add @expectedFailure decorator with radar number.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151212 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
891d8ba1bf5e3a59bd359e391419ebe57002095f 18-Feb-2012 Enrico Granata <granata.enrico@gmail.com> making it so that the std::map test case does a better job at checking for interference between expression parser and synthetic children; plus being more verbose in the comments

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150854 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/map/TestDataFormatterStdMap.py
ata-formatter/data-formatter-stl/map/main.cpp
d760907c1d42726fa0c8c48efa28385ed339bb94 17-Feb-2012 Enrico Granata <granata.enrico@gmail.com> Adding formatters for several useful Objective-C/Cocoa data types. The new categories are not enabled at startup, but can be manually activated if desired.
Adding new API calls to SBValue to be able to retrieve the associated formatters
Some refactoring to FormatNavigator::Get() in order to shrink its size down to more manageable terms (a future, massive, refactoring effort will still be needed)
Test cases added for the above


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150784 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-objc/main.m
ata-formatter/rdar-10642615/Makefile
ata-formatter/rdar-10642615/Test-rdar-10642615.py
ata-formatter/rdar-10642615/main.cpp
758835b8486bddf191169dcd92224e6d9e0f57c3 17-Feb-2012 Johnny Chen <johnny.chen@apple.com> memory read -f X doesn't print anything (lldb should warn when encountering an unsupported byte size)
Also add a test sequence for it.

rdar://problem/10876841


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150766 91177308-0d34-0410-b5e6-96231b3b80d8
emory/read/TestMemoryRead.py
5564d80c3e2ac3fa14b60fd875c0dc960020040c 16-Feb-2012 Johnny Chen <johnny.chen@apple.com> memory read prints out duplicate entries when using vector formats
DataExtractor::Dump() needs to supply the correct cursor when delegating to the child DataExtractor::Dump() calls.
Add a regression test file.

rdar://problem/10872908


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150729 91177308-0d34-0410-b5e6-96231b3b80d8
emory/read/Makefile
emory/read/TestMemoryRead.py
emory/read/main.cpp
2b05e2937e4ff82951a0e3b288acd15d2e278ff3 14-Feb-2012 Johnny Chen <johnny.chen@apple.com> Remove the functionality of using 'frame variable -w' to set a watchpoint now that 'watchpoint set variable/expression'
is working. Also update the relevant test cases.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150514 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
atchpoint/hello_watchlocation/TestWatchLocation.py
atchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
atchpoint/multiple_threads/TestWatchpointMultipleThreads.py
atchpoint/watchpoint_commands/TestWatchpointCommands.py
atchpoint/watchpoint_commands/condition/TestWatchpointConditionCmd.py
e7e2099785da989e1b348e4f159a1e9c9269185a 14-Feb-2012 Johnny Chen <johnny.chen@apple.com> Add a test case for completion from 'settings set target.exec' to 'settings set target.exec-search-paths '.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150427 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
8c1af79e3d88f26e7569e895c5bd70a0de87d3bc 09-Feb-2012 Johnny Chen <johnny.chen@apple.com> Add error handling for missing option terminator "--" and a test scenario for it.
Also fix a logic error for a missing return stmt. Oops.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150195 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/watchpoint_set_command/TestWatchpointSetErrorCases.py
42404d284b22750851b26ae9a4ab42101f673089 08-Feb-2012 Johnny Chen <johnny.chen@apple.com> After discussions with Jim and Greg, modify the 'watchpoint set' command to become a mutiword command
with subcommand 'expression' and 'variable'. The first subcommand is for supplying an expression to
be evaluated into an address to watch for, while the second is for watching a variable.

'watchpoint set expression' is a raw command, which means that you need to use the "--" option terminator
to end the '-w' or '-x' option processing and to start typing your expression.

Also update several test cases to comply and add a couple of test cases into TestCompletion.py,
in particular, test that 'watchpoint set ex' completes to 'watchpoint set expression ' and that
'watchpoint set var' completes to 'watchpoint set variable '.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150109 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
atchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
atchpoint/watchpoint_set_command/TestWatchLocationWithWatchSet.py
atchpoint/watchpoint_set_command/TestWatchpointSetErrorCases.py
6183fccd61b67e814d9e7e85b25516a28edfe864 08-Feb-2012 Johnny Chen <johnny.chen@apple.com> Refine the 'watchpoint set' command to now require either the '-v' option (for watching of a variable) or
the '-e' option (for watching of an address) to be present.

Update some existing test cases with the required option and add some more test cases.

Since the '-v' option takes <variable-name> and the '-e' option takes <expr> as the command arg,
the existing infrastructure for generating the option usage can produce confusing help message,
like:

watchpoint set -e [-w <watch-type>] [-x <byte-size>] <variable-name | expr>
watchpoint set -v [-w <watch-type>] [-x <byte-size>] <variable-name | expr>

The solution adopted is to provide an extra member field to the struct CommandArgumentData called
(uint32_t)arg_opt_set_association, whose purpose is to link this particular argument data with some
option set(s). Also modify the signature of CommandObject::GetFormattedCommandArguments() to:

GetFormattedCommandArguments (Stream &str, uint32_t opt_set_mask = LLDB_OPT_SET_ALL)

it now takes an additional opt_set_mask which can be used to generate a filtered formatted command
args for help message.

Options::GenerateOptionUsage() impl is modified to call the GetFormattedCommandArguments() appropriately.
So that the help message now looks like:

watchpoint set -e [-w <watch-type>] [-x <byte-size>] <expr>
watchpoint set -v [-w <watch-type>] [-x <byte-size>] <variable-name>

rdar://problem/10703256


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@150032 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
atchpoint/watchpoint_set_command/TestWatchLocationWithWatchSet.py
atchpoint/watchpoint_set_command/TestWatchpointSetErrorCases.py
d4d4e09b0dddc7cbfc95bd77c251c092e9ae1f1a 06-Feb-2012 Johnny Chen <johnny.chen@apple.com> Fix a typo in specifying the error path when launching the inferior.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149899 91177308-0d34-0410-b5e6-96231b3b80d8
rocess_launch/TestProcessLaunch.py
6bbfa6c421db7b1aec5d6c04a572d6ec6381a343 03-Feb-2012 Enrico Granata <granata.enrico@gmail.com> Fixing issues where synthetic children providers for STL containers std::list and std::map where not doing their job properly

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149700 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/list/TestDataFormatterStdList.py
ata-formatter/data-formatter-stl/map/TestDataFormatterStdMap.py
4ab0c035dd71dcd549869884417ed7c757ad1dfb 03-Feb-2012 Johnny Chen <johnny.chen@apple.com> Add a couple of simple completion test cases for 'target ' and 'target va'.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149656 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
2f2c277dd88f3e252394f70516b63f757d1a09a3 03-Feb-2012 Enrico Granata <granata.enrico@gmail.com> Added a new --omit-names (-O, uppercase letter o) option to "type summary add".
When used in conjunction with --inline-children, this option will cause the names of the values to be omitted from the output. This can be beneficial in cases such as vFloat, where it will compact the representation from
([0]=1,[1]=2,[2]=3,[3]=4) to (1, 2, 3, 4).
Added a test case to check that the new option works correctly.
Also took some time to revisit SummaryFormat and related classes and tweak them for added readability and maintainability.
Finally, added a new class name to which the std::string summary should be applied.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149644 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/rdar-10642615/Makefile
ata-formatter/rdar-10642615/Test-rdar-10642615.py
ata-formatter/rdar-10642615/main.cpp
6c49bf469d8b43eaab76a43f7a17ac6137a0380c 02-Feb-2012 Johnny Chen <johnny.chen@apple.com> For processes which are not in one of the "launched and stopped" state, 'target variable' command
should use Target::ReadMemory() call to read from the file section offset address.
Also remove the @expectedFailure decorator..

'target variable' command fails if the target program has been run
rdar://problem/9763907


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149629 91177308-0d34-0410-b5e6-96231b3b80d8
arget_command/TestTargetCommand.py
02b6bef8009d2410ed8f3255ce545d42ac5b9b5e 01-Feb-2012 Johnny Chen <johnny.chen@apple.com> Fix indentation.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149529 91177308-0d34-0410-b5e6-96231b3b80d8
arget_command/TestTargetCommand.py
cfbfcd2121002ada92ac24dece48a28559651949 01-Feb-2012 Johnny Chen <johnny.chen@apple.com> Add @expectedFailure decorators.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149519 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/map/TestDataFormatterStdMap.py
e20090b92739c6a142bf97e69159cccc869c394d 01-Feb-2012 Enrico Granata <granata.enrico@gmail.com> remove spurious leftover code from std::list testcase

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149461 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/list/TestDataFormatterStdList.py
f4a39228f1b7d4cf68e04902af97e74946f4f880 31-Jan-2012 Enrico Granata <granata.enrico@gmail.com> Test case for std::map synthetic children provider (currently an expected failure)

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149421 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/map/Makefile
ata-formatter/data-formatter-stl/map/TestDataFormatterStdMap.py
ata-formatter/data-formatter-stl/map/main.cpp
7541b1b40662fa80d0d5f3988c1fdbf2d7454f74 31-Jan-2012 Enrico Granata <granata.enrico@gmail.com> Test case for std::list synthetic children provider (currently an expected failure)

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149420 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/list/Makefile
ata-formatter/data-formatter-stl/list/TestDataFormatterStdList.py
ata-formatter/data-formatter-stl/list/main.cpp
168e115a7d867b8afb60e8451583caaf5d824c9f 31-Jan-2012 Enrico Granata <granata.enrico@gmail.com> Test case for std::vector synthetic children provider

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149419 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-stl/vector/Makefile
ata-formatter/data-formatter-stl/vector/TestDataFormatterStdVector.py
ata-formatter/data-formatter-stl/vector/main.cpp
e1df07f9a3817f7ea45164c28751de09a965b8d4 31-Jan-2012 Enrico Granata <granata.enrico@gmail.com> Splitting test case for Python synthetic children: part 1 test is only testing the synthetic children feature itself. More test cases will be commited for individual STL containers

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149393 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-python-synth/StdListSynthProvider.py
ata-formatter/data-formatter-python-synth/StdMapSynthProvider.py
ata-formatter/data-formatter-python-synth/StdVectorSynthProvider.py
ata-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
ata-formatter/data-formatter-python-synth/main.cpp
28f3771c0b1ee1348647e7b9c9aa2c66ce040a5d 31-Jan-2012 Johnny Chen <johnny.chen@apple.com> Add some more test cases for the "watchpoint set" command.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149324 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
atchpoint/watchpoint_set_command/TestWatchpointSetErrorCases.py
bda984ab7719f3af66ae70defd42b6dfbd3e510b 31-Jan-2012 Johnny Chen <johnny.chen@apple.com> Fixed a typo in the test case. Updated comment.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149295 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/watchpoint_set_command/TestWatchLocationWithWatchSet.py
55a2d5a49d82fcfc0fe72825293f6c04d1970e21 30-Jan-2012 Johnny Chen <johnny.chen@apple.com> Add "watch set" command as a more general interface in conjunction with "frame var -w".
Also add test cases for watching a variable as well as a location expressed as an expression.

o TestMyFirstWatchpoint.py:

Modified to test "watchpoint set -w write global".

o TestWatchLocationWithWatchSet.py:

Added to test "watchpoint set -w write -x 1 g_char_ptr + 7" where a contrived example program
with several threads is supposed to only access the array index within the range [0..6], but
there's some misbehaving thread writing past the range.

rdar://problem/10701761


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@149280 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
atchpoint/watchpoint_set_command/Makefile
atchpoint/watchpoint_set_command/TestWatchLocationWithWatchSet.py
atchpoint/watchpoint_set_command/main.cpp
758442a4a4a031871f977d671724f0eb541c7eb7 25-Jan-2012 Johnny Chen <johnny.chen@apple.com> Move argument checking/manipulation into the front of the function.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148974 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
61d44fa90e287791d0fc405fd3ddde46848344eb 25-Jan-2012 Johnny Chen <johnny.chen@apple.com> Clearify some comment.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148972 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
39fb5c20b0cccf28b1fcc875ca7de340059a46e0 25-Jan-2012 Johnny Chen <johnny.chen@apple.com> Cleanup docstring and remove dead code.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148971 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
42b7ff92105e1b9e96c870ebea2ce6ab601d8809 25-Jan-2012 Johnny Chen <johnny.chen@apple.com> Add some more test cases for command completion:

o complete an unambiguous option
o complete/list the available option values
o complete/list the candidate command names


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148899 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
f8727758f0bd0dc6c51e3850feead3079b527c27 23-Jan-2012 Johnny Chen <johnny.chen@apple.com> Followup check in for http://llvm.org/viewvc/llvm-project?rev=148491&view=rev,
where we changed the CommandObjectSettingsSet object impl to require raw command string.

Do the same for CommandObjectSettingsAppend/InsertBefore/InsertAfter classes and
add test cases for basic functionalities as well as for variable name completion.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148719 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
c8bba4594ddbde127a8c935422ddfa7c30868946 21-Jan-2012 Johnny Chen <johnny.chen@apple.com> Followup check in for http://llvm.org/viewvc/llvm-project?rev=148491&view=rev,
where we changed the CommandObjectSettingsSet object impl to require raw command string.

Do the same for CommandObjectSettingsReplace class and add two test cases; one for
the "settings replace" command and the other to ensure that completion for variable
name still works.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148615 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
47397c75da59795d2219da7d6dbf5719e811ffa9 21-Jan-2012 Johnny Chen <johnny.chen@apple.com> Add comment.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148602 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
5b6e565fe6f5e46a002b80c113c9748610a84840 21-Jan-2012 Johnny Chen <johnny.chen@apple.com> A little bit of cleanup to make the code more understandable.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148600 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
fbcad6858fbc4b1401bd2ac10471e32f1fa8494d 21-Jan-2012 Johnny Chen <johnny.chen@apple.com> o CommandObjectSettingsSet.cpp:

Fix a bug where "settings set -r th" wouldn't complete.

o UserSettingsController.cpp:

Fix a bug where "settings set target.process." wouldn't complete.

o test/functionalities/completion:

Add various completion test cases related to 'settings set' command.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148596 91177308-0d34-0410-b5e6-96231b3b80d8
ompletion/TestCompletion.py
a1b0ce1323ad4f3448c3c947fca9934a8a0ee41b 19-Jan-2012 Johnny Chen <johnny.chen@apple.com> rdar://problem/10712130

Fixed an issue where backtick char is not properly honored when setting the frame-format variable, like the following:

(lldb) settings set frame-format frame #${frame.index}: ${frame.pc}{ ${module.file.basename}{`${function.name-with-args}${function.pc-offset}}}{ at ${line.file.basename}:${line.number}}\n
(lldb) settings show frame-format
frame-format (string) = "frame #${frame.index}: ${frame.pc}{ `${module.file.basename}{${function.name-with-args}${function.pc-offset}}}{` at ${line.file.basename}:${line.number}}\n"
(lldb)

o CommandObjectSettings.h/.cpp:

Modify the command object impl to require raw command string instead of parsed command string,
which also fixes an outstanding issue that customizing the prompt with trailing spaces doesn't
work.

o Args.cpp:

During CommandInterpreter::HandleCommand(), there is a PreprocessCommand phase which already
strips/processes pairs of backticks as an expression eval step. There's no need to treat
a backtick as starting a quote.

o TestAbbreviations.py and change_prompt.lldb:

Fixed incorrect test case/logic.

o TestSettings.py:

Remove expectedFailure decorator.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148491 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
bbreviation/change_prompt.lldb
5d235d54908b6db4825bc8de9116003d0a7cd0e3 13-Jan-2012 Johnny Chen <johnny.chen@apple.com> Add some description for this test directory.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148075 91177308-0d34-0410-b5e6-96231b3b80d8
rchives/README
111e18b9cf43779c865dde7e43d90880f3af7f13 13-Jan-2012 Johnny Chen <johnny.chen@apple.com> Modify a couple of Makefiles to use clang instead of gcc, since gcc is being deprecated.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148071 91177308-0d34-0410-b5e6-96231b3b80d8
oad_unload/Makefile
62f0b37967f3bbc699e2357683f745e65c290cec 13-Jan-2012 Johnny Chen <johnny.chen@apple.com> rdar://problem/10680957
Need a test case that tests DWARF with .o in .a files

test/functionalities/archives:

Produces libfoo.a from a.o and b.o. Test breaking inside functions defined
inside the libfoo.a BSD Archive.

test/make/makefile.rules:

Some additional rules to sepcify archive building. For example:

ARCHIVE_NAME := libfoo.a
ARCHIVE_C_SOURCES := a.c b.c


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@148066 91177308-0d34-0410-b5e6-96231b3b80d8
rchives/Makefile
rchives/TestBSDArchives.py
rchives/a.c
rchives/b.c
rchives/main.c
43504ce5a38fff1361bc190f718be1ec348dd4af 23-Dec-2011 Jim Ingham <jingham@apple.com> Added a bunch more structure return tests.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147212 91177308-0d34-0410-b5e6-96231b3b80d8
eturn-value/TestReturnValue.py
eturn-value/call-func.c
869e296d2eed659103d7ddecaee06356b83b9433 22-Dec-2011 Johnny Chen <johnny.chen@apple.com> Decorate the two test cases in TestReturnValue.py as i386 only expectedFailure, aka @expectedFailurei386.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147177 91177308-0d34-0410-b5e6-96231b3b80d8
eturn-value/TestReturnValue.py
016ef8886cd429f8a53bff967e601f831e409eaa 22-Dec-2011 Jim Ingham <jingham@apple.com> Improve the x86_64 return value decoder to handle most structure returns.
Switch from GetReturnValue, which was hardly ever used, to GetReturnValueObject
which is much more convenient.
Return the "return value object" as a persistent variable if requested.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147157 91177308-0d34-0410-b5e6-96231b3b80d8
eturn-value/Makefile
eturn-value/TestReturnValue.py
eturn-value/call-func.c
2fcf412d77ef17500c8d0dde82f0ac775f1261e7 14-Dec-2011 Johnny Chen <johnny.chen@apple.com> http://llvm.org/bugs/show_bug.cgi?id=11569
LLDBSwigPythonCallCommand crashes when a command script returns an object

Add more robustness to LLDBSwigPythonCallCommand. It should check whether the returned Python object
is a string, and only assign it as the error msg when the check holds.
Also add a regression test.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@146584 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_script/TestCommandScript.py
ommand_script/bug11569.py
ommand_script/py_import
b91423bd5a01e0ee297162ac36a2c65e9d844c1a 14-Dec-2011 Johnny Chen <johnny.chen@apple.com> Print out the breakpoint description only if self.TraceOn() is True.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@146539 91177308-0d34-0410-b5e6-96231b3b80d8
xpr-doesnt-deadlock/TestExprDoesntBlock.py
33bc865655e98aa15832c3fa27da762f082f5d51 13-Dec-2011 Jim Ingham <jingham@apple.com> Add a pthreads testcase to make sure the two-step of running and expression,
having the block, then timing out & letting all threads run actually works.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@146471 91177308-0d34-0410-b5e6-96231b3b80d8
xpr-doesnt-deadlock/Makefile
xpr-doesnt-deadlock/TestExprDoesntBlock.py
xpr-doesnt-deadlock/locking.c
fa21ffd0c50efce27bfa084c6fb33dff255288b0 01-Dec-2011 Johnny Chen <johnny.chen@apple.com> rdar://problem/10501020

ClangASTSource::~ClangASTSource() was calling

ClangASTContext *scratch_clang_ast_context = m_target->GetScratchClangASTContext();

which had the side effect of deleting this very ClangASTSource instance. Not good.
Change it to

// We are in the process of destruction, don't create clang ast context on demand
// by passing false to Target::GetScratchClangASTContext(create_on_demand).
ClangASTContext *scratch_clang_ast_context = m_target->GetScratchClangASTContext(false);

The Target::GetScratchClangASTContext(bool create_on_demand=true) has a new signature.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@145537 91177308-0d34-0410-b5e6-96231b3b80d8
oad_unload/TestLoadUnload.py
673f3dbea64b116166dfa668006cdc84224a27c0 30-Nov-2011 Sean Callanan <scallanan@apple.com> Added support to the Objective-C language runtime
to find Objective-C class types by looking in the
symbol tables for the individual object files.

I did this as follows:

- I added code to SymbolFileSymtab that vends
Clang types for symbols matching the pattern
"_OBJC_CLASS_$_NSMyClassName," making them
appear as Objective-C classes. This only occurs
in modules that do not have debug information,
since otherwise SymbolFileDWARF would be in
charge of looking up types.

- I made a new SymbolVendor subclass for the
Apple Objective-C runtime that is in charge of
making global lookups of Objective-C types. It
currently just sends out type lookup requests to
the appropriate SymbolFiles, but in the future we
will probably extend it to query the runtime more
completely.

I also modified a testcase whose behavior is changed
by the fact that we now actually return an Objective-C
type for __NSCFString.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@145526 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
dd549796720f67a739815bbf507ac933dd5ca12f 30-Nov-2011 Johnny Chen <johnny.chen@apple.com> rdar://problem/9211445

Fix wrong test logic in test_modules_search_paths(). Add additional exercising of 'target modules search-paths list/query".
There is a reproducible crash if 'target modules search-paths clear' is exercised during test teardown.
So we currently comment out the stmt as follows:

# Add teardown hook to clear image-search-paths after the test.
# rdar://problem/10501020
# Uncomment the following to reproduce 10501020.
#self.addTearDownHook(lambda: self.runCmd("target modules search-paths clear"))


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@145466 91177308-0d34-0410-b5e6-96231b3b80d8
oad_unload/TestLoadUnload.py
0e6df3675a32593e3f78bab174619f7e110257f4 28-Nov-2011 Greg Clayton <gclayton@apple.com> Fixed an issue where we might cause our test suite to exit if we end up
concatenating a string with "None" in python. Using a python format string
gets us around this by handling it gracefully.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@145225 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-synth/TestDataFormatterSynth.py
4c6a752b2c729e624c2f2b53d786c48432f4cfa7 18-Nov-2011 Johnny Chen <johnny.chen@apple.com> Redirect the stderr output into a file so as to not pollute the terminal.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144958 91177308-0d34-0410-b5e6-96231b3b80d8
rocess_launch/TestProcessLaunch.py
1941fdacadbeae053d3aa2a205922f3880310038 18-Nov-2011 Johnny Chen <johnny.chen@apple.com> Do not print debug messages if self.TraceON() is False.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144945 91177308-0d34-0410-b5e6-96231b3b80d8
onditional_break/TestConditionalBreak.py
0296fe73a7cb1482226b1303a795ede00e12d677 08-Nov-2011 Jim Ingham <jingham@apple.com> Do a better job of detecting when a breakpoint command has set the target running again (except you have to ignore
cases where the breakpoint runs expressions, those don't count as really "running again").


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144064 91177308-0d34-0410-b5e6-96231b3b80d8
onditional_break/TestConditionalBreak.py
onditional_break/conditional_break.py
abb3302051246273eb92cca203c9a1b9d9736e05 08-Nov-2011 Greg Clayton <gclayton@apple.com> Moved many of the "settings" that used to be in "target.process.*" to just
be in the target. All of the environment, args, stdin/out/err files, etc have
all been moved. Also re-enabled the ability to launch a process in a separate
terminal on MacOSX.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144061 91177308-0d34-0410-b5e6-96231b3b80d8
oad_unload/TestLoadUnload.py
9badf141a4a5aae9bcaea141d5b813f38b170a05 08-Nov-2011 Johnny Chen <johnny.chen@apple.com> Fix the test suite failure. The particular line in the test case was there since the initial version
dated 2010-21-15. The test started failure recently probably due to work done on the command parsing.
Anyway, the specific test sequence is invalid and is fixed now.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144039 91177308-0d34-0410-b5e6-96231b3b80d8
lias/TestAliases.py
6010acef0cee54e044d4e7e472ef3d99e13c5045 07-Nov-2011 Enrico Granata <granata.enrico@gmail.com> this patch addresses several issues with "command script" subcommands:
a) adds a new --synchronicity (-s) setting for "command script add" that allows the user to decide if scripted commands should run synchronously or asynchronously (which can make a difference in how events are handled)
b) clears up several error messages
c) adds a new --allow-reload (-r) setting for "command script import" that allows the user to reload a module even if it has already been imported before
d) allows filename completion for "command script import" (much like what happens for "target create")
e) prevents "command script add" from replacing built-in commands with scripted commands
f) changes AddUserCommand() to take an std::string instead of a const char* (for performance reasons)
plus, it fixes an issue in "type summary add" command handling which caused several test suite errors


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@144035 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_script/TestCommandScript.py
ommand_script/import/TestImport.py
ommand_script/main.cpp
ommand_script/mysto.py
ommand_script/py_import
ommand_script/welcome.py
8ca450b8718d326a93a53a8a3808f8bba0a2aa7e 31-Oct-2011 Johnny Chen <johnny.chen@apple.com> Revert 143359 and modify the test case to not include non-valid c identifier character.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@143372 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_regex/TestCommandRegex.py
cf78037980a9345c12b1e2562bc4eda63cea95b3 29-Oct-2011 Johnny Chen <johnny.chen@apple.com> Add a simple regression test to go with r143260.
CommandInterpreter::PreprocessCommand() should not infinite loop
when a target has not been specified yet.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@143274 91177308-0d34-0410-b5e6-96231b3b80d8
ackticks/TestBackticksWithoutATarget.py
9351b4ff5bd824856dd9894d2005b29a020dfdd8 27-Oct-2011 Johnny Chen <johnny.chen@apple.com> Undo r142549 and r142543 which temporarily relax the expected substrings for
watchpoint creation output due to wrong debug info from clang. It has been
fixed.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@143118 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
atchpoint/watchpoint_commands/TestWatchpointCommands.py
atchpoint/watchpoint_commands/condition/TestWatchpointConditionCmd.py
24a6bd9835ed1655984397b0cdf35127e47681e9 27-Oct-2011 Greg Clayton <gclayton@apple.com> Added support for the new ".apple_objc" accelerator tables. These tables are
in the same hashed format as the ".apple_names", but they map objective C
class names to all of the methods and class functions. We need to do this
because in the DWARF the methods for Objective C are never contained in the
class definition, they are scattered about at the translation unit level and
they don't even have attributes that say the are contained within the class
itself.

Added 3 new formats which can be used to display data:

eFormatAddressInfo
eFormatHexFloat
eFormatInstruction

eFormatAddressInfo describes an address such as function+offset and file+line,
or symbol + offset, or constant data (c string, 2, 4, 8, or 16 byte constants).
The format character for this is "A", the long format is "address".

eFormatHexFloat will print out the hex float format that compilers tend to use.
The format character for this is "X", the long format is "hex float".

eFormatInstruction will print out disassembly with bytes and it will use the
current target's architecture. The format character for this is "i" (which
used to be being used for the integer format, but the integer format also has
"d", so we gave the "i" format to disassembly), the long format is
"instruction".

Mate the lldb::FormatterChoiceCriterion enumeration private as it should have
been from the start. It is very specialized and doesn't belong in the public
API.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@143114 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-advanced/TestDataFormatterAdv.py
4d96a749c55056fb98276c2b85442ed26018345a 25-Oct-2011 Johnny Chen <johnny.chen@apple.com> Add more context information to the stop-hook mechanism by displaying the stop-hook
command in the '- Hook id' header. This should improve readbility of the 'display'
command if, for example, we have issued 'display a' and 'display b' which turn into
"target stop-hook add -o 'expr -- a'" and "target stop-hook add -o 'expr -- b'".

Plus some minor change in TestAbbreviations.py to conditionalize the platform-specific
checkings of the "image list" output.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142868 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
911f519bc573bef6aa05fc337e8aa33d847a2d29 25-Oct-2011 Johnny Chen <johnny.chen@apple.com> Minor change.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142858 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestCommonShortSpellings.py
33d0129be8c82b9d3a114591a6055d972a342a7a 25-Oct-2011 Johnny Chen <johnny.chen@apple.com> Test some lldb command abbreviations to make sure the common short spellings of
many commands remain available even after we add/delte commands in the future.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142857 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestCommonShortSpellings.py
d1ede6858cbccdb35a7f63101440aa2a7449dfe1 24-Oct-2011 Johnny Chen <johnny.chen@apple.com> Add two new @expectedFailure decorators.

rdar://problem/10334911


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142839 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
9d1acc179e28cf2625e66c411fb164303b6e4e4e 24-Oct-2011 Jim Ingham <jingham@apple.com> Add "di" and "dis" aliases to "disassemble" so they will win over "display".


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142834 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
114b64082f90689c1cf769e9fcf1972b71464d40 24-Oct-2011 Johnny Chen <johnny.chen@apple.com> Fix test regressions due to the addition of 'display' alias to the top level commands, which conflicts
with the original 'dis' -> 'disassemble' unique expansion. Change it to 'disass' now.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142825 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
f133254bc81f8f0077edb6063fe1774f0a745383 20-Oct-2011 Johnny Chen <johnny.chen@apple.com> Missed this file when doing r142543 to temporarily relax the expected substrings for watchpoint creation output.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142549 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/watchpoint_commands/condition/TestWatchpointConditionCmd.py
076f0e086abebc232ed2e5a0846e136265196659 19-Oct-2011 Johnny Chen <johnny.chen@apple.com> Temporarily relax the expected substrings for watchpoint creation output
due a bug in the decl file info of a global variable emitted by clang.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142543 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
atchpoint/watchpoint_commands/TestWatchpointCommands.py
2189eefb1f1264541b81de9c1ccba9f76403dfc1 18-Oct-2011 Johnny Chen <johnny.chen@apple.com> Add test cases for setting condition on a watchpoint for both command and API.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142291 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/watchpoint_commands/condition/Makefile
atchpoint/watchpoint_commands/condition/TestWatchpointCmdCondition.py
atchpoint/watchpoint_commands/condition/main.cpp
59df36f99b76e33852e6848a162f5c2851074ea2 17-Oct-2011 Enrico Granata <granata.enrico@gmail.com> this patch introduces a new command script import command which takes as input a filename for a Python script and imports the module contained in that file. the containing directory is added to the Python path such that dependencies are honored. also, the module may contain an __lldb_init_module(debugger,dict) function, which gets called after importing, and which can somehow initialize the module's interaction with lldb

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142283 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_script/import/Makefile
ommand_script/import/TestImport.py
ommand_script/import/bar/bar.py
ommand_script/import/bar/barutil.py
ommand_script/import/dummymodule.py
ommand_script/import/foo/bar/foobar.py
ommand_script/import/foo/foo.py
ommand_script/import/foo/foo2.py
ommand_script/import/main.c
1e8a14af674e2761f257440c46c8aca34f53b951 17-Oct-2011 Johnny Chen <johnny.chen@apple.com> Rename test file.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142242 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/watchpoint_commands/condition/TestWatchpointConditionCmd.py
87ce64724b90924eb9f4a8a0b391cd13c07188cd 17-Oct-2011 Johnny Chen <johnny.chen@apple.com> Fix wrong docstring.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142241 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/watchpoint_commands/condition/TestWatchpointCmdCondition.py
712a628dde2f4f786389feecf7e06e59f0853c75 17-Oct-2011 Johnny Chen <johnny.chen@apple.com> Add a commnad to set a condition for a watchpoint. Example:

watchpoint modify -c 'global==5'

modifies the last created watchpoint so that the condition expression
is evaluated at the stop point to decide whether we should proceed with
the stopping.

Also add SBWatchpont::SetCondition(const char *condition) to set condition
programmatically.

Test cases to come later.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142227 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/multiple_threads/main.cpp
1e90cce7a92bf74510f2ca01ba2ae06eebffb983 14-Oct-2011 Johnny Chen <johnny.chen@apple.com> Rename directory command_python to command_script, and the test file, too.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@141963 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_python/Makefile
ommand_python/TestCommandPython.py
ommand_python/main.cpp
ommand_python/py_import
ommand_python/welcome.py
ommand_script/Makefile
ommand_script/TestCommandScript.py
ommand_script/main.cpp
ommand_script/py_import
ommand_script/welcome.py
30640cce87a2a8ea138334ac55225983a585d77e 12-Oct-2011 Johnny Chen <johnny.chen@apple.com> Add cleanups for 'command script add' to TestCommandPython.py.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@141790 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_python/TestCommandPython.py
7d7f447af7fba3eae442ab99c18f5ae532886099 07-Oct-2011 Johnny Chen <johnny.chen@apple.com> If we spawn an lldb process for test (via pexpect), do not load the init file unless told otherwise.
Set up self.lldbOption to be "--no-lldbibit" unless env variable NO_LLDBIBIT is defined and equals "NO".
Also add "-nx" to gdb spawned.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@141384 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_regex/TestCommandRegex.py
mbedded_interpreter/TestConvenienceVariables.py
top-hook/TestStopHookMechanism.py
top-hook/multiple_threads/TestStopHookMultipleThreads.py
8b3ed5c804322310abdb317cddf5423cb800d934 06-Oct-2011 Johnny Chen <johnny.chen@apple.com> Add a test sequence for 'target variable' command when no arguments are given.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@141264 91177308-0d34-0410-b5e6-96231b3b80d8
arget_command/TestTargetCommand.py
e14cf4e7dc9d561224f744807b70a8ab91a8b36d 05-Oct-2011 Johnny Chen <johnny.chen@apple.com> Add capability to set ignore count for watchpoint on the command line:

watchpoint ignore -i <count> [<watchpt-id | watchpt-id-list>]

Add tests of watchpoint ignore_count for command line as well as API.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@141217 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/watchpoint_commands/TestWatchpointCommands.py
atchpoint/watchpoint_commands/main.c
8bdf57cfc246358ab65b2d36ec2b8462e8d36e54 05-Oct-2011 Johnny Chen <johnny.chen@apple.com> Fix a problem where the stop-hook command 'frame variable g_val' produces nothing
when newly created threads were subsequently stopped due to breakpoint hit.
The stop-hook mechanism delegates to CommandInterpreter::HandleCommands() to
execuet the commands. Make sure the execution context is switched only once
at the beginning of HandleCommands() only and don't update the context while looping
on each individual command to be executed.

rdar://problem/10228156


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@141144 91177308-0d34-0410-b5e6-96231b3b80d8
top-hook/multiple_threads/Makefile
top-hook/multiple_threads/TestStopHookMultipleThreads.py
top-hook/multiple_threads/main.cpp
90c56e6324c7099f6c98c6c28427214824677d4b 30-Sep-2011 Johnny Chen <johnny.chen@apple.com> o lldbtest.py:

Add a keyword argument 'endstr' to TestBase.expect() method to assert that the output
will end with 'endstr'.

Add TestBase.switch_to_thread_with_stop_reason(stop_reason) to select the thread with
the stop reason = 'stop_reason' as the current thread.

o TestWatchLocation.py:

Modified to switch to the stopped thread with stop reason = watchpoint and to evaluate
an expression with expected output for stronger assertion.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140890 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/hello_watchlocation/TestWatchLocation.py
atchpoint/hello_watchlocation/main.cpp
1b4525213621b2179f0841edd54842eebecd28cd 30-Sep-2011 Johnny Chen <johnny.chen@apple.com> Add an accompanying option to the 'frame variable -w' command to, instead of watching the variable,
watch the location pointed to by the variable. An example,

(lldb) frame variable -w write -x 1 -g g_char_ptr
(char *) g_char_ptr = 0x0000000100100860 ""...
Watchpoint created: WatchpointLocation 1: addr = 0x100100860 size = 1 state = enabled type = w
declare @ '/Volumes/data/lldb/svn/trunk/test/functionalities/watchpoint/hello_watchlocation/main.cpp:21'

...

(lldb) c
Process 3936 resuming

...

rocess 3936 stopped
* thread #2: tid = 0x3403, 0x00000001000009b7 a.out`do_bad_thing_with_location(char*, char) + 23 at main.cpp:27, stop reason = watchpoint 1
frame #0: 0x00000001000009b7 a.out`do_bad_thing_with_location(char*, char) + 23 at main.cpp:27
24 do_bad_thing_with_location(char *char_ptr, char new_val)
25 {
26 *char_ptr = new_val;
-> 27 }
28
29 uint32_t access_pool (uint32_t flag = 0);
30
(lldb)

Also add TestWatchLocation.py test to exercise this functionality.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140836 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/hello_watchlocation/Makefile
atchpoint/hello_watchlocation/TestWatchLocation.py
atchpoint/hello_watchlocation/main.cpp
3dd956eb7ee3e93df6b68a9c7c528e92359b6026 29-Sep-2011 Johnny Chen <johnny.chen@apple.com> Modify the delegation chain from MachThreadList -> MachThread -> DNBArchProtocol so that when
the watchpoint state is changed, not only does the change propagate to all the thread instances,
it also updates a global debug state, if chosen by the DNBArchProtocol derivative.

Once implemented, the DNBArchProtocol derivative, also makes sure that when new thread comes along,
it tries to inherit from the global debug state, if it is valid.

Modify TestWatchpointMultipleThreads.py to test this functionality.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140811 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/multiple_threads/TestWatchpointMultipleThreads.py
atchpoint/multiple_threads/main.cpp
48c7756be4ae81d9e524ba23ef89a401bdf9fa31 29-Sep-2011 Johnny Chen <johnny.chen@apple.com> Fix a bug in the current MacOSX MachThreadList::EnableHardwareWatchpoint() impl so that
it enables the hardware watchpoint for all existing threads. Add a test file for that.
Also fix MachThreadList::DisableHardwareWatchpoint().


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140757 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/multiple_threads/Makefile
atchpoint/multiple_threads/TestWatchpointMultipleThreads.py
atchpoint/multiple_threads/main.cpp
bfb419963dada3342389a93d80051e4a2c3d202b 23-Sep-2011 Johnny Chen <johnny.chen@apple.com> Add a simple regression test for 'target stop-hook list' with no target specified.
It should not crash lldb.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140421 91177308-0d34-0410-b5e6-96231b3b80d8
top-hook/TestStopHookCmd.py
e031d3e62c38d7d0a31b61cf7cb3498824f30581 23-Sep-2011 Jim Ingham <jingham@apple.com> Added a test for problems caused when Clang errantly makes the line range for one line
too long, so that the jump from the line above the bad line to the line after
ends up in the middle of the bad line instead. Added a workaround to lldb to just
continue to the end if we find ourselves stopped in the middle of some other line.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140419 91177308-0d34-0410-b5e6-96231b3b80d8
top-hook/TestStopHookMechanism.py
top-hook/main.cpp
3856985b517b75d10368768d12f754afeb34a137 23-Sep-2011 Johnny Chen <johnny.chen@apple.com> Add test cases for watchpoint list, enable, disable, and delete commands.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140398 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/watchpoint_commands/Makefile
atchpoint/watchpoint_commands/TestWatchpointCommands.py
atchpoint/watchpoint_commands/main.c
0f223043ff051fd6e52188f03d9e311ec8dcd0a0 23-Sep-2011 Johnny Chen <johnny.chen@apple.com> A second try to make the TestStopHookMechanism.py more robust after recent changes.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140396 91177308-0d34-0410-b5e6-96231b3b80d8
top-hook/TestStopHookMechanism.py
d430b91d678a709d7319ca3a67ae96602e8adf53 23-Sep-2011 Johnny Chen <johnny.chen@apple.com> The "Stop Hooks" anchors have been removed from the stop-hook output.
Update the test case to fix test suite failure.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140392 91177308-0d34-0410-b5e6-96231b3b80d8
top-hook/TestStopHookMechanism.py
d6d47976b71187907c1cdeea86fabf7d5534314f 23-Sep-2011 Jim Ingham <jingham@apple.com> Added the ability to restrict breakpoints by function name, function regexp, selector
etc to specific source files.
Added SB API's to specify these source files & also more than one module.
Added an "exact" option to CompileUnit's FindLineEntry API.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140362 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_command/Makefile
reakpoint/breakpoint_command/TestBreakpointCommand.py
reakpoint/breakpoint_command/a.c
reakpoint/breakpoint_command/b.c
01acfa76010b8db2e77016c144963c4dd70f1392 22-Sep-2011 Johnny Chen <johnny.chen@apple.com> Add initial implementation of watchpoint commands for list, enable, disable, and delete.
Test cases to be added later.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140322 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
a8428a458e779a64c8642fef5d29c7f6cc1b95f9 22-Sep-2011 Sean Callanan <scallanan@apple.com> Fixed a problem with the IR interpreter that caused
it to generate result variables that were not bound
to their underlying data. This allowed the SBValue
class to use the interpreter (if possible).

Also made sure that any result variables that point
to stack allocations in the stack frame of the
interpreted expressions do not get live data.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140285 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
0ae31648a69b60b68b4a45e2778cc2dde133f945 20-Sep-2011 Johnny Chen <johnny.chen@apple.com> Add four new expectedFailre decorators to new failures most likely due to r139772 check-in.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@140150 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
10b12b3aa8542721fa9485c1d520433de0e0e720 16-Sep-2011 Johnny Chen <johnny.chen@apple.com> Add a declaraion info member field to the WatchpointLocation class.
Modify CommandObjectFrame.cpp to populate this field when creating a watchpoint location.
Update the test case to verify that the declaration info matches the file and line number.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139946 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
atchpoint/hello_watchpoint/main.c
58c66e2c4273c101a82ce02e17cc10d338b825bb 15-Sep-2011 Johnny Chen <johnny.chen@apple.com> Add a simple watchpoint test to exercise watchpoint creation followed by watchpoint hit events.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139847 91177308-0d34-0410-b5e6-96231b3b80d8
atchpoint/hello_watchpoint/Makefile
atchpoint/hello_watchpoint/TestMyFirstWatchpoint.py
atchpoint/hello_watchpoint/main.c
1ac6d1f9200a875cc4f761e278d29658599431c0 09-Sep-2011 Enrico Granata <granata.enrico@gmail.com> Adding two new options to the 'help' command:
--show-aliases (-a) shows aliases for commands, as well as built-in commands
--hide-user-defined (-u) hides user defined commands
by default 'help' without arguments does not show aliases anymore. to see them, add --show-aliases
to have only built-in commands appear, use 'help --hide-user-defined' ; there is currently no way to hide
built-in commands from the help output
'help command' is not changed by this commit, and help is shown even if command is an alias and -a is not specified

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139377 91177308-0d34-0410-b5e6-96231b3b80d8
lias/TestAliases.py
ommand_python/TestCommandPython.py
fdf24efe672bf3fa041cdbebd2d7f406b11882bd 09-Sep-2011 Jim Ingham <jingham@apple.com> Move the SourceManager from the Debugger to the Target. That way it can store the per-Target default Source File & Line.
Set the default Source File & line to main (if it can be found.) at startup. Selecting the current thread & or frame resets
the current source file & line, and "source list" as well as the breakpoint command "break set -l <NUM>" will use the
current source file.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139323 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_command/TestBreakpointCommand.py
915448044bac6fdac22a33cc46697dcb771a8df2 06-Sep-2011 Enrico Granata <granata.enrico@gmail.com> Redesign of the interaction between Python and frozen objects:
- introduced two new classes ValueObjectConstResultChild and ValueObjectConstResultImpl: the first one is a ValueObjectChild obtained from
a ValueObjectConstResult, the second is a common implementation backend for VOCR and VOCRCh of method calls meant to read through pointers stored
in frozen objects ; now such reads transparently move from host to target as required
- as a consequence of the above, removed code that made target-memory copies of expression results in several places throughout LLDB, and also
removed code that enabled to recognize an expression result VO as such
- introduced a new GetPointeeData() method in ValueObject that lets you read a given amount of objects of type T from a VO
representing a T* or T[], and doing dereferences transparently
in private layer it returns a DataExtractor ; in public layer it returns an instance of a newly created lldb::SBData
- as GetPointeeData() does the right thing for both frozen and non-frozen ValueObject's, reimplemented ReadPointedString() to use it
en lieu of doing the raw read itself
- introduced a new GetData() method in ValueObject that lets you get a copy of the data that backs the ValueObject (for pointers,
this returns the address without any previous dereferencing steps ; for arrays it actually reads the whole chunk of memory)
in public layer this returns an SBData, just like GetPointeeData()
- introduced a new CreateValueFromData() method in SBValue that lets you create a new SBValue from a chunk of data wrapped in an SBData
the limitation to remember for this kind of SBValue is that they have no address: extracting the address-of for these objects (with any
of GetAddress(), GetLoadAddress() and AddressOf()) will return invalid values
- added several tests to check that "p"-ing objects (STL classes, char* and char[]) will do the right thing
Solved a bug where global pointers to global variables were not dereferenced correctly for display
New target setting "max-string-summary-length" gives the maximum number of characters to show in a string when summarizing it, instead of the hardcoded 128
Solved a bug where the summary for char[] and char* would not be shown if the ValueObject's were dumped via the "p" command
Removed m_pointers_point_to_load_addrs from ValueObject. Introduced a new m_address_type_of_children, which each ValueObject can set to tell the address type
of any pointers and/or references it creates. In the current codebase, this is load address most of the time (the only notable exception being file
addresses that generate file address children UNLESS we have a live process)
Updated help text for summary-string
Fixed an issue in STL formatters where std::stlcontainer::iterator would match the container's synthetic children providers
Edited the syntax and help for some commands to have proper argument types


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@139160 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-cpp/TestDataFormatterCpp.py
ata-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
ata-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py
arget_command/TestTargetCommand.py
arget_command/globals.c
6033bedc163bc57b5e5c3c1aee8ba81f64b4f11e 26-Aug-2011 Johnny Chen <johnny.chen@apple.com> Add a new attribute self.lldbHere, representing the fullpath to the 'lldb' executable
built locally from the source tree. This is distinguished from self.lldbExec, which
can be used by test/benchmarks to measure the performances against other debuggers.

You can use environment variable LLDB_EXEC to specify self.lldbExec to the dotest.py
test driver, otherwise it is going to be populated with self.lldbHere.

Modify the regular tests under test dir, i.e., not test/benchmarks, to use self.lldbHere.
Also modify the benchmarks tests to use self.lldbHere when it needs an 'lldb' executable
with debug info to do the performance measurements.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138608 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_regex/TestCommandRegex.py
mbedded_interpreter/TestConvenienceVariables.py
top-hook/TestStopHookMechanism.py
752296193c7d9fff8c3486f04e392977cd973f0d 24-Aug-2011 Johnny Chen <johnny.chen@apple.com> Don't display the stdout if not in TraceOn(), i.e, '-t option, mode.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138458 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_python/TestCommandPython.py
37ef7c73ea2e84965c54c9c2d4ea5c5d6e7dbdd1 24-Aug-2011 Enrico Granata <granata.enrico@gmail.com> Moved the test code for Python commands out of the test case for aliases, into its own dedicated test case (one fill was still lurking in the old folder)

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138446 91177308-0d34-0410-b5e6-96231b3b80d8
lias/py_import
46623be1656d64a261c0d5e0150c49e9abc82ca1 24-Aug-2011 Enrico Granata <granata.enrico@gmail.com> Moved the test code for Python commands out of the test case for aliases, into its own dedicated test case

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138444 91177308-0d34-0410-b5e6-96231b3b80d8
lias/TestAliases.py
lias/welcome.py
ommand_python/Makefile
ommand_python/TestCommandPython.py
ommand_python/main.cpp
ommand_python/py_import
ommand_python/welcome.py
92f75728050db93bfaf3e73d86a4a8a3a75dad8a 24-Aug-2011 Johnny Chen <johnny.chen@apple.com> Uniquefy the various data-formatter test class names so that:

./dotest.py -v -f DataFormatterTestCase.test_with_dsym_and_run_command

will not end up running 14 tests.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138399 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-advanced/TestDataFormatterAdv.py
ata-formatter/data-formatter-categories/TestDataFormatterCategories.py
ata-formatter/data-formatter-cpp/TestDataFormatterCpp.py
ata-formatter/data-formatter-globals/TestDataFormatterGlobals.py
ata-formatter/data-formatter-named-summaries/TestDataFormatterNamedSummaries.py
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
ata-formatter/data-formatter-script/TestDataFormatterScript.py
ata-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py
ata-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py
ata-formatter/data-formatter-synth/TestDataFormatterSynth.py
ata-formatter/rdar-9973865/Test-rdar-9973865.py
ata-formatter/rdar-9973992/Test-rdar-9973992.py
ata-formatter/rdar-9974002/Test-rdar-9974002.py
ef1923d722126810ef879edb959eed8c85a0742f 23-Aug-2011 Enrico Granata <granata.enrico@gmail.com> Improved the user-friendliness of errors shown by the summary feature in certain areas
Renamed format "signed decimal" to be "decimal". "unsigned decimal" remains unchanged:
- the name "signed decimal" was interfering with symbol %S (use summary) in summary strings.
because of the way summary strings are implemented, this did not really lead to a bug, but
simply to performing more steps than necessary to display a summary. this is fixed.
Documentation improvements (more on synthetic children, some information on filters). This is still a WIP.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138384 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/rdar-9974002/Makefile
ata-formatter/rdar-9974002/Test-rdar-9974002.py
ata-formatter/rdar-9974002/main.cpp
242ffb80dd0c1c650c8a9f05656a3ba2f339993d 23-Aug-2011 Enrico Granata <granata.enrico@gmail.com> Short option for --summary-string in 'type summary add' is now -s. This might be a breaking change for those who have summaries defined.

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138331 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-advanced/TestDataFormatterAdv.py
ata-formatter/data-formatter-categories/TestDataFormatterCategories.py
ata-formatter/data-formatter-cpp/TestDataFormatterCpp.py
ata-formatter/data-formatter-globals/TestDataFormatterGlobals.py
ata-formatter/data-formatter-named-summaries/TestDataFormatterNamedSummaries.py
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
ata-formatter/data-formatter-script/TestDataFormatterScript.py
ata-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py
ata-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py
ata-formatter/data-formatter-synth/TestDataFormatterSynth.py
ata-formatter/rdar-9973865/Test-rdar-9973865.py
ata-formatter/rdar-9973992/Test-rdar-9973992.py
2c6a3d80dab3cf50c26fefe037357a4e6e621258 23-Aug-2011 Enrico Granata <granata.enrico@gmail.com> Additional code cleanups ; Short option name for --python-script in type summary add moved from -s to -o (this is a preliminary step in moving the short option for --summary-string from -f to -s) ; Accordingly updated the test suite

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138315 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-categories/TestDataFormatterCategories.py
ata-formatter/data-formatter-globals/TestDataFormatterGlobals.py
ata-formatter/data-formatter-script/TestDataFormatterScript.py
ata-formatter/data-formatter-synth/TestDataFormatterSynth.py
960691ff5f194be6c655c6a2aae2000d5a838647 22-Aug-2011 Enrico Granata <granata.enrico@gmail.com> - Support for Python namespaces:
If you have a Python module foo, in order to use its contained objects in LLDB you do not need to use
'from foo import *'. You can use 'import foo', and then refer to items in foo as 'foo.bar', and LLDB
will know how to resolve bar as a member of foo.
Accordingly, GNU libstdc++ formatters have been moved from the global namespace to gnu_libstdcpp and a few
test cases are also updated to reflect the new convention. Python docs suggest using a plain 'import' en lieu of
'from-import'.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138244 91177308-0d34-0410-b5e6-96231b3b80d8
lias/TestAliases.py
lias/py_import
13a54a141acd6255e4e11db466951ec1f26aa2f5 19-Aug-2011 Enrico Granata <granata.enrico@gmail.com> Taking care of an issue with using lldb_private types in SBCommandInterpreter.cpp ; Making NSString test case work on Snow Leopard ; Removing an unused variable warning

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138105 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
6f30287bdc836c715fcac75b06ec58d13b79e715 19-Aug-2011 Enrico Granata <granata.enrico@gmail.com> - Now using ${var} as the summary for an aggregate type will produce "name-of-type @ object-location" instead of giving an error
e.g. you may get "foo_class @ 0x123456" when typing "type summary add -f ${var} foo_class"
- Added a new special formatting token %T for summaries. This shows the type of the object.
Using it, the new "type @ location" summary could be manually generated by writing ${var%T} @ ${var%L}
- Bits and pieces required to support "frame variable array[n-m]"
The feature is not enabled yet because some additional design and support code is required, but the basics
are getting there
- Fixed a potential issue where a ValueObjectSyntheticFilter was not holding on to its SyntheticChildrenSP
Because of the way VOSF are being built now, this has never been an actual issue, but it is still sensible for
a VOSF to hold on to the SyntheticChildrenSP as well as to its FrontEnd


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138080 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-cpp/TestDataFormatterCpp.py
ata-formatter/rdar-9973865/Test-rdar-9973865.py
ata-formatter/rdar-9973992/Makefile
ata-formatter/rdar-9973992/Test-rdar-9973992.py
ata-formatter/rdar-9973992/main.cpp
2f2c6fb9e61dadd9296948cb358680172b30232e 19-Aug-2011 Enrico Granata <granata.enrico@gmail.com> More thorough fix for the spaces-in-typename issue

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138026 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-cpp/TestDataFormatterCpp.py
d3a86a2bad17204570577dbafc51f3b107310de8 19-Aug-2011 Enrico Granata <granata.enrico@gmail.com> Third round of code cleanups:
- reorganizing the PTS (Partial Template Specializations) in FormatManager.h
- applied a patch by Filipe Cabecinhas to make LLDB compile with GCC
Functional changes:
- fixed an issue where command type summary add for type "struct Foo" would not match any types.
currently, "struct" will be stripped off and type "Foo" will be matched.
similar behavior occurs for class, enum and union specifiers.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@138020 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-cpp/TestDataFormatterCpp.py
1c61743af946076e988d88baf725382e99d905de 18-Aug-2011 Enrico Granata <granata.enrico@gmail.com> Second round of code cleanups:
- reorganizing classes layout to have public part first
Typedefs that we want to keep private, but must be defined for some public code to work correctly are an exception
- avoiding methods in the form T foo() { code; } all on one-line
- moving method implementations from .h to .cpp whenever feasible
Templatized code is an exception and so are very small methods
- generally, adhering to coding conventions followed project-wide
Functional changes:
- fixed an issue where using ${var} in a summary for an aggregate, and then displaying a pointer-to-aggregate would lead to no summary being displayed
The issue was not a major one because all ${var} was meant to do in that context was display an error for invalid use of pointer
Accordingly fixed test cases and added a new test case


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137944 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py
ata-formatter/rdar-9973865/Makefile
ata-formatter/rdar-9973865/Test-rdar-9973865.py
ata-formatter/rdar-9973865/main.cpp
f501c5913d5daaf45a906477bdf466bb74ed10fb 18-Aug-2011 Enrico Granata <granata.enrico@gmail.com> First round of code cleanups:
- all instances of "vobj" have been renamed to "valobj"
- class Debugger::Formatting has been renamed to DataVisualization (defined in FormatManager.h/cpp)
The interface to this class has not changed
- FormatCategory now uses ConstString's as keys to the navigators instead of repeatedly casting
from ConstString to const char* and back all the time
Next step is making the same happen for categories themselves
- category gnu-libstdc++ is defined in the constructor for a FormatManager
The source code for it is defined in gnu_libstdcpp.py, drawn from examples/synthetic at compile time
All references to previous 'osxcpp' name have been removed from both code and file names
Functional changes:
- the name of the option to use a summary string for 'type summary add' has changed from the previous --format-string
to the new --summary-string. It is expected that the short option will change from -f to -s, and -s for --python-script
will become -o


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137886 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py
074e3b6c2eac1438a85e464796cbc19b4354d5ad 17-Aug-2011 Enrico Granata <granata.enrico@gmail.com> New category "gnu-libstdc++" provides summary for std::string and synthetic children for types std::map, std::list and std::vector
The category is enabled by default. If you run into issues with it, disable it and the previous behavior of LLDB is restored
** This is a temporary solution. The general solution to having formatters pulled in at startup should involve going through the Platform.
Fixed an issue in type synthetic list where a category with synthetic providers in it was not shown if all the providers were regex-based


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137850 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
e5e34cb15f031237004b05abfa623c71f879f6c0 17-Aug-2011 Enrico Granata <granata.enrico@gmail.com> When defining a scripted command, it is possible to provide a docstring and that will be used as the help text for the command
If no docstring is provided, a default help text is created
LLDB will refuse to create scripted commands if the scripting language is anything but Python
Some additional comments in AppleObjCRuntimeV2.cpp to describe the memory layout expected by the dynamic type lookup code


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137801 91177308-0d34-0410-b5e6-96231b3b80d8
lias/TestAliases.py
lias/welcome.py
6b1596d81c34c6efb10ed51a3572d6b145b73f5b 17-Aug-2011 Enrico Granata <granata.enrico@gmail.com> Changes to Python commands:
- They now have an SBCommandReturnObject instead of an SBStream as third argument
- The class CommandObjectPythonFunction has been merged into CommandObjectCommands.cpp
- The command to manage them is now:
command script with subcommands add, list, delete, clear
command alias is returned to its previous functionality
- Python commands are now part of an user dictionary, instead of being seen as aliases



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137785 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/TestAbbreviations.py
lias/TestAliases.py
lias/py_import
lias/welcome.py
c2a2825d787be5459fc55264e55b6020ff62f68a 16-Aug-2011 Enrico Granata <granata.enrico@gmail.com> Python commands:
It is now possible to use 'command alias --python' to define a command name that actually triggers execution of a Python function
(e.g. command alias --python foo foo_impl makes a command named 'foo' that runs Python function 'foo_impl')
The Python function foo_impl should have as signature: def foo_impl(debugger, args, stream, dict): where
debugger is an object wrapping an LLDB SBDebugger
args is the command line arguments, as an unparsed Python string
stream is an SBStream that represents the standard output
dict is an internal utility parameter and should be left untouched
The function should return None on no error, or an error string to describe any problems


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137722 91177308-0d34-0410-b5e6-96231b3b80d8
lias/TestAliases.py
lias/py_import
lias/welcome.py
7f9985a68d49e284145cc1daeea3d2e9d48eb138 12-Aug-2011 Johnny Chen <johnny.chen@apple.com> Add TestInferiorChanged.py to test that lldb reloads the inferior after it was changed during the debug session.
First, main.c causes a crash, the inferior then gets re-built with main2.c which is not crashing.

Add Base.cleanup(self, dictionary=None) for platform specfic way to do cleanup after build.
This plugin method is used by the above test case to cleanup the main.c build before rebuild for main2.c.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137500 91177308-0d34-0410-b5e6-96231b3b80d8
nferior-changed/Makefile
nferior-changed/TestInferiorChanged.py
nferior-changed/main.c
nferior-changed/main2.c
06f0db61da5e218e298ef6db0c4775e3daffc2c8 12-Aug-2011 Enrico Granata <granata.enrico@gmail.com> Added an error message when the user tries to add a filter when a synthetic provider for the same type is already defined in the same category
The converse is also true: an error is shown when the user tries to add a synthetic provider to a category that already has a filter for the same type


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137493 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
018921dd162d818e71cf1ac86d03422e88f0a674 12-Aug-2011 Enrico Granata <granata.enrico@gmail.com> *Some more optimizations in usage of ConstString
*New setting target.max-children-count gives an upper-bound to the number of child objects that will be displayed at each depth-level
This might be a breaking change in some scenarios. To override the new limit you can use the --show-all-children (-A) option
to frame variable or increase the limit in your lldbinit file
*Command "type synthetic" has been split in two:
- "type synthetic" now only handles Python synthetic children providers
- the new command "type filter" handles filters
Because filters and synthetic providers are both ways to replace the children of a ValueObject, only one can be effective at any given time.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137416 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-advanced/TestDataFormatterAdv.py
ata-formatter/data-formatter-advanced/main.cpp
ata-formatter/data-formatter-categories/TestDataFormatterCategories.py
ata-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
ata-formatter/data-formatter-synth/TestDataFormatterSynth.py
9c57fc067307ebb1abe50de6ff704d4b2ae9b9d4 11-Aug-2011 Enrico Granata <granata.enrico@gmail.com> Fixed an issue where a pointer's address was being logged instead of its value
Access to synthetic children by name:
if your object has a synthetic child named foo you can now type
frame variable object.foo (or ->foo if you have a pointer)
and that will print the value of the synthetic child
(if your object has an actual child named foo, the actual child prevails!)
this behavior should also work in summaries, and you should be able to use
${var.foo} and ${svar.foo} interchangeably
(but using svar.foo will mask an actual child named foo)


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137314 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
840eb267769b943926bb9fcb527ab91221cf7a07 10-Aug-2011 Enrico Granata <granata.enrico@gmail.com> CFString.py now shows contents in a more NSString-like way (e.g. you get @"Hello" instead of "Hello")
new --raw-output (-R) option to frame variable prevents using summaries and synthetic children
other future formatting enhancements will be excluded by using the -R option
test case enhanced to check that -R works correctly


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137185 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/CFString.py
ata-formatter/data-formatter-synth/TestDataFormatterSynth.py
21f37ad875d4f50d1b4b3d307e120f6d27103730 09-Aug-2011 Jim Ingham <jingham@apple.com> Move the handling of breakpoint conditions from the Private event loop to the StopInfoBreakpoint::DoActions, which happens as the
event is removed. Also use the return value of asynchronous breakpoint callbacks, they get checked before, and override the
breakpoint conditions.

Added ProcessModInfo class, to unify "stop_id generation" and "memory modification generation", and use where needed.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137102 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_conditions/TestBreakpointConditions.py
f669850b51f3898020cbae8fdfd17faf4f18ba02 09-Aug-2011 Enrico Granata <granata.enrico@gmail.com> Basic support for reading synthetic children by index:
if your datatype provides synthetic children, "frame variable object[index]" should now do the right thing
in cases where the above syntax would have been rejected before, i.e.
object is not a pointer nor an array (frame variable ignores potential overload of [])
object is a pointer to an Objective-C class (which cannot be dereferenced)
expression will still run operator[] if available and complain if it cannot do so
synthetic children by name do not work yet


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137097 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
f8b468e115f7cfe193b29c22104c7d04419f4e14 06-Aug-2011 Sean Callanan <scallanan@apple.com> Made the expression parser use the StackFrame's
variable search API rather than rolling its own,
fixing one of our testcases.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@137004 91177308-0d34-0410-b5e6-96231b3b80d8
on-overlapping-index-variable-i/TestIndexVariable.py
a54ad9917626ca26d29edd13f74e1856548301d9 05-Aug-2011 Enrico Granata <granata.enrico@gmail.com> Option --regex (-x) now also works for synthetic children:
- Added a test case in python-synth
Minor code improvements in categories, making them ready for adding new element types

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136957 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
ata-formatter/data-formatter-python-synth/main.cpp
e29454547f97fa23968c2f3f4de4aea73d19162b 04-Aug-2011 Enrico Granata <granata.enrico@gmail.com> changing CFString.py to reflect the new behavior of CreateValueFromAddress

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136887 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/CFString.py
4e5397c1127d698c61df295f30909e573a1c9876 04-Aug-2011 Enrico Granata <granata.enrico@gmail.com> New formatting symbol %# can be used in summary strings to get the "count of children" of a variable
- accordingly, the test cases for the synthetic providers for the std:: containers have been edited to use
${svar%#} instead of ${svar.len} to print out the count of elements ; the .len synthetic child has been
removed from the synthetic providers
The synthetic children providers for the std:: containers now return None when asked for children indexes >= num_children()
Basic code to support filter names based on regular expressions (WIP)


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136862 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-python-synth/StdListSynthProvider.py
ata-formatter/data-formatter-python-synth/StdMapSynthProvider.py
ata-formatter/data-formatter-python-synth/StdVectorSynthProvider.py
ata-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
c92eb4004a354b0ea085b610b2ba991e575b1c32 04-Aug-2011 Enrico Granata <granata.enrico@gmail.com> APIs to GetValueAsSigned/Unsigned() in SBValue now also accept an SBError parameter to give more info about any problem
The synthetic children providers now use the new (safer) APIs to get the values of objects
As a side effect, fixed an issue in ValueObject where ResolveValue() was not always updating the value before reading it


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136861 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/CFString.py
ata-formatter/data-formatter-python-synth/StdListSynthProvider.py
ata-formatter/data-formatter-python-synth/StdMapSynthProvider.py
ata-formatter/data-formatter-python-synth/StdVectorSynthProvider.py
0fb0bcc9d4e951145e1b8c783652224c09b23af4 04-Aug-2011 Greg Clayton <gclayton@apple.com> Cleaned up the SBType.h file to not include internal headers and reorganized
the SBType implementation classes.

Fixed LLDB core and the test suite to not use deprecated SBValue APIs.

Added a few new APIs to SBValue:

int64_t
SBValue::GetValueAsSigned(int64_t fail_value=0);

uint64_t
SBValue::GetValueAsUnsigned(uint64_t fail_value=0)




git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136829 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/breakpoint_conditions/TestBreakpointConditions.py
onditional_break/TestConditionalBreak.py
4a1ef6f72121a2132d9f9594ce22242fb4454996 03-Aug-2011 Johnny Chen <johnny.chen@apple.com> Minor modification to get the full path to the target program.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136815 91177308-0d34-0410-b5e6-96231b3b80d8
on-overlapping-index-variable-i/TestIndexVariable.py
f31a4c21a978ed32a540b1db1f75c8e472e08d25 03-Aug-2011 Johnny Chen <johnny.chen@apple.com> Remove copy-and-paste residues.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136812 91177308-0d34-0410-b5e6-96231b3b80d8
on-overlapping-index-variable-i/TestIndexVariable.py
d325115c71b077208625804b27cc095c857ca259 03-Aug-2011 Johnny Chen <johnny.chen@apple.com> Fix typos.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136809 91177308-0d34-0410-b5e6-96231b3b80d8
on-overlapping-index-variable-i/main.cpp
37f6b796336296f20a97bf4ed1f7fb5cd7cddfa2 03-Aug-2011 Johnny Chen <johnny.chen@apple.com> Add license header comment.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136808 91177308-0d34-0410-b5e6-96231b3b80d8
on-overlapping-index-variable-i/main.cpp
a013b20d2cf2c2c5ab589efcfd6f0eecce4db3cf 03-Aug-2011 Johnny Chen <johnny.chen@apple.com> Conditionize the 'print "Set environment ..."' stmt.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136806 91177308-0d34-0410-b5e6-96231b3b80d8
oad_unload/TestLoadUnload.py
af60381708b9a35f3fe21d7fc4d145df3f50a215 03-Aug-2011 Jim Ingham <jingham@apple.com> Add a directory to make the second copy of libd.dylib in, so we don't have
to make & delete directories in the test case. Make a real copy of libd.dylib
in that directory so the two libraries are actually different. Use (and remove)
the DYLD_LIBRARY_PATH to point to the new library.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136801 91177308-0d34-0410-b5e6-96231b3b80d8
oad_unload/Makefile
oad_unload/TestLoadUnload.py
b4e4ecc50c9561da54ee389b1749bdc7040a4625 03-Aug-2011 Johnny Chen <johnny.chen@apple.com> Add expectedFailure decorator.
rdar://problem/9890530


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136798 91177308-0d34-0410-b5e6-96231b3b80d8
on-overlapping-index-variable-i/TestIndexVariable.py
1684446acb5d2a66c8546c8b833522ca2b12c5fd 03-Aug-2011 Johnny Chen <johnny.chen@apple.com> Unquote the env_cmd_string variable.
Skip the test case test_dyld_library_path(self) because it causes the debugserver to crash.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136796 91177308-0d34-0410-b5e6-96231b3b80d8
oad_unload/TestLoadUnload.py
77ee3932a553e4b7deec3208aa5db106d3f6b18d 03-Aug-2011 Jim Ingham <jingham@apple.com> Don't set DYLD_LIBRARY_PATH in the Python environment (which will get passed down to
debugserver) but set it in the debugger settings (which will just get passed down to
the target).


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136793 91177308-0d34-0410-b5e6-96231b3b80d8
oad_unload/TestLoadUnload.py
433c64a5a9aefb9551b739a4450016b51cfbec62 03-Aug-2011 Enrico Granata <granata.enrico@gmail.com> testing for a previous issue where formats in summaries where not enforced in all cases ; removed an unused local variable

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136785 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-advanced/TestDataFormatterAdv.py
ata-formatter/data-formatter-advanced/main.cpp
441f08ca9d17fad237b93a71aeab9dad74ea1258 03-Aug-2011 Enrico Granata <granata.enrico@gmail.com> Fixed an issue where the KVO swizzled type would be returned as the dynamic type instead of the actual user-level type
- see the test case in lang/objc/objc-dynamic-value for an example
Objective-C dynamic type lookup now works for every Objective-C type
- previously, true dynamic lookup was only performed for type id


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136763 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
e013e105aaac6484a1464c5f96ad59c8d044600f 03-Aug-2011 Johnny Chen <johnny.chen@apple.com> Add a test file to go with r136745. It fails, though, for:

expr ptr[i]->point.x

Radar to be filed.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136760 91177308-0d34-0410-b5e6-96231b3b80d8
on-overlapping-index-variable-i/Makefile
on-overlapping-index-variable-i/TestIndexVariable.py
on-overlapping-index-variable-i/main.cpp
afb7c85df796f74262917e44dd68f668dade3911 02-Aug-2011 Enrico Granata <granata.enrico@gmail.com> Fixed a bug where a variable could not be formatted in a summary if its datatype already had a custom format
Fixed a bug where Objective-C variables coming out of the expression parser could crash the Python synthetic providers:
- expression parser output has a "frozen data" component, which is a byte-exact copy of the value (in host memory),
if trying to read into memory based on the host address, LLDB would crash. we are now passing the correct (target)
pointer to the Python code
Objective-C "id" variables are now formatted according to their dynamic type, if the -d option to frame variable is used:
- Code based on the Objective-C 2.0 runtime is used to obtain this information without running code on the target


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136695 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-categories/TestDataFormatterCategories.py
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-objc/main.m
37952c28e302838d46876f45d108ba2b1d41e760 31-Jul-2011 Greg Clayton <gclayton@apple.com> Protect a bit against uninitialized std::list objects, but there is more
work to be done.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136579 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-python-synth/StdListSynthProvider.py
73ab7f1164c2ac67dbc496621ffa32400e97711f 31-Jul-2011 Greg Clayton <gclayton@apple.com> Protect a bit better against uninitialized vectors.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136578 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-python-synth/StdVectorSynthProvider.py
e626c49ef212ec4128d936c2847874d13d1474f3 30-Jul-2011 Greg Clayton <gclayton@apple.com> Cleaned up the NSString summary formatter to not print "<invalid object>" when
we have a nil NSString *. Also added blank lines between functions in the
CFString.py files.



git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136554 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/CFString.py
ata-formatter/data-formatter-objc/main.m
bfc06133b152a3391c3d5ceeb2d481f1d2e43000 30-Jul-2011 Enrico Granata <granata.enrico@gmail.com> changes in the new GetMinimumLanguages() ; robustness improvements in the CFStringSynthProvider object ; made a CFString_SummaryProvider function you can use if all you care about is the summary string for your NSString objects

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136544 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/CFString.py
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-objc/main.m
6a4e58e62acc6b764bd1dfb8b737e0c368601a85 29-Jul-2011 Enrico Granata <granata.enrico@gmail.com> new synthetic children provider for CFString and related classes ; test case for it

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136525 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-objc/CFString.py
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-objc/main.m
979e20d127335143ffc89c2e37ec3a8b717ff22d 29-Jul-2011 Enrico Granata <granata.enrico@gmail.com> Public API changes:
- Completely new implementation of SBType
- Various enhancements in several other classes
Python synthetic children providers for std::vector<T>, std::list<T> and std::map<K,V>:
- these return the actual elements into the container as the children of the container
- basic template name parsing that works (hopefully) on both Clang and GCC
- find them in examples/synthetic and in the test suite in functionalities/data-formatter/data-formatter-python-synth
New summary string token ${svar :
- the syntax is just the same as in ${var but this new token lets you read the values
coming from the synthetic children provider instead of the actual children
- Python providers above provide a synthetic child len that returns the number of elements
into the container
Full bug fix for the issue in which getting byte size for a non-complete type would crash LLDB
Several other fixes, including:
- inverted the order of arguments in the ClangASTType constructor
- EvaluationPoint now only returns SharedPointer's to Target and Process
- the help text for several type subcommands now correctly indicates argument-less options as such


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@136504 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-python-synth/StdListSynthProvider.py
ata-formatter/data-formatter-python-synth/StdMapSynthProvider.py
ata-formatter/data-formatter-python-synth/StdVectorSynthProvider.py
ata-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
ata-formatter/data-formatter-python-synth/fooSynthProvider.py
ata-formatter/data-formatter-python-synth/ftsp.py
ata-formatter/data-formatter-python-synth/main.cpp
e89ab7b58d2542f4f42e923fa65ef8984840a90c 25-Jul-2011 Enrico Granata <granata.enrico@gmail.com> new flag -P to type synth add lets you type a Python class interactively
added a final newline to fooSynthProvider.py
new option to automatically save user input in InputReaderEZ
checking for NULL pointers in several new places


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135916 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-python-synth/fooSynthProvider.py
9ae7cef26612773c6b3422834cec83f0fbb2cf8c 24-Jul-2011 Enrico Granata <granata.enrico@gmail.com> Python synthetic children:
- you can now define a Python class as a synthetic children producer for a type
the class must adhere to this "interface":
def __init__(self, valobj, dict):
def get_child_at_index(self, index):
def get_child_index(self, name):
then using type synth add -l className typeName
(e.g. type synth add -l fooSynthProvider foo)
(This is still WIP with lots to be added)
A small test case is available also as reference

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135865 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-python-synth/Makefile
ata-formatter/data-formatter-python-synth/TestDataFormatterPythonSynth.py
ata-formatter/data-formatter-python-synth/fooSynthProvider.py
ata-formatter/data-formatter-python-synth/main.cpp
de4059f2f6a864f5af102a59b56602183b9239bd 22-Jul-2011 Enrico Granata <granata.enrico@gmail.com> some editing of data visualization error messages to make them more meaningful
debugging printfs() for data visualization turned into a meaningful log:
- introduced a new log category `types' in channel `lldb'


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135773 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py
e4e3e2c0448bb0c77f8f8a3bbb47b951a481d3d8 22-Jul-2011 Enrico Granata <granata.enrico@gmail.com> when typing a summary string you can use the %S symbol to explicitly indicate that you want the summary to be used to print the target object
(e.g. ${var%S}). this might already be the default if your variable is of an aggregate type
new feature: synthetic filters. you can restrict the number of children for your variables to only a meaningful subset
- the restricted list of children obeys the typical rules (e.g. summaries prevail over children)
- one-line summaries show only the filtered (synthetic) children, if you type an expanded summary string, or you use Python scripts, all the real children are accessible
- to provide a synthetic children list use the "type synth add" command, as in:
type synth add foo_type --child varA --child varB[0] --child varC->packet->flags[1-4]
(you can use ., ->, single-item array operator [N] and bitfield operator [N-M]; array slice access is not supported, giving simplified names to expression paths is not supported)
- a new -S option to frame variable and target variable lets you override synthetic children and instead show real ones

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135731 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-categories/TestDataFormatterCategories.py
ata-formatter/data-formatter-cpp/TestDataFormatterCpp.py
ata-formatter/data-formatter-cpp/main.cpp
ata-formatter/data-formatter-synth/Makefile
ata-formatter/data-formatter-synth/TestDataFormatterSynth.py
ata-formatter/data-formatter-synth/main.cpp
da4d47907f205dcbfa728a652ef3c8b2cc206fe3 20-Jul-2011 Johnny Chen <johnny.chen@apple.com> Skip the remaining -Y? (skipping ? layers of summaries) tests if using a known version
of Apple gcc build which produces wrong namespace for std::string in debug info.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135597 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py
4c3fb4b50a87e6e08987096d7edacc26545f58dc 19-Jul-2011 Enrico Granata <granata.enrico@gmail.com> The implementation of categories is now synchronization safe
Code cleanup:
- The Format Manager implementation is now split between two files: FormatClasses.{h|cpp} where the
actual formatter classes (ValueFormat, SummaryFormat, ...) are implemented and
FormatManager.{h|cpp} where the infrastructure classes (FormatNavigator, FormatManager, ...)
are contained. The wrapper code always remains in Debugger.{h|cpp}
- Several leftover fields, methods and comments from previous design choices have been removed
type category subcommands (enable, disable, delete) now can take a list of category names as input
- for type category enable, saying "enable A B C" is the same as saying
enable C
enable B
enable A
(the ordering is relevant in enabling categories, and it is expected that a user typing
enable A B C wants to look into category A, then into B, then into C and not the other
way round)
- for the other two commands, the order is not really relevant (however, the same inverted ordering
is used for consistency)


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135494 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-categories/TestDataFormatterCategories.py
ata-formatter/data-formatter-categories/main.cpp
8a717e596312951672ecd8c54df2d255e6da20ba 19-Jul-2011 Enrico Granata <granata.enrico@gmail.com> Fixed a bug where deleting a regex summary would not immediately reflect in the variables display
The "systemwide summaries" feature has been removed and replaced with a more general and
powerful mechanism.
Categories:
- summaries can now be grouped into buckets, called "categories" (it is expected that categories
correspond to libraries and/or runtime environments)
- to add a summary to a category, you can use the -w option to type summary add and give
a category name (e.g. type summary add -f "foo" foo_t -w foo_category)
- categories are by default disabled, which means LLDB will not look into them for summaries,
to enable a category use "type category enable". once a category is enabled, LLDB will
look into that category for summaries. the rules are quite trivial: every enabled category
is searched for an exact match. if an exact match is nowhere to be found, any match is
searched for in every enabled category (whether it involves cascading, going to base classes,
...). categories are searched into the order in which they were enabled (the most recently
enabled category first, then the second most and so on..)
- by default, most commands that deal with summaries, use a category named "default" if no
explicit -w parameter is given (the observable behavior of LLDB should not change when
categories are not explicitly used)
- the systemwide summaries are now part of a "system" category

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135463 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-categories/Makefile
ata-formatter/data-formatter-categories/TestDataFormatterCategories.py
ata-formatter/data-formatter-categories/main.cpp
ata-formatter/data-formatter-globals/Makefile
ata-formatter/data-formatter-globals/TestDataFormatterGlobals.py
ata-formatter/data-formatter-globals/main.cpp
ata-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py
7f163b363aeccffeec8eda23bd31e4965abc7226 16-Jul-2011 Enrico Granata <granata.enrico@gmail.com> Some descriptive text for the Python script feature:
- help type summary add now gives some hints on how to use it
frame variable and target variable now have a --no-summary-depth (-Y) option:
- simply using -Y without an argument will skip one level of summaries, i.e.
your aggregate types will expand their children and display no summary, even
if they have one. children will behave normally
- using -Y<int>, as in -Y4, -Y7, ..., will skip as many levels of summaries as
given by the <int> parameter (obviously, -Y and -Y1 are the same thing). children
beneath the given depth level will behave normally
-Y0 is the same as omitting the --no-summary-depth parameter entirely
This option replaces the defined-but-unimplemented --no-summary

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135336 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-skip-summary/Makefile
ata-formatter/data-formatter-skip-summary/TestDataFormatterSkipSummary.py
ata-formatter/data-formatter-skip-summary/main.cpp
90d207ede88604e278f68ee1b02600a35e56dd14 16-Jul-2011 Enrico Granata <granata.enrico@gmail.com> System-wide summaries:
- Summaries for char*, const char* and char[] are loaded at startup as
system-wide summaries. This means you cannot delete them unless you use
the -a option to type summary delete/clear
- You can add your own system-wide summaries by using the -w option to type
summary add
Several code improvements for the Python summaries feature

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135326 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-script/TestDataFormatterScript.py
ata-formatter/data-formatter-script/main.cpp
f7a9b14c2c02d2fa9fad586c19f29d77533fcc09 15-Jul-2011 Enrico Granata <granata.enrico@gmail.com> Python summary strings:
- you can use a Python script to write a summary string for data-types, in one of
three ways:
-P option and typing the script a line at a time
-s option and passing a one-line Python script
-F option and passing the name of a Python function
these options all work for the "type summary add" command
your Python code (if provided through -P or -s) is wrapped in a function
that accepts two parameters: valobj (a ValueObject) and dict (an LLDB
internal dictionary object). if you use -F and give a function name,
you're expected to define the function on your own and with the right
prototype. your function, however defined, must return a Python string
- test case for the Python summary feature
- a few quirks:
Python summaries cannot have names, and cannot use regex as type names
both issues will be fixed ASAP
major redesign of type summary code:
- type summary working with strings and type summary working with Python code
are two classes, with a common base class SummaryFormat
- SummaryFormat classes now are able to actively format objects rather than
just aggregating data
- cleaner code to print descriptions for summaries
the public API now exports a method to easily navigate a ValueObject hierarchy
New InputReaderEZ and PriorityPointerPair classes
Several minor fixes and improvements

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135238 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-script/Makefile
ata-formatter/data-formatter-script/TestDataFormatterScript.py
ata-formatter/data-formatter-script/main.cpp
4c1671d0a621a235a1944b1ba48afcf110010a2e 13-Jul-2011 Johnny Chen <johnny.chen@apple.com> Add @expectedFailure decorator for test_target_variable_command_with_dsym().

rdar://problem/9763907


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135069 91177308-0d34-0410-b5e6-96231b3b80d8
arget_command/TestTargetCommand.py
8db6cf5935667b206646bba9a0cc4e4cc8d0f943 13-Jul-2011 Johnny Chen <johnny.chen@apple.com> Add display of a static int variable to the test scenario.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135016 91177308-0d34-0410-b5e6-96231b3b80d8
arget_command/TestTargetCommand.py
arget_command/globals.c
192865315e77294605d83a985663ab467270fed0 13-Jul-2011 Johnny Chen <johnny.chen@apple.com> Add a test case to exercise 'target variable' command before and after running the inferior.
Currently it fails after the inferior is run.

rdar://problem/9763907


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135009 91177308-0d34-0410-b5e6-96231b3b80d8
arget_command/TestTargetCommand.py
arget_command/globals.c
7d8622c20f6c4f634961c3d88aaa2f0881785c00 13-Jul-2011 Enrico Granata <granata.enrico@gmail.com> test cases

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135008 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-smart-array/Makefile
ata-formatter/data-formatter-smart-array/TestDataFormatterSmartArray.py
ata-formatter/data-formatter-smart-array/main.cpp
86e7c3ecb82655e77581ec042aa6b31753a42afc 13-Jul-2011 Enrico Granata <granata.enrico@gmail.com> smarter summary strings:
- formats %s %char[] %c and %a now work to print 0-terminated c-strings if they are applied to a char* or char[] even without the [] operator (e.g. ${var%s})
- array formats (char[], intN[], ..) now work when applied to an array of a scalar type even without the [] operator (e.g. ${var%int32_t[]})
LLDB will not crash because of endless loop when trying to obtain a summary for an object that has no value and references itself in its summary string
In many cases, a wrong summary string will now display an "<error>" message instead of giving out an empty string

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135007 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-cpp/TestDataFormatterCpp.py
b44fcb3c4a4af385dfa07be66f3ae134692cb8e5 12-Jul-2011 Enrico Granata <granata.enrico@gmail.com> test case for the named summaries feature

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134944 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-named-summaries/Makefile
ata-formatter/data-formatter-named-summaries/TestDataFormatterNamedSummaries.py
ata-formatter/data-formatter-named-summaries/main.cpp
1a102087f54079c25c8827afac6153a44ca535da 12-Jul-2011 Enrico Granata <granata.enrico@gmail.com> named summaries:
- a new --name option for "type summary add" lets you give a name to a summary
- a new --summary option for "frame variable" lets you bind a named summary to one or more variables
${var%s} now works for printing the value of 0-terminated CStrings
type format test case now tests for cascading
- this is disabled on GCC because GCC may end up stripping typedef chains, basically breaking cascading
new design for the FormatNavigator class
new template class CleanUp2 meant to support cleanup routines with 1 additional parameter beyond resource handle

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134943 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-cpp/TestDataFormatterCpp.py
ata-formatter/data-formatter-cpp/main.cpp
425b0cf93f509ba63346e56654322b9d9bc91d60 12-Jul-2011 Johnny Chen <johnny.chen@apple.com> Passing in os.ctermid() as the arg for SBTarget.Launch(...) for stdin_path, stdout_path, and stderr_path
is just wrong and resulted in the inferior's output getting mixed into the GDB remote communication's
log file. Change all test cases to not pass os.ctermid() and either use SBTarget.LaunchSimple() or
SBTarget.Launch() and pass None as stdin_path/stdout_path/srderr_path to use a pseudo terminal.

rdar://problem/9716499 program output is getting mixed into the GDB remote communications


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134940 91177308-0d34-0410-b5e6-96231b3b80d8
onditional_break/TestConditionalBreak.py
ff78238a2ebc66a683dded02c2f99fba85077d05 08-Jul-2011 Enrico Granata <granata.enrico@gmail.com> final fix for the global constructors issue
new GetValueForExpressionPath() method in ValueObject to navigate expression paths in a more bitfield vs slices aware way
changes to the varformats.html document (WIP)

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134679 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-advanced/TestDataFormatterAdv.py
ata-formatter/data-formatter-advanced/main.cpp
ata-formatter/data-formatter-cpp/TestDataFormatterCpp.py
9762e10787a7efc2f0d822590cab42ca23d5e4f9 06-Jul-2011 Enrico Granata <granata.enrico@gmail.com> new syntax for summary strings:
- ${*expr} now simply means to dereference expr before actually using it
- bitfields, array ranges and pointer ranges now work in a (hopefully) more natural and language-compliant way
a new class TypeHierarchyNavigator replicates the behavior of the FormatManager in going through type hierarchies
when one-lining summary strings, children's summaries can be used as well as values

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134458 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-advanced/TestDataFormatterAdv.py
ata-formatter/data-formatter-advanced/main.cpp
ata-formatter/data-formatter-cpp/TestDataFormatterCpp.py
9b3117e0365f3a3d59cf9adc073f716cea3bf942 02-Jul-2011 Enrico Granata <granata.enrico@gmail.com> test cases for the new features just committed

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134294 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/data-formatter-advanced/Makefile
ata-formatter/data-formatter-advanced/TestDataFormatterAdv.py
ata-formatter/data-formatter-advanced/main.cpp
ata-formatter/data-formatter-cpp/Makefile
ata-formatter/data-formatter-cpp/TestDataFormatterCpp.py
ata-formatter/data-formatter-cpp/main.cpp
ata-formatter/data-formatter-objc/Makefile
ata-formatter/data-formatter-objc/TestDataFormatterObjC.py
ata-formatter/data-formatter-objc/main.m
886bc3e5cb48e9660692609a7be69ec15b898bd7 02-Jul-2011 Enrico Granata <granata.enrico@gmail.com> several improvements to "type summary":
- type names can now be regular expressions (exact matching is done first, and is faster)
- integral (and floating) types can be printed as bitfields, i.e. ${var[low-high]} will extract bits low thru high of the value and print them
- array subscripts are supported, both for arrays and for pointers. the syntax is ${*var[low-high]}, or ${*var[]} to print the whole array (the latter only works for statically sized arrays)
- summary is now printed by default when a summary string references a variable. if that variable's type has no summary, value is printed instead. to force value, you can use %V as a format specifier
- basic support for ObjectiveC:
- ObjectiveC inheritance chains are now walked through
- %@ can be specified as a summary format, to print the ObjectiveC runtime description for an object
- some bug fixes

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134293 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/Makefile
ata-formatter/TestDataFormatter.py
ata-formatter/main.cpp
1391a391072a4b25c21b7198733ef7aa47a616c7 30-Jun-2011 Enrico Granata <granata.enrico@gmail.com> This commit adds a new top subcommand "summary" to command type named "type". Currently this command
implements three commands:

type summary add <format> <typename1> [<typename2> ...]
type summary delete <typename1> [<typename2> ...]
type summary list [<typename1> [<typename2>] ...]
type summary clear

This allows you to specify the default format that will be used to display
summaries for variables, shown when you use "frame variable" or "expression", or the SBValue classes.

Examples:
type summary add "x = ${var.x}" Point

type summary list

type summary add --one-liner SimpleType

git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@134108 91177308-0d34-0410-b5e6-96231b3b80d8
ata-formatter/TestDataFormatter.py
ata-formatter/main.cpp
e2ac6dec08024429fcc8ef1646a435a732e5e94d 28-Jun-2011 Johnny Chen <johnny.chen@apple.com> Move to plevel dirs stop-hook, target, process_launch, and signal to reside under functionalities.
Rename target dir to target_command.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133951 91177308-0d34-0410-b5e6-96231b3b80d8
rocess_launch/Makefile
rocess_launch/TestProcessLaunch.py
rocess_launch/input-file.txt
rocess_launch/main.cpp
rocess_launch/print_cwd.cpp
ignal/Makefile
ignal/TestSendSignal.py
ignal/main.c
top-hook/Makefile
top-hook/TestStopHookCmd.py
top-hook/TestStopHookMechanism.py
top-hook/main.cpp
arget_command/Makefile
arget_command/TestTargetCommand.py
arget_command/a.c
arget_command/b.c
arget_command/c.c
17a1399a7e7fbc4d2adb4186cd472f7e72d8d161 27-Jun-2011 Johnny Chen <johnny.chen@apple.com> Move top level test dirs platform and inferior-crashing to reside under functionalities and order to reside under macosx.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133919 91177308-0d34-0410-b5e6-96231b3b80d8
nferior-crashing/Makefile
nferior-crashing/TestInferiorCrashing.py
nferior-crashing/main.c
latform/TestPlatformCommand.py
607914d2274f35335911d14ad4dcbce98f7e0511 27-Jun-2011 Johnny Chen <johnny.chen@apple.com> Move top level test dirs inlined_breakpoints, load_unload, and embedded_interpreter to reside under functionalities.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133918 91177308-0d34-0410-b5e6-96231b3b80d8
reakpoint/inlined_breakpoints/Makefile
reakpoint/inlined_breakpoints/TestInlinedBreakpoints.py
reakpoint/inlined_breakpoints/basic_type.cpp
reakpoint/inlined_breakpoints/int.cpp
mbedded_interpreter/Makefile
mbedded_interpreter/TestConvenienceVariables.py
mbedded_interpreter/main.c
oad_unload/Makefile
oad_unload/TestLoadUnload.py
oad_unload/a.c
oad_unload/b.c
oad_unload/c.c
oad_unload/cmds.txt
oad_unload/d.c
oad_unload/main.c
3f8dff9568c93f873b95673f2a648434701f85fa 26-Jun-2011 Johnny Chen <johnny.chen@apple.com> Move more top level test dirs to reside under functionalities dir.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133894 91177308-0d34-0410-b5e6-96231b3b80d8
ommand_regex/TestCommandRegex.py
ommand_source/.lldb
ommand_source/TestCommandSource.py
ommand_source/my.py
onditional_break/.lldb
onditional_break/Makefile
onditional_break/TestConditionalBreak.py
onditional_break/conditional_break.py
onditional_break/main.c
onnect_remote/EchoServer.py
onnect_remote/TestConnectRemote.py
ata-formatter/Makefile
ata-formatter/TestDataFormatter.py
ata-formatter/main.cpp
ead-strip/Makefile
ead-strip/TestDeadStrip.py
ead-strip/cmds.txt
ead-strip/main.c
aff8648274655617ab2ebd5cae7db43b0eba86ae 26-Jun-2011 Johnny Chen <johnny.chen@apple.com> A couple of directory renamings; get rid of 'tests' from the directory names.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133893 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation/Makefile
bbreviation/TestAbbreviations.py
bbreviation/change_prompt.lldb
bbreviation/main.cpp
bbreviation_tests/Makefile
bbreviation_tests/TestAbbreviations.py
bbreviation_tests/change_prompt.lldb
bbreviation_tests/main.cpp
lias/Makefile
lias/TestAliases.py
lias/main.cpp
lias_tests/Makefile
lias_tests/TestAliases.py
lias_tests/main.cpp
083e4a9b6c13eb737ca6279bbd7359e674a729a4 26-Jun-2011 Johnny Chen <johnny.chen@apple.com> Move some top level directories to reside under functionalities dir.


git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133892 91177308-0d34-0410-b5e6-96231b3b80d8
bbreviation_tests/Makefile
bbreviation_tests/TestAbbreviations.py
bbreviation_tests/change_prompt.lldb
bbreviation_tests/main.cpp
lias_tests/Makefile
lias_tests/TestAliases.py
lias_tests/main.cpp
reakpoint/breakpoint_command/Makefile
reakpoint/breakpoint_command/TestBreakpointCommand.py
reakpoint/breakpoint_command/main.c
reakpoint/breakpoint_conditions/Makefile
reakpoint/breakpoint_conditions/TestBreakpointConditions.py
reakpoint/breakpoint_conditions/main.c
reakpoint/breakpoint_ids/Makefile
reakpoint/breakpoint_ids/TestBreakpointIDs.py
reakpoint/breakpoint_ids/main.cpp
reakpoint/breakpoint_ignore_count/Makefile
reakpoint/breakpoint_ignore_count/TestBreakpointIgnoreCount.py
reakpoint/breakpoint_ignore_count/main.c
reakpoint/breakpoint_locations/Makefile
reakpoint/breakpoint_locations/TestBreakpointLocations.py
reakpoint/breakpoint_locations/main.c