summaryrefslogtreecommitdiffstats
path: root/lldb/test/lang/cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Update sys.platform switched behavior in tests to use self.getPlatform ↵Robert Flack2015-04-012-2/+2
| | | | | | | | | | | | | | | | | | | | | | (remote target platform) Uses target platform when determining which platform specific behavior to use or expect in tests. TestHelp.py was unchanged because this is asserting behavior of the local lldb binary. Test Plan: Run tests on different remote os. Several previously failing tests now pass: TestArrayTypes.py TestInferiorChanged.py TestInferiorCrashing.py TestIvarProtocols.py TestProcessIO.py TestPublicAPIHeaders.py TestRecursiveInferior.py Differential Revision: http://reviews.llvm.org/D8747 llvm-svn: 233805
* Enabled a bunch of tests on LinuxVince Harron2015-03-312-3/+0
| | | | | | | | | Removed expectedFailureLinux from failures that I was unable to reproduce, updated and improved some other comments near XFAIL tests Differential Revision: http://reviews.llvm.org/D8676 llvm-svn: 233716
* Replace sys.platform skips in tests with @skip decorators which check ↵Robert Flack2015-03-3025-41/+41
| | | | | | | | | | | | | | | | against remote platform. Adds @skipIfPlatform and @skipUnlessPlatform decorators which will skip if / unless the target platform is in the provided platform list. Test Plan: ninja check-lldb shows no regressions. When running cross platform, tests which cannot run on the target platform are skipped. Differential Revision: http://reviews.llvm.org/D8665 llvm-svn: 233547
* [DWARF] Generate qualified names of functions if linkage names are missing.Siva Chandra2015-03-272-1/+20
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This is similar to the change introduced for variable DIEs in r233098. If the linkage names of functions are missing in the DWARF, then their fully qualified names (similar to the name that would be got by demangling their linkage name) is generated using the decl context. This change fixes TestNamespace when the test case is compiled with GCC, hence it is enabled for GCC. The test and the test case are also enhanced to cover variadic functions. Test Plan: dotest.py -C <clang|gcc> -p TestNamespace Reviewers: clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D8623 llvm-svn: 233336
* xfail tests that failed with clang-3.7, gcc4.8.2 and on i386 to get buildbot ↵Ying Chen2015-03-251-0/+1
| | | | | | | | | | | | | | | | | | green Summary: -Refer to bug https://buganizer.corp.google.com/issues/19893563 -Test log http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-cmake/builds/1145 Test Plan: Run tests with different compiler and archs locally Reviewers: sivachandra, ovyalov, chaoren, vharron Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D8573 llvm-svn: 233157
* Don't clobber CFLAGS_EXTRAS in tests.Robert Flack2015-03-241-1/+1
| | | | | | | | | | | | | | | | | To run tests against a different target platform many extra compiler flags are needed to specify sysroot, include dirs, etc. The environment variable CFLAGS_EXTRAS seems suited for this purpose except that several Makefiles clobber the current flags. This change modifies all of these to add to CFLAGS_EXTRAS instead. Test Plan: Verify no regressions in ninja check-lldb. Run tests using CFLAGS_EXTRAS to specify cross compilation flags for a different target running lldb-server platform. Differential Revision: http://reviews.llvm.org/D8559 llvm-svn: 233066
* Use -fno-limit-debug-info instead of -fstandalone-debug in testsVince Harron2015-03-151-1/+1
| | | | | | | | | | | | | This fixes tests on clang-3.4 AFAICT, these flags have the same affect and -fstandalone-debug wasn't added until after clang-3.4 Committed to try to fix buildbot Differential Revision: http://reviews.llvm.org/D8347 llvm-svn: 232326
* Use -fstandalone-debug for few tests to get around a Clang optimizationVince Harron2015-02-281-0/+7
| | | | | | | | | | | | | | | | | | | clang-3.5+ outputs FullDebugInfo by default for Darwin/FreeBSD targets. Other targets do not, which causes several tests to fail. This flag enables FullDebugInfo for all targets. Fixes the following tests: TestCallStdStringFunction.py TestDataFormatterSkipSummary.py TestDataFormatterStdIterator.py TestDataFormatterStdList.py TestDataFormatterStdString.py TestSBValuePersist.py TestStringPrinter.py TestTypeCompletion.py llvm-svn: 230831
* Fix the test so it runs correctly when there are spaces in the path to the ↵Greg Clayton2015-02-211-1/+1
| | | | | | | | stdc++ library. <rdar://problem/19297312> llvm-svn: 230102
* Fix a number of tests on Windows.Zachary Turner2015-01-141-2/+2
| | | | | | | These fix various issues with path handling and disable a few tests which use features of LLVM which are not yet supported on Windows. llvm-svn: 226042
* Make array symbol reading resilient to incomplete DWARF.Siva Chandra2015-01-051-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: GCC emits DW_TAG_subrange_type for static member arrays, but with no attributes. This in turn results in wrong type/value of the array when printing with 'target variable <array var name>'. This patch fixes this so that the array value is printed in this format: (<element type> []) <array var name> = {} Earlier, the array was being interpreted to be of its element type. Note: This does not fix anything to do with 'expr' or 'p' commands. Those commands still error out complaining about incomplete types. Test Plan: dotest.py -p TestStaticVariables Reviewers: emaste, clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D6799 llvm-svn: 225219
* [TestStaticVariables] Mark the one unmarked test let also expectedFailure.Siva Chandra2014-12-191-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: The test is question here is already annotated with @expectedFailureDarwin(9980907). This change also removes an uneccessary (and probably wrong) logic of byssing few asserts if the compiler is not clang or llvm-gcc. Both GCC and Clang emit incomplete debug info. Clang emits this: < 1><0x00000026> DW_TAG_class_type DW_AT_name "A" DW_AT_byte_size 0x00000001 DW_AT_decl_file 0x00000001 DW_AT_decl_line 0x0000001b < 2><0x0000002e> DW_TAG_member DW_AT_name "g_points" DW_AT_type <0x0000003b> DW_AT_decl_file 0x00000001 DW_AT_decl_line 0x0000001e DW_AT_external yes(1) DW_AT_declaration yes(1) DW_AT_accessibility DW_ACCESS_public < 1><0x0000003b> DW_TAG_array_type DW_AT_type <0x00000046> < 2><0x00000040> DW_TAG_subrange_type DW_AT_type <0x0000007b> Notice that the DIE at 0x40 does not specify an upperbound. This is with Clang-3.5 and Clang ToT. GCC emits this: < 1><0x000000aa> DW_TAG_class_type DW_AT_name "A" DW_AT_byte_size 0x00000001 DW_AT_decl_file 0x00000001 DW_AT_decl_line 0x0000001b DW_AT_sibling <0x000000c1> < 2><0x000000b4> DW_TAG_member DW_AT_name "g_points" DW_AT_decl_file 0x00000001 DW_AT_decl_line 0x0000001e DW_AT_type <0x000000c1> DW_AT_external yes(1) DW_AT_accessibility DW_ACCESS_public DW_AT_declaration yes(1) < 1><0x000000c1> DW_TAG_array_type DW_AT_type <0x0000007e> DW_AT_sibling <0x000000cc> < 2><0x000000ca> DW_TAG_subrange_type The DIE at 0xca is missing attributes. This is with gcc-4.8.2. Test Plan: dotest.py -C clang -P TestStaticVariables.py Reviewers: clayborg Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D6713 llvm-svn: 224643
* Disable GetSTDOUT, GetSTDERR, and PutSTDIN on Windows.Zachary Turner2014-11-251-0/+1
| | | | | | | | | | These methods are difficult / impossible to implement in a way that is semantically equivalent to the expectations set by LLDB for using them. In the future, we should find an alternative strategy (for example, i/o redirection) for achieving similar functionality, and hopefully deprecate these APIs someday. llvm-svn: 222775
* Fix a problem where the StringPrinter could be mistaking an empty string for ↵Enrico Granata2014-11-172-0/+4
| | | | | | a read error, and reporting spurious 'unable to read data' messages. rdar://19007243 llvm-svn: 222190
* Fixes for remote test suite execution of the "lldb/test/lang" directory.Greg Clayton2014-11-174-17/+26
| | | | | | | | | Fixes include: - Add a new lldbtest.TestBase function named registerSharedLibrariesWithTarget. This function can be called using the shared libraries for your test suite either as shared library basename ("foo"), path basename ("libfoo.dylib") or full path ("/tmp/lldb/test/lang/c/carp/libfoo.dylib"). These shared libraries are then registered with the target so they will be downloaded when the test is run remotely. - Changed a lot of tests over to use SBDebugger::CreateTarget(...) calls instead of using "file a.out" commands. - Cleaned up some tests to add new locations for breakpoints that all compilers should be able to abide by. Some tests and constants being loaded into values of structs and some compilers like arm64 will often combine two constant data loads into a single source line so some breakpoint locations were not being set correctly. Adding lines like 'puts("")' allow us to lock onto a source line that will have code. llvm-svn: 222156
* Changed program to go along with the previous commit to allow this test to ↵Greg Clayton2014-11-061-12/+13
| | | | | | be run remotely via lldb-platform. llvm-svn: 221494
* Fix the test to not have to run the binary separately first to get the ↵Greg Clayton2014-11-061-19/+26
| | | | | | | | golden output, use the process STDOUT instead. This helps this test be able to be run remotely. llvm-svn: 221493
* Remove hex character number from wchar_t testEd Maste2014-10-301-1/+1
| | | | | | | After r220894 (StringPrinter change) it is no longer emitted. Update the test rather than considering it a bug as the new format is preferred. llvm-svn: 220914
* Add a few more bug IDs for x'fail test casesEnrico Granata2014-10-171-5/+4
| | | | llvm-svn: 220003
* Attach a bug number to these failuresEnrico Granata2014-10-161-6/+6
| | | | llvm-svn: 219986
* Split this test case to handle each literal kind uniquelyEnrico Granata2014-10-161-11/+38
| | | | llvm-svn: 219985
* Some more failure to bug trackingEnrico Granata2014-10-161-4/+2
| | | | llvm-svn: 219973
* Make the test runner understand Windows command shell execution.Zachary Turner2014-07-221-1/+1
| | | | | | | | | | | | | | | | Currently, the test runner makes the assumption that it will run commands through /bin/sh. This is obviously not true on Windows, so this patch abstracts this logic out somewhat. Instead of having the caller build the command string himself, the caller will now pass in argument list of the form [[a, b], [c, d], ...] which will get converted into a string of the form a b; c d or a b && c d, depending on the platform. Reviewed by: Todd Fiala Differential Revision: http://reviews.llvm.org/D4590 llvm-svn: 213669
* LLDB now correctly handles virtual inheritance.Greg Clayton2014-07-193-0/+153
| | | | | | | | Test case added as well. <rdar://problem/16785904> llvm-svn: 213433
* Switch to Darwin decorator for tests that XPASS on FreeBSDEd Maste2014-04-221-1/+1
| | | | | | | | | | | Since these tests pass on (at least some) other platforms, change the decorators to @expectedFailureDwarwin. Tested on FreeBSD with Clang 3.4 and libc++. rdar://9980907 rdar://15367233 llvm-svn: 206895
* Add a comment to tests that XPASS on FreeBSDEd Maste2014-04-211-1/+1
| | | | | | | | | | | | | | Perhaps these should be @expectedFailureDarwin instead of @unittest2.expectedFailure (applying to all hosts); I'm not aware of the details in the rdars. Just add a comment for now, for the benefit of anyone investigating FreeBSD test issues in the future. rdar://9980907 rdar://15367233 llvm-svn: 206760
* Add decorator for FreeBSD DynamicValueTestCase failureEd Maste2014-04-071-0/+1
| | | | | | | Not yet root-caused, but I presume it is the same issue that affects Linux. llvm-svn: 205712
* rdar://16424649Enrico Granata2014-04-022-60/+0
| | | | | | | | Clean up the DynamicValueTestCase Namely, I split off the part of the test that validates child counts to a separate test llvm-svn: 205450
* Use continue instead of nextEnrico Granata2014-04-011-1/+1
| | | | llvm-svn: 205354
* Add a test to check the C's constructor's name is C::C, which will fail ↵Jim Ingham2014-03-192-4/+71
| | | | | | | | | everywhere now, so mark as expected fail. And find another way to check that we hit our constructor breakpoint, so we don't need to expected fail the Disassembly tests. llvm-svn: 204209
* Don't use the Disassembly test to report the fact that we don't decorate upJim Ingham2014-03-191-4/+7
| | | | | | | constructors with their class name, that seems inessential. We can make another test specifically for this if we want to. llvm-svn: 204208
* Make TestStdCXXDisassembly.StdCXXDisassembleTestCase work with libc++Enrico Granata2014-02-251-4/+5
| | | | | | <rdar://problem/16115219> llvm-svn: 202180
* Correctly set the working directory when launching processes for both local ↵Greg Clayton2013-12-139-9/+9
| | | | | | and remote targets. llvm-svn: 197266
* Massive test suite cleanup to stop everyone from manually having to compute ↵Greg Clayton2013-12-1025-25/+25
| | | | | | | | | | "mydir" inside each test case. This has led to many test suite failures because of copy and paste where new test cases were based off of other test cases and the "mydir" variable wasn't updated. Now you can call your superclasses "compute_mydir()" function with "__file__" as the sole argument and the relative path will be computed for you. llvm-svn: 196985
* Remove decorators for llvm.org/pr17225Ed Maste2013-11-222-2/+0
| | | | | | This issue is no longer reproducible, presumably due to changes in clang. llvm-svn: 195458
* test: Remove annotation for now-fixed FreeBSD issue pr15302Ed Maste2013-11-151-1/+0
| | | | | | | | | | | | | The failure to demangle 'anonymous namespace' on FreeBSD is fixed (twice) - the failure in FreeBSD's in-tree __cxa_demangle has been addressed - FreeBSD now uses the copy of the demangler built into lldb, due to other remaining limitations in the in-tree __cxa_demangle llvm.org/pr15302 llvm-svn: 194855
* Workaround the DWARF info is anticipating the derived class assignment issue ↵Enrico Granata2013-10-311-2/+8
| | | | | | in this test case for now llvm-svn: 193821
* Marking dynamic value test as expected failure on Linux.Andrew Kaylor2013-10-311-0/+1
| | | | llvm-svn: 193809
* Fix dynamic value test to build correctly on Linux with C++11 features.Andrew Kaylor2013-10-311-2/+2
| | | | llvm-svn: 193793
* <rdar://problem/15045059>Enrico Granata2013-10-302-0/+55
| | | | | | | One of the things that dynamic typing affects is the count of children a type has Clear out the flag that makes us blindly believe the children count when a dynamic type change is detected llvm-svn: 193663
* <rdar://problem/14393032>Enrico Granata2013-09-301-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DumpValueObject() 2.0 This checkin restores pre-Xcode5 functionality to the "po" (expr -O) command: - expr now has a new --description-verbosity (-v) argument, which takes either compact or full as a value (-v is the same as -vfull) When the full mode is on, "po" will show the extended output with type name, persistent variable name and value, as in (lldb) expr -O -v -- foo (id) $0 = 0x000000010010baf0 { 1 = 2; 2 = 3; } When -v is omitted, or -vcompact is passed, the Xcode5-style output will be shown, as in (lldb) expr -O -- foo { 1 = 2; 2 = 3; } - for a non-ObjectiveC object, LLDB will still try to retrieve a summary and/or value to display (lldb) po 5 5 -v also works in this mode (lldb) expr -O -vfull -- 5 (int) $4 = 5 On top of that, this is a major refactoring of the ValueObject printing code. The functionality is now factored into a ValueObjectPrinter class for easier maintenance in the future DumpValueObject() was turned into an instance method ValueObject::Dump() which simply calls through to the printer code, Dump_Impl has been removed Test case to follow llvm-svn: 191694
* Skip tests that segfault or are inconsistent on FreeBSDEd Maste2013-09-131-0/+1
| | | | | | | | | | | | | I now see no unexpected failures on FreeBSD on a local run of the test suite. llvm.org/pr17214 llvm.org/pr17225 llvm.org/pr17231 llvm.org/pr17232 llvm.org/pr17233 llvm-svn: 190709
* test: Update FreeBSD failure decoratorsEd Maste2013-09-132-0/+2
| | | | | | | | | | | | | | | llvm.org/pr15261 missing size for static arrays llvm.org/pr15278 expressions generating signals llvm.org/pr15824 thread states aren't properly maintained llvm.org/pr16696 threaded inferior debugging not yet on FreeBSD llvm.org/pr17214 inline stepping fails on FreeBSD llvm.org/pr17225 Clang assertion failure llvm.org/pr17226 frame info lost after failed expression evaluation llvm.org/pr17228 test timeout The first three are existing Linux issues that also affect FreeBSD. llvm-svn: 190698
* test: Add @expectedFailureFreeBSD decoratorsEd Maste2013-09-101-0/+1
| | | | | | | http://llvm.org/pr17183 expression w/ varargs printf() fails http://llvm.org/pr15302 'anonymous namespace' prefix missing llvm-svn: 190415
* Expression evaluation works on FreeBSD after switch to MCJITEd Maste2013-08-304-4/+0
| | | | | | http://www.llvm.org/pr16697 llvm-svn: 189668
* Mark remaining failing test on icc as expected fail..Matt Kopec2013-08-061-0/+1
| | | | llvm-svn: 187814
* Mark additional icc test failures as expected fail.Matt Kopec2013-08-021-0/+1
| | | | llvm-svn: 187660
* Updates TestLongjump to ensure that compiler optimizations don't affect theAshok Thirumurthi2013-08-011-0/+1
| | | | | | | | | | | 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. llvm-svn: 187600
* Update failing tests on Linux for clang and gcc to only fail on Linux ↵Matt Kopec2013-08-012-6/+5
| | | | | | | | instead of all platforms. Thanks Stefanus! llvm-svn: 187585
* Mark some tests as explicitly failing on clang/gcc as they pass on icc.Matt Kopec2013-07-313-6/+9
| | | | | | Also, rework the signed types test to check for signed or char type in the output as char is signed by default. llvm-svn: 187533
OpenPOWER on IntegriCloud