Commit Graph

1827 Commits

Author SHA1 Message Date
Sean Callanan 2ad6691be4 Fixed IRForTarget to handle Objective-C messages
sent to "super".

<rdar://problem/13042260>

llvm-svn: 180217
2013-04-24 21:25:20 +00:00
Sean Callanan 76ee3e7e1c Fixed expression parser handling of empty strings.
<rdar://problem/12977827>

llvm-svn: 180215
2013-04-24 19:50:12 +00:00
Sean Callanan 7f5ac65fb9 Added support for pulling Objective-C class symbols
out of the runtime.  This allows calling static methods
on classes whose symbols have been stripped out of the
binary.

<rdar://problem/12042992>

llvm-svn: 180210
2013-04-24 19:07:29 +00:00
Sean Callanan 485f732b84 Fixed a problem where the expression parser would
not find multiple functions with the same name but
different types.  Now we keep track of what types
we've already reported for a function and only elide
functions if we've already reported a conflicting
one.

Also added a test case.

<rdar://problem/11367837>

llvm-svn: 180167
2013-04-24 00:34:41 +00:00
Daniel Malea ef2a53af71 Fix missing module name in expectedFailure calls
llvm-svn: 180158
2013-04-23 22:59:31 +00:00
Andrew Kaylor dbbe36b2ce Adding basic test for thread state (See PR-15824)
llvm-svn: 180149
2013-04-23 21:42:03 +00:00
Ashok Thirumurthi 9ba77246ca 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

llvm-svn: 180143
2013-04-23 20:50:34 +00:00
Enrico Granata 5676839246 The new ReadStringFromMemory() API does not work correctly with NSStrings that have an explicit length and no NULL terminator
This checkin reverts NSString to the old behavior when appropriate, and cleans up the syntax to call the UTF Reader&Dumper function
Incidentally, add a "-d" command-line flag to redo.py with the same semantics as "-d" in dotest.py

llvm-svn: 180141
2013-04-23 20:05:05 +00:00
Enrico Granata a4f8741cfa 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
llvm-svn: 180128
2013-04-23 18:07:30 +00:00
Daniel Malea 7a96af0627 Fix CheckPublicAPIHeaders test case
- LLDB C++ API requires C++11
- provide required -std=c++11 flag if none is specified

llvm-svn: 180126
2013-04-23 17:48:06 +00:00
Daniel Malea 243b36931f 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)

llvm-svn: 180114
2013-04-23 15:28:10 +00:00
Ashok Thirumurthi c140c631cb 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

llvm-svn: 180111
2013-04-23 14:59:02 +00:00
Ashok Thirumurthi 33d7f3a234 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

llvm-svn: 180109
2013-04-23 14:32:25 +00:00
Ashok Thirumurthi f6cd60ae68 Improved tests for nested structs when anonymous structs are involved.
- New tests can fail on OS/X and Linux, and illustrate that the compiler
used to generate the DWARF can result in lldb providing clang with an
external AST source that doesn't describe all required struct fields.

- Also includes test coverage for expressions with structs that do work on Linux- Also includes a test for dereferencing a null pointer to a struct, which works on OS/X rather than complaining, and complains on Linux with an upstream error that is really a side issue.

Thanks to Samuel, Andy and Daniel for their input.

llvm-svn: 179884
2013-04-19 20:51:34 +00:00
Daniel Malea b42556f87c Fix (failing) test name reporting on buildbots
- now print both test name and suite

llvm-svn: 179870
2013-04-19 18:32:53 +00:00
Enrico Granata 7932844d9a 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
llvm-svn: 179863
2013-04-19 17:24:11 +00:00
Ashok Thirumurthi 6ac9d13e61 Provided a variant of ReadCStringFromMemory that supports null terminators of any character width.
This prevents unbounded reads (i.e. reads of GetMaximumSizeOfStringSummary() bytes)
from causing test failures (i.e. due to ptrace EIO or EFAULT on Linux).

