# 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