summaryrefslogtreecommitdiffstats
path: root/lldb/test
Commit message (Collapse)AuthorAgeFilesLines
...
* Address failing Go tests on go version from Ubuntu 14.04Todd Fiala2015-10-061-1/+23
| | | | | | | | | Go tests fail on Ubuntu 14.04's go1.2.1. This change puts a minimum go version in the skipUnlessGoInstalled() decorator of go1.3.0. Go maintainers are encouraged to modify as needed. For now this fixes failing tests on Ubuntu 14.04 x86_64 buildbots with stock distro go installed. llvm-svn: 249446
* Convert expectedFlakeyDarwin to expectedFlakeyDsym for ↵Todd Fiala2015-10-061-1/+1
| | | | | | | | | TestCallUserDefinedFunction.py Closes: https://llvm.org/bugs/show_bug.cgi?id=25076 llvm-svn: 249425
* Reduce load on TestMultipleDebuggers.Todd Fiala2015-10-061-1/+1
| | | | | | | | | 4-core CPUs have a hard time keeping up with the number of debuggers we were simultaneously spawning. This leads to a timeout, which leaves processes hanging around in "suspended mode", which can't be killed with signals. llvm-svn: 249421
* Switching TestCallUserDefinedFunction from xfail to flaky on OS X.Todd Fiala2015-10-061-1/+1
| | | | | | | This is passing 50/50 times for me. Moving to flaky as precautionary measure. llvm-svn: 249419
* Rename a test case to avoid name conflictTamas Berghammer2015-10-061-0/+0
| | | | | | | | | Rename the python source file for DataFormatterOSTypeTestCase to match the purpose of the test and to avoid a name conflict with DataFormatterBoolRefPtr. The name conflict caused a race condition in the test runner what we have to address separately. llvm-svn: 249407
* [LLDB][MIPS] Skip invalid size watchpoint testcase for MIPSMohit K. Bhakkad2015-10-051-0/+1
| | | | | | | | Reviewers: jaydeep. Subscribers: lldb-commits. Differential Revision: http://reviews.llvm.org/D13335 llvm-svn: 249299
* Do not attempt to join the remote paths if none existEnrico Granata2015-10-021-1/+1
| | | | llvm-svn: 249210
* Re-disable TestBuiltinTrap on Windows.Zachary Turner2015-10-021-0/+1
| | | | | | This was inadvertently re-enabled as a in r248883. llvm-svn: 249209
* Updated xfail / skip status on a few tests.Zachary Turner2015-10-024-2/+2
| | | | | | | | | | TestDiamond and TestSBValueCast were due to a bug in clang. That bug has been fixed, so xfail is removed. However fixing that bug exposed another bug in clang, which is not yet fixed. That bug causes one test to start crashing, and another to fail unexpectedly so the status of those tests is updated as well. llvm-svn: 249208
* Fix TestCompDirSymLink.py - remove existing symlink leftovers if previous ↵Oleksiy Vyalov2015-10-021-0/+2
| | | | | | | | test run was terminated (e.g., due timeout). llvm-svn: 249203
* Fix race on subprocess.Popen return values.Todd Fiala2015-10-022-1/+49
| | | | | | | This fixes: https://llvm.org/bugs/show_bug.cgi?id=25019 llvm-svn: 249182
* Change expected stop reason in TestInferiorAssert for Android API <= 16Tamas Berghammer2015-10-021-1/+5
| | | | llvm-svn: 249120
* Teach 'type lookup' to pull types from clang modules; also add a test caseEnrico Granata2015-10-023-0/+71
| | | | llvm-svn: 249117
* [lldb-mi] Add support for StopAtEntry in MI via "-exec-run --start".Dawn Perchik2015-10-011-0/+20
| | | | | | | | | | | | | | | | | | This patch adds a --start option to the lldb-mi -exec-run command for getting process stopped at entry point after launch. It is equivelent to the -s option in the lldb command line interpreter: process launch -s and is therefore not supported on all hosts and/or targets. To check if the --start option is supported, see if the corresponding feature "exec-run-start-option" is in the list of options reported by the lldb-mi "-list-features" command. Patch from engineer.developer@gmail.com (Kirill Lapshin) Reviewed by: ki.stfu Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12977 llvm-svn: 249072
* Fixes a potential hang in test runner timeout logic.Todd Fiala2015-09-303-17/+86
| | | | | | | | | | | | | | | Part of https://llvm.org/bugs/show_bug.cgi?id=25002 In writing the new process_control test included here, I discovered that the scenario would hang indefinitely, bypassing the timeout logic. This fixes the indefinite hang, converting an error in the new test to a failure. I'll fix the failure next. This one was heinous enough to fix on its own, though. llvm-svn: 248936
* XFAIL 2 test in TestTargetCommands on android-aarch64Tamas Berghammer2015-09-301-0/+2
| | | | | | The 2 test just get enabled with the recemt test system refactor. llvm-svn: 248901
* Fix TestAttachDenied on linuxPavel Labath2015-09-302-4/+5
| | | | | | | | | | This test was timing out because the test inferior was forking a child, which was not terminated correctly. The test contained provisions to terminate this child, but these were no longer working. The idea was to wake up upon receiving SIGTERM and then kill the child. However, this was failing because the test first tried to use SIGHUP, which ended up killing the inferior. Fix: make sure we catch SIGHUP also. llvm-svn: 248889
* Merge dwarf and dsym testsTamas Berghammer2015-09-30366-7521/+2484
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently most of the test files have a separate dwarf and a separate dsym test with almost identical content (only the build step is different). With adding dwo symbol file handling to the test suit it would increase this to a 3-way duplication. The purpose of this change is to eliminate this redundancy with generating 2 test case (one dwarf and one dsym) for each test function specified (dwo handling will be added at a later commit). Main design goals: * There should be no boilerplate code in each test file to support the multiple debug info in most of the tests (custom scenarios are acceptable in special cases) so adding a new test case is easier and we can't miss one of the debug info type. * In case of a test failure, the debug symbols used during the test run have to be cleanly visible from the output of dotest.py to make debugging easier both from build bot logs and from local test runs * Each test case should have a unique, fully qualified name so we can run exactly 1 test with "-f <test-case>.<test-function>" syntax * Test output should be grouped based on test files the same way as it happens now (displaying dwarf/dsym results separately isn't preferable) Proposed solution (main logic in lldbtest.py, rest of them are test cases fixed up for the new style): * Have only 1 test fuction in the test files what will run for all debug info separately and this test function should call just "self.build(...)" to build an inferior with the right debug info * When a class is created by python (the class object, not the class instance), we will generate a new test method for each debug info format in the test class with the name "<test-function>_<debug-info>" and remove the original test method. This way unittest2 see multiple test methods (1 for each debug info, pretty much as of now) and will handle the test selection and the failure reporting correctly (the debug info will be visible from the end of the test name) * Add new annotation @no_debug_info_test to disable the generation of multiple tests for each debug info format when the test don't have an inferior Differential revision: http://reviews.llvm.org/D13028 llvm-svn: 248883
* Skipping TestAttachDenied.py on Linux as it is hanging on a buildbot after ↵Todd Fiala2015-09-291-0/+1
| | | | | | | | r248834. I'll track down what is happening here. llvm-svn: 248846
* test runner: switch to pure-Python timeout mechanismTodd Fiala2015-09-296-75/+1099
| | | | | | | | | | | | | | | | The timeout mechanism has been implemented in python, so there is no more dependence on external utilities for timing out an inferior dotest.py process. Platform-specific bits are implemented for POSIX-like and Windows platforms. There is a small class named ProcessHelper in process_control.py that needs to be overridden for platforms that fall outside of the POSIX-like and Windows platforms. See http://reviews.llvm.org/D13124 for more details. llvm-svn: 248834
* Enable test_create_after_attach_with_dwarf_and_popen on linuxPavel Labath2015-09-291-1/+0
| | | | | | The test still remains XTIMEOUTed. Will remove that as well if it turns out its passing. llvm-svn: 248790
* Remove XTIMEOUT from TestProcessAttach on linuxPavel Labath2015-09-281-1/+0
| | | | llvm-svn: 248711
* Revert "Fix race condition during process detach"Pavel Labath2015-09-281-0/+1
| | | | | | This fix is not correct on its own until D12968 is resolved. Will resumbit once that is done. llvm-svn: 248702
* Added python script to support running pylint.Todd Fiala2015-09-261-0/+92
| | | | | | | | | | | | | | | See the script comments for how to modify your pylintrc file (e.g. $HOME/.pylintrc) to support always finding the lldb-specific Python library directories. With the pylintrc modification using this script, the lldb python tests and test inferstructure can be linted on any of potentially multiple lldb source trees on the system without further work from the developer. llvm-svn: 248676
* Re-enable FreeBSD tests do not hang locallyEd Maste2015-09-252-2/+2
| | | | | | | | | These tests used to hang on the old FreeBSD buildbot, which has been retired. They do not hang when run locally, but do fail. llvm.org/pr24939 llvm-svn: 248577
* Re-enable some skipped tests on FreeBSDEd Maste2015-09-252-5/+0
| | | | | | | | | | | | | These tests were skipped because they hung the old FreeBSD buildbot. They pass (and do not hang) when run locally so enable them again. We will investigate further if they hang again once the new FreeBSD buildbot is installed. llvm.org/pr16684 llvm.org/pr18200 llvm.org/pr18230 llvm-svn: 248574
* Fix evaluation of unicode character arrays (char16_t[] and char32_t[])Dawn Perchik2015-09-252-3/+33
| | | | | | | | | | | | | | | | Suppose we have the UTF-16 string: char16_t[] s = u"hello"; Before this patch, evaluating the string in lldb would get: (char16_t [6]) $0 = ([0] = U+0068 u'h', [1] = U+0065 u'e', [2] = U+006c u'l', [3] = U+006c u'l', [4] = U+006f u'o', [5] = U+0000 u'\0') After applying the patch, we now get: (char16_t [6]) $0 = u"hello" Patch from evgeny.leviant@gmail.com Reviewed by: granata.enrico Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13053 llvm-svn: 248555
* [TestCppIncompleteTypes] Handle different archs when building a.o.Siva Chandra2015-09-241-1/+1
| | | | | | | | | | Reviewers: chying Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13147 llvm-svn: 248547
* [TestCppIncompleteTypes] Remove the dependence on std::string.Siva Chandra2015-09-247-26/+45
| | | | | | | | | | Reviewers: dblaikie, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13143 llvm-svn: 248541
* Don't enter interactive loop when finished running the test suite.Greg Clayton2015-09-241-1/+1
| | | | llvm-svn: 248513
* Rename clang_type -> compiler_type for variables.Bruce Mitchener2015-09-241-2/+2
| | | | | | | | | | Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13102 llvm-svn: 248461
* Added the ability to register key callbacks for much easier key handling. ↵Greg Clayton2015-09-242-70/+89
| | | | | | Also added the elapsed time display to the status bar. llvm-svn: 248450
* Check existence of SIGHUP before using itYing Chen2015-09-231-2/+4
| | | | | | | | | | | | Summary: -SIGHUP doesn't exist on Windows Reviewers: tfiala Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13114 llvm-svn: 248434
* Revert 248366 "Testcase and fix for bug 24074"Enrico Granata2015-09-233-96/+0
| | | | | | This commit introduced regressions in several test cases on FreeBSD and Mac OS X llvm-svn: 248421
* [TestCppIncompleteTypes] Fix Makefile to handle different archs.Siva Chandra2015-09-231-4/+4
| | | | | | | | | | Reviewers: chying Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13111 llvm-svn: 248416
* Remove expectedFailureFreeBSD from passing testEd Maste2015-09-231-1/+0
| | | | | | | | ClassTypesTestCase::test_with_dwarf_and_constructor_name llvm.org/pr14540 llvm-svn: 248411
* Remove expectedFailureFreeBSD from passing TestChangeValueAPI testEd Maste2015-09-231-1/+0
| | | | | | | | | | This test used fail intermittently, but now passes consistently on FreeBSD in local runs. We'll investigate further if it's intermittent on the FreeBSD buildbot, once it's restored. llvm.org/pr15039 llvm-svn: 248410
* DWARFASTParserClang::CompleteTypeFromDWARF: Handle incomplete baseclass or childSiva Chandra2015-09-235-0/+146
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: With this change DWARFASTParserClang::CompleteTypeFromDWARF returns false if DWARFASTParserClang::ParseChildMembers returns false. Similarly, it returns false if any base class is of an incomplete type. This helps in cases like these: class Foo { public: std::string str; }; ... Foo f; If a file with the above code is compiled with a modern clang but without the -fno-limit-debug-info (or similar) option, then the DWARF has only a forward declration for std::string. In which case, the type for "class Foo" cannot be completed. If LLDB does not detect that a child member has incomplete type, then it wrongly conveys to clang (the LLDB compiler) that "class Foo" is complete, and consequently crashes due to an assertion failure in clang when running commands like "p f" or "frame var f". Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13066 llvm-svn: 248401
* test framework: fixed issue when using results formatter with no formatter ↵Todd Fiala2015-09-231-3/+5
| | | | | | | | | options I broke the formatter options-passing parsing when no formatter options are provided. llvm-svn: 248397
* Cleaned up results formatter options hand-off.Todd Fiala2015-09-234-60/+111
| | | | | | | | | | | | | | | | | | | | | | | * --results-formatter-options renamed to --results-formatter-option, with short version of -O * Multiple --results-formatter-option=OPTION can be specified. The comma-separating mechanism has been removed. * XunitFormatter options modified: -n and -r are now short forms of --ignore-skip-name and --ignore-skip-reason. Those long option names were tweaked lightly. They also can be specified multiple times on the command line. The comma-separating, multiple-pattern- per-option mechanism has been removed. One can now specify: dotest.py --results-file stdout -O-ndsym -O-nlldb-mi for example, to ignore reporting skips for dsym-related or lldb-mi-related tests in the xUnit report. llvm-svn: 248384
* Fix race condition during process detachPavel Labath2015-09-231-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: The following situation occured in TestAttachResume: The inferior was stoped at a breakpoint and we did a continue, immediately followed by a detach. Since there was a trap instruction under the IP, the continue did a step-over-breakpoint before resuming the inferior for real. In some cases, the detach command was executed between these two events (after the step-over stop, but before continue). Here, public state was running, but private state was stopped. This caused a problem because HaltForDestroyOrDetach was checking the public state to see whether it needs to stop the process (call Halt()), but Halt() was checking the private state and concluded that there is nothing for it to do. Solution: Instead of Halt() call SendAsyncInterrupt(), which will then cause Halt() to be executed in the context of the private state thread. I also rename HaltForDestroyOrDetach to reflect it does not call halt directly. Reviewers: jingham, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13056 llvm-svn: 248371
* Testcase and fix for bug 24074Ravitheja Addepally2015-09-233-0/+96
| | | | | | | | | | | | | | | | Summary: In bug 24074, the type information is not shown correctly. This commit includes the following - -> Changes for displaying correct type based on current lexical scope for the command "image lookup -t" -> The corresponding testcase. Reviewers: jingham, ovyalov, spyffe, richard.mitton, clayborg Differential Revision: http://reviews.llvm.org/D12404 llvm-svn: 248366
* Fix a test case which was failing. There was no actual problem in the test ↵Enrico Granata2015-09-221-1/+1
| | | | | | logic, just a cosmetic issue with the presentation of the result by Foundation llvm-svn: 248339
* test runner: remove print from prior commit; fixup listner socket backlogTodd Fiala2015-09-222-9/+8
| | | | | | | | When doing test event collation from dotest inferiors to the parallel test runner, I had a hard-coded small value for the socket backlog. Fix it to be 2*num workers so we don't fail socket connections from inferiors. llvm-svn: 248337
* test framework: default to threading-based test runnersTodd Fiala2015-09-221-16/+57
| | | | | | | Windows gets threading-pool, OS X versions < 10.10 get multiprocessing, everyone else gets threading. llvm-svn: 248323
* Test runner process group isolation take 2.Todd Fiala2015-09-221-1/+7
| | | | | | | This one does not create a session, but just creates a new process group in the same session. llvm-svn: 248306
* Update TestChangeProcessGroup to remove obsolete workaround.Chaoren Lin2015-09-221-3/+0
| | | | | | | | | | | | Expression evaluation in syscalls should work now. Reviewers: labath Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12976 llvm-svn: 248301
* Allow TAB key to switch first responder when tests are running or completed.Greg Clayton2015-09-222-3/+52
| | | | | | Typing the shortcut key ('.' for 'pass', 'e' for 'error', etc) will toggle the visibility of the test in the Results window. llvm-svn: 248290
* Add missing file that contains the curses test suite code. To run with ↵Greg Clayton2015-09-221-0/+189
| | | | | | | | curses you now execute: % ./dotest.py --results-formatter=curses_results.Curses --results-file=/dev/stdout llvm-svn: 248285
* Roll back r248282.Todd Fiala2015-09-221-2/+1
| | | | | | | | I'm seeing timed out tests not properly timing out on the Linux build bot after this change. Not sure if it is related but seems suspect. llvm-svn: 248284
OpenPOWER on IntegriCloud