Skip to content

Commit 27b1441

Browse files
committed
[lldb] Add test for stop hook ordering
Add test for stop hook user ID assignment, ordering, and printing.
1 parent c84303e commit 27b1441

File tree

1 file changed

+70
-0
lines changed

1 file changed

+70
-0
lines changed
Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
# Test stop hook user ID assignment, ordering, and printing.
2+
#
3+
# RUN: %lldb -b -s %s | FileCheck %s
4+
5+
# Create some stop hooks
6+
target stop-hook add -o 'print "Hello"'
7+
target stop-hook add -o 'print "world,"'
8+
target stop-hook add -o 'print "nice"'
9+
target stop-hook add -o 'print "weather"'
10+
target stop-hook add -o 'print "today!"'
11+
12+
# Print hooks
13+
target stop-hook list
14+
15+
# CHECK: (lldb) target stop-hook list
16+
# CHECK: Hook: 1
17+
# CHECK: "Hello"
18+
# CHECK: Hook: 2
19+
# CHECK: "world,"
20+
# CHECK: Hook: 3
21+
# CHECK: "nice"
22+
# CHECK: Hook: 4
23+
# CHECK: "weather"
24+
# CHECK: Hook: 5
25+
# CHECK: "today!"
26+
27+
# Delete last hook, then add new one
28+
target stop-hook delete 5
29+
target stop-hook add -o 'print "Sunshine,"'
30+
31+
# Stop hook gets new user ID (it is not reused)
32+
# CHECK: (lldb) target stop-hook add -o 'print "Sunshine,"'
33+
# CHECK: Stop hook #6 added.
34+
35+
target stop-hook list
36+
# CHECK: (lldb) target stop-hook list
37+
# CHECK: Hook: 4
38+
# CHECK-NOT: Hook: 5
39+
# CHECK: Hook: 6
40+
41+
# Add a few more hooks
42+
target stop-hook add -o 'print "rain,"'
43+
target stop-hook add -o 'print "and wind!"'
44+
target stop-hook add -o 'print "It is all okay!"'
45+
# CHECK: Stop hook #7 added.
46+
# CHECK: Stop hook #8 added.
47+
# CHECK: Stop hook #9 added.
48+
49+
# Delete a few hooks
50+
target stop-hook delete 1
51+
target stop-hook delete 3
52+
target stop-hook delete 7
53+
target stop-hook delete 9
54+
55+
# Check that the list is still well-ordered
56+
target stop-hook list
57+
# CHECK: (lldb) target stop-hook list
58+
# CHECK-NOT: Hook: 1
59+
# CHECK: Hook: 2
60+
# CHECK: "world,"
61+
# CHECK-NOT: Hook: 3
62+
# CHECK: Hook: 4
63+
# CHECK: "weather"
64+
# CHECK-NOT: Hook: 5
65+
# CHECK: Hook: 6
66+
# CHECK: "Sunshine,"
67+
# CHECK-NOT: Hook: 7
68+
# CHECK: Hook: 8
69+
# CHECK: "and wind!"
70+
# CHECK-NOT: Hook: 9

0 commit comments

Comments
 (0)