[lldb][tests] Automatically call compute_mydir (NFC)Eliminate boilerplate of having each test manually assign to `mydir` by calling`compute_mydir` in lldbtest.py.Differential Revision: https://r
[lldb][tests] Automatically call compute_mydir (NFC)Eliminate boilerplate of having each test manually assign to `mydir` by calling`compute_mydir` in lldbtest.py.Differential Revision: https://reviews.llvm.org/D128077
show more ...
[LLDB] Skip TestIOHandlerPythonREPLSigint.py on AArch64/LinuxTestIOHandlerPythonREPLSigint.py is running falky on AArch64/Linuxbuildbot failing randomly. Skipping it for AArch64/Linux as well.
[lldb] Disable one more watchpoint test on WindowsThis should be the last remaining flaky watchpoint test on Windows
[lldb] [Process/FreeBSDRemote] Explicitly copy dbregs to new threadsExplicitly copy dbregs to new threads to ensure that watchpointsare propagated properly. Fixes the test failure due to apparent
[lldb] [Process/FreeBSDRemote] Explicitly copy dbregs to new threadsExplicitly copy dbregs to new threads to ensure that watchpointsare propagated properly. Fixes the test failure due to apparent kernelrace between reporting a new thread and resuming main thread executionthat makes implicit inheritance of dbregs unreliable. By copying themexplicitly, we ensure that the new thread correctly respects watchpointsthat were set after the thread was created but before it was reported.The code is copied from the NetBSD plugin and modernized to usellvm::Error.Differential Revision: https://reviews.llvm.org/D91032
[lldb] [test] Extend watchpoint test to wait for thread to startTestWatchpointMultipleThreads currently accounts for two scenarios:setting the watchpoint before a new thread starts (presumably, ve
[lldb] [test] Extend watchpoint test to wait for thread to startTestWatchpointMultipleThreads currently accounts for two scenarios:setting the watchpoint before a new thread starts (presumably, verifyingthat it will be propagated to the new thread) and setting it afterthe thread starts (presumably, verifying that a new watchpoint is seton all threads). However, the latter test currently assumes thatthe thread will be reported to the debugger before the breakpoint ishit. This is not the case on FreeBSD and NetBSD.On NetBSD, new threads do not inherit debug registers from their parentthreads. Instead, LLDB copies them manually after the new thread isreported. Since the thread is actually reported after the secondbreakpoint location, both tests effectively check the same behavior(i.e. watchpoint being set before the new thread is reported).On FreeBSD, new threads inherit debug registers and we seem to hitan interesting race condition. While the thread is reported afterthe breakpoint is hit, the kernel seems to construct it and copythe debug register before that happens. As a result, settingthe watchpoint at the second breakpoint location modifies the debugregisters of the first thread after they have been copied to the secondthread but before the debugger is aware of it. Therefore,the watchpoint is not propagated to the second thread and the testfails.Extend the test to cover all three possible scenarios: settingwatchpoint before the thread is lanched, after it is launched but beforeit is guaranteed to have started and after it has actually started. Adda second barrier to account for the last case. This should ensure thatthe second assumption (i.e. that the watchpoint is set on all currentlyknown threads) is actually tested on FreeBSD and NetBSD.Differential Revision: https://reviews.llvm.org/D91030
[lldb] Enable FreeBSDRemote plugin by default and update test statusThe new FreeBSDRemote plugin has reached feature parity on i386and amd64 targets. Use it by default on these architectures, whi
[lldb] Enable FreeBSDRemote plugin by default and update test statusThe new FreeBSDRemote plugin has reached feature parity on i386and amd64 targets. Use it by default on these architectures, whileallowing the use of the legacy plugin via FREEBSD_LEGACY_PLUGIN envvar.Revisit the method of switching plugins. Apparently, the return valueof PlatformFreeBSD::CanDebugProcess() is what really decides whetherthe legacy or the new plugin is used.Update the test status. Reenable the tests that were previouslydisabled on FreeBSD and do not cause hangs or are irrelevant to FreeBSD.Mark all tests that fail reliably as expectedFailure. For now, teststhat are flaky (i.e. produce unstable results) are left enabledand cause unpredictable test failures.Differential Revision: https://reviews.llvm.org/D90757
[lldb] Remove license headers from all test source filesSummary:Around a third of our test sources have LLVM license headers. This patch removes those headers from all testsources and also fixes
[lldb] Remove license headers from all test source filesSummary:Around a third of our test sources have LLVM license headers. This patch removes those headers from all testsources and also fixes any tests that depended on the length of the license header.The reasons for this are:* A few tests verify line numbers and will start failing if the number of lines in the LLVM license header changes. Once I landed my patch for valid SourceLocations in debug info we will probably have even more tests that verify line numbers.* No other LLVM project is putting license headers in its test files to my knowledge.* They make the test sources much more verbose than they have to be. Several tests have longer license headers than the actual test source.For the record, the following tests had their line numbers changed to pass with the removal of the license header: lldb-api :: functionalities/breakpoint/breakpoint_by_line_and_column/TestBreakpointByLineAndColumn.py lldb-shell :: Reproducer/TestGDBRemoteRepro.test lldb-shell :: Reproducer/TestMultipleTargets.test lldb-shell :: Reproducer/TestReuseDirectory.test lldb-shell :: ExecControl/StopHook/stop-hook-threads.test lldb-shell :: ExecControl/StopHook/stop-hook.test lldb-api :: lang/objc/exceptions/TestObjCExceptions.pyReviewers: #lldb, espindola, JDevlieghereReviewed By: #lldb, JDevlieghereSubscribers: emaste, aprantl, arphaman, JDevlieghere, lldb-commitsTags: #lldbDifferential Revision: https://reviews.llvm.org/D74839
[lldb][test] Remove symlink for API tests.Summary: Moves lldbsuite tests to lldb/test/API.This is a largely mechanical change, moved with the following steps:```rm lldb/test/API/testcasesmkdi
[lldb][test] Remove symlink for API tests.Summary: Moves lldbsuite tests to lldb/test/API.This is a largely mechanical change, moved with the following steps:```rm lldb/test/API/testcasesmkdir -p lldb/test/API/{test_runner/test,tools/lldb-{server,vscode}}mv lldb/packages/Python/lldbsuite/test/test_runner/test lldb/test/API/test_runnerfor d in $(find lldb/packages/Python/lldbsuite/test/* -maxdepth 0 -type d | egrep -v "make|plugins|test_runner|tools"); do mv $d lldb/test/API; donefor d in $(find lldb/packages/Python/lldbsuite/test/tools/lldb-vscode -maxdepth 1 -mindepth 1 | grep -v ".py"); do mv $d lldb/test/API/tools/lldb-vscode; donefor d in $(find lldb/packages/Python/lldbsuite/test/tools/lldb-server -maxdepth 1 -mindepth 1 | egrep -v "gdbremote_testcase.py|lldbgdbserverutils.py|socket_packet_pump.py"); do mv $d lldb/test/API/tools/lldb-server; done```lldb/packages/Python/lldbsuite/__init__.py and lldb/test/API/lit.cfg.py were also updated with the new directory structure.Reviewers: labath, JDevlieghereTags: #lldbDifferential Revision: https://reviews.llvm.org/D71151