summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
authorPavel Labath <pavel@labath.sk>2019-04-21 13:02:41 +0000
committerPavel Labath <pavel@labath.sk>2019-04-21 13:02:41 +0000
commite8687e6ee1ba16bb4b6b1d96bb30b155ae5df522 (patch)
tree7d05fcdbcc157a3782709adcba47744bfe860cc5 /lldb/packages/Python/lldbsuite/test
parent27e9d982eb1e5aaa4c06a8771a3430eb803c1edf (diff)
downloadbcm5719-llvm-e8687e6ee1ba16bb4b6b1d96bb30b155ae5df522.tar.gz
bcm5719-llvm-e8687e6ee1ba16bb4b6b1d96bb30b155ae5df522.zip
Make TestVSCode_step pass reliably
Summary: The test was failing occasionally (1% of runs or so), because of unpredictable timings between the two threads spawned by the test. If the second thread hit the breakpoint right as we were stepping out of the function on the first thread, we would still be stuck at the inner frame when the process stopped. This would cause errors like: File "/home/worker/lldb-x86_64-debian/lldb-x86_64-debian/llvm/tools/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/step/TestVSCode_step.py", line 67, in test_step self.assertEqual(x1, x3, 'verify step out variable') AssertionError: 2 != 1 : verify step out variable AFAICT, lldb-vscode is doing the right thing here, and the problem is that the test is not taking this sequence of events into account. Since the test is about testing stepping, it does not seem necessary to have threads in the inferior at all, so I just rewrite the test to execute the code we're supposed to step through directly on the main thread. Reviewers: clayborg, jgorbe Subscribers: jfb, lldb-commits Differential Revision: https://reviews.llvm.org/D60608 llvm-svn: 358847
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r--lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/step/main.cpp8
1 files changed, 1 insertions, 7 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/step/main.cpp b/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/step/main.cpp
index 2fd06311387..3027551972f 100644
--- a/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/step/main.cpp
+++ b/lldb/packages/Python/lldbsuite/test/tools/lldb-vscode/step/main.cpp
@@ -1,5 +1,3 @@
-#include <thread>
-
int function(int x) {
if ((x % 2) == 0)
return function(x-1) + x; // breakpoint 1
@@ -8,9 +6,5 @@ int function(int x) {
}
int main(int argc, char const *argv[]) {
- std::thread thread1(function, 2);
- std::thread thread2(function, 4);
- thread1.join();
- thread2.join();
- return 0;
+ return function(2);
}
OpenPOWER on IntegriCloud