summaryrefslogtreecommitdiffstats
path: root/lldb/lit/ExecControl
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/lit/ExecControl')
-rw-r--r--lldb/lit/ExecControl/StopHook/Inputs/stop-hook-2.lldbinit2
-rw-r--r--lldb/lit/ExecControl/StopHook/Inputs/stop-hook-3.lldbinit2
-rw-r--r--lldb/lit/ExecControl/StopHook/Inputs/stop-hook-threads-1.lldbinit6
-rw-r--r--lldb/lit/ExecControl/StopHook/Inputs/stop-hook-threads-2.lldbinit5
-rw-r--r--lldb/lit/ExecControl/StopHook/Inputs/stop-hook-threads.cpp6
-rw-r--r--lldb/lit/ExecControl/StopHook/stop-hook-threads.test18
-rw-r--r--lldb/lit/ExecControl/StopHook/stop-hook.test1
7 files changed, 22 insertions, 18 deletions
diff --git a/lldb/lit/ExecControl/StopHook/Inputs/stop-hook-2.lldbinit b/lldb/lit/ExecControl/StopHook/Inputs/stop-hook-2.lldbinit
index 13de5fb60bc..31817bdaaa5 100644
--- a/lldb/lit/ExecControl/StopHook/Inputs/stop-hook-2.lldbinit
+++ b/lldb/lit/ExecControl/StopHook/Inputs/stop-hook-2.lldbinit
@@ -1 +1 @@
-target stop-hook add -f stop-hook.c -l 29 -e 34 -o "expr ptr" \ No newline at end of file
+target stop-hook add -f stop-hook.c -l 29 -e 34 -o "expr ptr"
diff --git a/lldb/lit/ExecControl/StopHook/Inputs/stop-hook-3.lldbinit b/lldb/lit/ExecControl/StopHook/Inputs/stop-hook-3.lldbinit
index b4dcda2f88f..36e144deecc 100644
--- a/lldb/lit/ExecControl/StopHook/Inputs/stop-hook-3.lldbinit
+++ b/lldb/lit/ExecControl/StopHook/Inputs/stop-hook-3.lldbinit
@@ -1,3 +1,3 @@
target stop-hook add -f stop-hook.c -l 29 -e 34
expr ptr
-DONE \ No newline at end of file
+DONE
diff --git a/lldb/lit/ExecControl/StopHook/Inputs/stop-hook-threads-1.lldbinit b/lldb/lit/ExecControl/StopHook/Inputs/stop-hook-threads-1.lldbinit
index f192d9952e9..004bd34abfb 100644
--- a/lldb/lit/ExecControl/StopHook/Inputs/stop-hook-threads-1.lldbinit
+++ b/lldb/lit/ExecControl/StopHook/Inputs/stop-hook-threads-1.lldbinit
@@ -1,7 +1,7 @@
+break set -f stop-hook-threads.cpp -p "Break here to set up the stop hook"
break set -f stop-hook-threads.cpp -p "Break here to test that the stop-hook"
run
-target stop-hook add
-frame variable --show-globals g_val
+target stop-hook add -G true
+expr lldb_val += 1
thread list
-continue
DONE
diff --git a/lldb/lit/ExecControl/StopHook/Inputs/stop-hook-threads-2.lldbinit b/lldb/lit/ExecControl/StopHook/Inputs/stop-hook-threads-2.lldbinit
index 467f60b1e1e..3b7d23953c3 100644
--- a/lldb/lit/ExecControl/StopHook/Inputs/stop-hook-threads-2.lldbinit
+++ b/lldb/lit/ExecControl/StopHook/Inputs/stop-hook-threads-2.lldbinit
@@ -1,4 +1,5 @@
+break set -f stop-hook-threads.cpp -p "Break here to set up the stop hook"
break set -f stop-hook-threads.cpp -p "Break here to test that the stop-hook"
run
-target stop-hook add -x 2 -o "frame variable thread_index"
-target stop-hook add -o continue
+target stop-hook add -x 2 -o "expr lldb_val += 1" -o "thread list"
+target stop-hook add -G true -o "script print('Hit stop hook')
diff --git a/lldb/lit/ExecControl/StopHook/Inputs/stop-hook-threads.cpp b/lldb/lit/ExecControl/StopHook/Inputs/stop-hook-threads.cpp
index 5b6f31edd1b..e653f5ff518 100644
--- a/lldb/lit/ExecControl/StopHook/Inputs/stop-hook-threads.cpp
+++ b/lldb/lit/ExecControl/StopHook/Inputs/stop-hook-threads.cpp
@@ -16,6 +16,7 @@ std::default_random_engine g_random_engine{std::random_device{}()};
std::uniform_int_distribution<> g_distribution{0, 3000};
uint32_t g_val = 0;
+uint32_t lldb_val = 0;
uint32_t
access_pool (bool flag = false)
@@ -62,7 +63,8 @@ thread_func (uint32_t thread_index)
int main (int argc, char const *argv[])
{
std::thread threads[3];
-
+ // Break here to set up the stop hook
+ printf("Stop hooks engaged.\n");
// Create 3 threads
for (auto &thread : threads)
thread = std::thread{thread_func, std::distance(threads, &thread)};
@@ -71,5 +73,7 @@ int main (int argc, char const *argv[])
for (auto &thread : threads)
thread.join();
+ // print lldb_val so we can check it here.
+ printf ("lldb_val was set to: %d.\n", lldb_val);
return 0;
}
diff --git a/lldb/lit/ExecControl/StopHook/stop-hook-threads.test b/lldb/lit/ExecControl/StopHook/stop-hook-threads.test
index c761bdc1d14..134357535cd 100644
--- a/lldb/lit/ExecControl/StopHook/stop-hook-threads.test
+++ b/lldb/lit/ExecControl/StopHook/stop-hook-threads.test
@@ -4,7 +4,6 @@
# RUN: %lldb -b -s %p/Inputs/stop-hook-threads-2.lldbinit -s %s -f %t \
# RUN: | FileCheck --check-prefix=CHECK --check-prefix=CHECK-FILTER %s
# XFAIL: system-windows
-# UNSUPPORTED: linux
thread list
break set -f stop-hook-threads.cpp -p "Set break point at this line"
@@ -12,23 +11,22 @@ target stop-hook list
# CHECK: Hook: 1
# CHECK-NEXT: State: enabled
+# CHECK-NO-FILTER-NEXT: AutoContinue on
# CHECK-FILTER-NEXT: Thread
# CHECK-FILTER-NEXT: index: 2
# CHECK-NEXT: Commands:
-# CHECK-NEXT: frame variable
+# CHECK-NEXT: expr lldb_val += 1
+# CHECK-NEXT: thread list
# CHECK-FILTER: Hook: 2
# CHECK-FILTER-NEXT: State: enabled
+# CHECK-FILTER-NEXT: AutoContinue on
# CHECK-FILTER-NEXT: Commands:
-# CHECK-FILTER-NEXT: continue
+# CHECK-FILTER-NEXT: script print('Hit stop hook')
# Get the threads going
continue
-# When we filter per thread, we expect exactly 4 identical "frame var" results
-# CHECK-FILTER: (uint32_t) thread_index = [[THREAD_INDEX:[0-9]*]]
-# CHECK-FILTER-COUNT-3: (uint32_t) thread_index = [[THREAD_INDEX]]
-# CHECK-FILTER-NOT: thread_index
-
-# When we don't filter, we expect to count 12 stopped threads in the thread list output
-# CHECK-NO-FILTER-COUNT-12: at stop-hook-threads.cpp{{.*}} stop reason = breakpoint \ No newline at end of file
+# Now make sure we hit the command the right number of times:
+# CHECK-NO-FILTER: lldb_val was set to: 15.
+# CHECK-FILTER: lldb_val was set to: 5.
diff --git a/lldb/lit/ExecControl/StopHook/stop-hook.test b/lldb/lit/ExecControl/StopHook/stop-hook.test
index ca6495ef14a..dbf2b975809 100644
--- a/lldb/lit/ExecControl/StopHook/stop-hook.test
+++ b/lldb/lit/ExecControl/StopHook/stop-hook.test
@@ -11,6 +11,7 @@
# string, so the test "passes" despite the fact that the commands failed
# llvm.org/pr40119
# UNSUPPORTED: system-windows
+# XFAIL: system-linux
break set -f stop-hook.c -p "// Set breakpoint here to test target stop-hook"
break set -f stop-hook.c -p "// Another breakpoint which is outside of the stop-hook range"
OpenPOWER on IntegriCloud