326 Commits

Author SHA1 Message Date
Daniel Malea
2745d8467b 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.

llvm-svn: 173402
2013-01-25 00:31:48 +00:00
Daniel Malea
be230793fb Mark test cases affected by PR 15036 (GCC-generated DWARF causes parser crash)
- Add new decorator "@skipIfGcc" to lldbtest.py

llvm-svn: 173394
2013-01-24 23:52:09 +00:00
Daniel Malea
b8f80ee67f 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

llvm-svn: 173363
2013-01-24 19:47:06 +00:00
Daniel Malea
cf7304a201 PR14426 (breakpoint hit count incorrect) is resolved.
llvm-svn: 173362
2013-01-24 19:35:57 +00:00
Enrico Granata
c50b44801c lldb.thread is not to be used anymore
llvm-svn: 173119
2013-01-22 02:32:56 +00:00
Enrico Granata
e274088db0 <rdar://problem/12239827>
Making a summary for std::wstring as provided by libstdc++ along with a relevant test case

llvm-svn: 172286
2013-01-12 01:22:57 +00:00
Enrico Granata
3309d88198 <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

llvm-svn: 172282
2013-01-12 01:00:22 +00:00
Enrico Granata
b576bba229 <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.

llvm-svn: 171993
2013-01-09 20:12:53 +00:00
Matt Kopec
0ac31ac380 Add test to check the number of threads.
llvm-svn: 171869
2013-01-08 17:29:00 +00:00
Daniel Malea
97059d4377 Enable ProcessGDBRemote plugin on Linux
- Fixes test case TestConnectRemote

llvm-svn: 171855
2013-01-08 14:55:36 +00:00
Daniel Malea
6217d2ae37 Implement -w flag to process launch (allow launching inferior process in different working directory) on Linux/FreeBSD
- fixes test case TestProcessLaunch

llvm-svn: 171854
2013-01-08 14:49:22 +00:00
Greg Clayton
c1b2ccfd34 <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.

llvm-svn: 171816
2013-01-08 00:01:36 +00:00
Daniel Malea
939ec18099 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)

llvm-svn: 171569
2013-01-05 00:25:12 +00:00
Andrew Kaylor
184c6591ec Generalizing expected stop reason string checking in InferiorCrashing test case.
llvm-svn: 171554
2013-01-04 23:27:36 +00:00
Andrew Kaylor
06a18d7d56 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.

llvm-svn: 170818
2012-12-21 00:26:22 +00:00
Andrew Kaylor
d362d910f3 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.

llvm-svn: 170619
2012-12-20 00:19:27 +00:00
Andrew Kaylor
a817191605 Mark register tests as expectedFailureLinux because of bugzilla reports 14600 and 14661.
llvm-svn: 170605
2012-12-19 23:31:12 +00:00
Daniel Malea
c66cf9e3eb Disable confirmation prompt in TestProcessLaunch (to avoid hang on Linux once bug is fixed)
llvm-svn: 170603
2012-12-19 23:22:11 +00:00
Sean Callanan
7be70e8528 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>

llvm-svn: 170601
2012-12-19 23:05:01 +00:00
Andrew Kaylor
8013df71c7 Skip libc++ data formatter tests on Linux because there is no standard location for the makefile to find libc++.
llvm-svn: 170575
2012-12-19 19:32:40 +00:00
Daniel Malea
34f21d18b5 Test suite cleanup for Linux: mark test cases expected to fail due to open bugzillas
- bugzillas covered: 14323, 14600, 14541, 14437, 14540, 14541

llvm-svn: 170564
2012-12-19 17:19:28 +00:00
Jim Ingham
1b5792e5ad Adding events when watchpoints are set or changed.
<rdar://problem/11597849>

llvm-svn: 170400
2012-12-18 02:03:49 +00:00
Andrew Kaylor
d3ce0041b4 Skipping the DeadStripTestCase.test_with_dwarf test on Linux because the Linux ld lacks support for the -dead_strip option.
llvm-svn: 170244
2012-12-14 21:11:46 +00:00
Enrico Granata
9e7b388589 <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>

llvm-svn: 170161
2012-12-13 23:50:33 +00:00
Enrico Granata
7b8c513f08 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.

