blob: 42d0a67c60dfa46ee938c698fd34b15017bab7c8 [file] [log] [blame] [edit]
# Test stop hook user ID assignment, ordering, and printing.
#
# RUN: %lldb -b -s %s | FileCheck %s
# Create some stop hooks
target stop-hook add -o 'print "Hello"'
target stop-hook add -o 'print "world,"'
target stop-hook add -o 'print "nice"'
target stop-hook add -o 'print "weather"'
target stop-hook add -o 'print "today!"'
# Print hooks
target stop-hook list
# CHECK: (lldb) target stop-hook list
# CHECK: Hook: 1
# CHECK: "Hello"
# CHECK: Hook: 2
# CHECK: "world,"
# CHECK: Hook: 3
# CHECK: "nice"
# CHECK: Hook: 4
# CHECK: "weather"
# CHECK: Hook: 5
# CHECK: "today!"
# Delete last hook, then add new one
target stop-hook delete 5
target stop-hook add -o 'print "Sunshine,"'
# Stop hook gets new user ID (it is not reused)
# CHECK: (lldb) target stop-hook add -o 'print "Sunshine,"'
# CHECK: Stop hook #6 added.
target stop-hook list
# CHECK: (lldb) target stop-hook list
# CHECK: Hook: 4
# CHECK-NOT: Hook: 5
# CHECK: Hook: 6
# Add a few more hooks
target stop-hook add -o 'print "rain,"'
target stop-hook add -o 'print "and wind!"'
target stop-hook add -o 'print "It is all okay!"'
# CHECK: Stop hook #7 added.
# CHECK: Stop hook #8 added.
# CHECK: Stop hook #9 added.
# Delete a few hooks
target stop-hook delete 1
target stop-hook delete 3
target stop-hook delete 7
target stop-hook delete 9
# Check that the list is still well-ordered
target stop-hook list
# CHECK: (lldb) target stop-hook list
# CHECK-NOT: Hook: 1
# CHECK: Hook: 2
# CHECK: "world,"
# CHECK-NOT: Hook: 3
# CHECK: Hook: 4
# CHECK: "weather"
# CHECK-NOT: Hook: 5
# CHECK: Hook: 6
# CHECK: "Sunshine,"
# CHECK-NOT: Hook: 7
# CHECK: Hook: 8
# CHECK: "and wind!"
# CHECK-NOT: Hook: 9