Note that ReadCStringFromMemory is marked as deprecated because the loop that calls
ReadMemory does not continue until the string has been completely read.
The expected behavior is to read until until max_bytes or a null terminator.

Note: As discussed on lldb-dev, further testing will be performed with ReadStringFromMemory
before further changes are made for users of ReadCStringFromMemory.

Thanks to Enrico, Matt and Andy for their review feedback.

llvm-svn: 179857
2013-04-19 15:58:38 +00:00
Ashok Thirumurthi 8971be89bb 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.

llvm-svn: 179788
2013-04-18 20:11:55 +00:00
Sean Callanan 389823e995 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().

llvm-svn: 179437
2013-04-13 01:21:23 +00:00
Enrico Granata af5bbe8f74 New test suite option (-T)
When -T is specified, the test suite will call svn info and dump the output on screen (this used to be the default behavior)
When -T is not specified, this step won't be performed (the new default)

llvm-svn: 179342
2013-04-11 23:48:00 +00:00
Enrico Granata ea6a58e2ae When specifying a relative path for the --framework option to dotest.py, Python would end up being confused and unable to locate the embedded_interpreter module, causing every testcase that uses the Script Interpreter (e.g. functionalities/data-formatter/data-formatter-stl/libstdcpp) to fail without even trying
This checkin fixes that problem by absolutizing the path before pushing it to the sys.path

llvm-svn: 179341
2013-04-11 23:40:59 +00:00
Enrico Granata a0f9512cb1 <rdar://problem/13558484>
This makes the dynamic values test case work for both libc++ and libstdcpp

llvm-svn: 179333
2013-04-11 22:55:45 +00:00
Greg Clayton 1c8ef47681 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

llvm-svn: 178924
2013-04-05 23:27:21 +00:00
Greg Clayton 1a400cf485 Fixed the version test for darwin.
llvm-svn: 178595
2013-04-03 00:04:27 +00:00
Greg Clayton 2040f98008 Fix test case to not run to main and "next" 5 times. Use a breakpoint.
llvm-svn: 178552
2013-04-02 17:48:53 +00:00
Daniel Malea d659dc16cc Avoid hang in attach-by-name test case
- Check that process attach succeeded before attempting to WaitForProcessToStop (observed to cause hangs on Linux)
- Update comment in TestHelloWorld case -- attaching by name still broken

llvm-svn: 178491
2013-04-01 19:47:00 +00:00
Enrico Granata 3a193f4b11 Fixing Python commands test cases to work even after removing Printf
(and using the new syntax for printing :-)

llvm-svn: 178389
2013-03-30 00:53:13 +00:00
Enrico Granata cd58d1176f Making the buildbot happy again after changes to the default formatter for char[]
llvm-svn: 178295
2013-03-28 21:58:05 +00:00
Ashok Thirumurthi 4f5f39ac4c 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.

llvm-svn: 178252
2013-03-28 17:27:40 +00:00
Enrico Granata 8cd208e39c This test case was not doing the right thing with libc++ being used and was generating spurious over-completion warning flags
llvm-svn: 178192
2013-03-27 23:08:54 +00:00
Enrico Granata c540f57ffc Checking that the wrong syntax does not give a correct summary after clearing the error messages here
llvm-svn: 177949
2013-03-26 00:24:27 +00:00
Greg Clayton fe736e889e Fix the buildbot so a LLDB test doesn't fail looking for "<invalid usage of pointer value as object>".
llvm-svn: 177926
2013-03-25 22:04:11 +00:00
Enrico Granata 005013c115 These test cases fail on the buildbot - skip on Linux for now, will figure out why
llvm-svn: 177879
2013-03-25 17:51:58 +00:00
Matt Kopec 9502ac6112 Mark TestChangeValueAPI.py as expected fail with gcc as it still reproduces.
llvm-svn: 177447
2013-03-19 22:00:10 +00:00
Greg Clayton 53c5ddf0d7 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. 