llvm-svn: 169961
2012-12-12 03:23:37 +00:00
Enrico Granata
9d14084b45 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>

llvm-svn: 169927
2012-12-11 22:42:19 +00:00
Enrico Granata
e6a6d9ae07 <rdar://problem/12709976>
Adding a summary for NSError

llvm-svn: 169792
2012-12-10 23:30:25 +00:00
Daniel Malea
4e718e7dd8 Mark TestConnectRemote.py as expected to fail on Linux due to bugzilla #14427
llvm-svn: 169295
2012-12-04 19:53:59 +00:00
Greg Clayton
3bcdfc0ec1 <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

llvm-svn: 169189
2012-12-04 00:32:51 +00:00
Daniel Malea
179ff29811 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)

llvm-svn: 168612
2012-11-26 21:21:11 +00:00
Daniel Malea
93aec0f9a9 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!

llvm-svn: 168529
2012-11-23 21:59:29 +00:00
Daniel Malea
4bd152d8e6 Disable darwin-specific test on non-darwin platforms
llvm-svn: 168454
2012-11-21 20:17:07 +00:00
Daniel Malea
b90c36868e 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

llvm-svn: 168452
2012-11-21 20:12:12 +00:00
Daniel Malea
1b8b392889 Clear auto-confirm setting on teardown for tests that use it
llvm-svn: 168382
2012-11-20 19:46:54 +00:00
Daniel Malea
096925233b Use auto-confirm setting to avoid prompts causing some tests to appear to hang
- this commit addresses bugzilla #14385

llvm-svn: 168375
2012-11-20 18:53:21 +00:00
Daniel Malea
218894788d Temporarily skip tests known to hang on Linux
- opened bugzilla defects #14384 and #14385

llvm-svn: 168323
2012-11-19 20:55:52 +00:00
Filipe Cabecinhas
83ae33d461 Fix expected error message in test.
llvm-svn: 168220
2012-11-16 23:18:41 +00:00
Jason Molenda
28826a491c Patch from Dan Malea daniel.malea@gmail.com to add some required
flags to the Linux makefiles to get the tests to run.

llvm-svn: 167600
2012-11-08 23:50:33 +00:00
Enrico Granata
085577f8d0 <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

llvm-svn: 167067
2012-10-31 00:01:26 +00:00
Filipe Cabecinhas
be45ce66d4 Add a teardown function to TestAbbreviations so it doesn't error out when running for two archs.
llvm-svn: 166740
2012-10-25 23:52:28 +00:00
Greg Clayton
5db6b79955 Patch from Ashok Thirumurthi that enabled FPU registers for POSIX x86_64.
llvm-svn: 166604
2012-10-24 18:24:14 +00:00
Enrico Granata
44818163ed <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!

llvm-svn: 166535
2012-10-24 01:23:57 +00:00
Jim Ingham
a7dfb665e3 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.  

llvm-svn: 166472
2012-10-23 07:20:06 +00:00
Enrico Granata
bc08ab450a <rdar://problem/12500212> Test case for the new plugin feature
llvm-svn: 166453
2012-10-23 00:09:02 +00:00
Enrico Granata
e3e91517ff <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)

llvm-svn: 166426
2012-10-22 18:18:36 +00:00
Enrico Granata
cd4d24d5e9 <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
llvm-svn: 166058
2012-10-16 20:57:12 +00:00
Jim Ingham
28eb57114d Bunch of cleanups for warnings found by the llvm static analyzer.
llvm-svn: 165808
2012-10-12 17:34:26 +00:00
Enrico Granata
e3fcd2bb53 <rdar://problem/12426557> Fixing the NSIndexSet data formatter
llvm-svn: 165341
2012-10-05 22:58:46 +00:00
Jim Ingham
ca36cd16e4 Add one-shot breakpoints (-o option to "break set") and a tbreak alias for our gdb friends.
llvm-svn: 165328
2012-10-05 19:16:31 +00:00
Enrico Granata
f175ad152c <rdar://problem/12099592> Adding back a bunch of code-running summaries
llvm-svn: 165186
2012-10-03 23:53:45 +00:00