llvm-svn: 177416
2013-03-19 17:59:30 +00:00
Matt Kopec 862884327f Rework TestChangedValueAPI.py to account for gcc setting multiple breakpoints.
llvm-svn: 177198
2013-03-15 22:49:52 +00:00
Jim Ingham f48e20e15d Make the conditional break test case a little more robust.
llvm-svn: 177196
2013-03-15 22:19:27 +00:00
Matt Kopec f99f0b8cf7 Fix Makefile.rules where no icc is installed and -C gcc is used.
Patch by Ashok Thirumurthi.

llvm-svn: 177192
2013-03-15 21:55:13 +00:00
Matt Kopec 0de53f062f Add icc support to the test suite
-adds icc to the lit of compilers to run the tests
-adds icc test decorators
-skip TestAnonymous.py for icc

Patch by Ashok Thirumurthi.

llvm-svn: 177174
2013-03-15 19:10:12 +00:00
Daniel Malea 66586653b7 Add braces to crashed test summary (needed for buildbots to detect crashes)
llvm-svn: 176980
2013-03-13 21:50:49 +00:00
Daniel Malea b7e4e22795 Remove extra whitespace
llvm-svn: 176978
2013-03-13 21:18:54 +00:00
Daniel Malea 6b72269b3d Prepend "FAIL:" string to tests that crash so that buildbots pick them up.
llvm-svn: 176974
2013-03-13 21:08:02 +00:00
Daniel Malea 10320dd06f Minor LLDB test improvements
- fix TestCPPBool (was failing with some versions of GCC due to num_breakpoint_locations)
- speed up tests by skipping git/svn revision parsing by the test harness when running in lit-compatible (parsable) mode

This should resolve the failures reported by http://lab.llvm.org:8011/builders/lldb-x86_64-linux

llvm-svn: 176972
2013-03-13 20:50:05 +00:00
Daniel Malea 7f454e0aed Fix enum_types test on Linux
- Required flag "-std=c++11" needs to be set before including Makefile.rules

llvm-svn: 176644
2013-03-07 20:13:11 +00:00
Daniel Malea 4185a92b9d Fix issue that causes linux buildbots to ignore errors
- change string "ERROR" to "FAIL" to match clang lit test results

Also, make LLDB tests work on machines that do not have svn and/or git installed

llvm-svn: 176633
2013-03-07 18:39:26 +00:00
Daniel Malea 3c216ace9b Fix running of LLDB tests with cmake+ninja+ccache
- Avoid passing 'ccache' as the test compiler. Instead, use first arg after ccache.

llvm-svn: 176596
2013-03-07 00:50:54 +00:00
Andrew Kaylor 7bdeab592d Skipping TestConstVariables on Linux.
The test was marked as expectedFailureLinux, but now it passes with gcc and some versions of clang.  Newer versions of clang introduce a failure due to bad DWARF information.

llvm-svn: 176581
2013-03-06 21:37:41 +00:00
Greg Clayton 00108408ac Added tests to test for "settings set" with trailing whitespaces after the values.
llvm-svn: 176579
2013-03-06 21:17:06 +00:00
Greg Clayton 5d14fc061f Fixed enum printing for negative enums. There previously was no testing to validate that enum values were being displayed correctly.
Also added C++11 enum test cases to cover enums as int8_t, int16_t int32_t, int64_t, uint8_t, uint16_t, uint32_t, and uint64_t both for DWARF and dSYM cases. The DWARF being emitted by clang is missing the enum integer type, but the code is now ready to accept and deal with the integral type if it is supplied.

llvm-svn: 176548
2013-03-06 06:23:54 +00:00
Greg Clayton 2a844b7ff8 Fixed test suite errors due to new clang -v output.
llvm-svn: 176546
2013-03-06 02:34:51 +00:00