# RUN: %clang_host %p/Inputs/stop-hook.c -g -o %t
# Test setting stop-hook per-function
# RUN: %lldb -b -s %p/Inputs/stop-hook-1.lldbinit -s %s -f %t \
# RUN:      | FileCheck --check-prefix=CHECK --check-prefix=CHECK-FUNC %s
# Test setting stop-hook per-line range
# RUN: %lldb -b -s %p/Inputs/stop-hook-2.lldbinit -s %s -f %t | FileCheck %s
# Test setting stop-hook with multi-line expression
# RUN: %lldb -b -s %p/Inputs/stop-hook-3.lldbinit -s %s -f %t | FileCheck %s
# This test is not "unsupported" on Windows, but it fails because "expr ptr"
# does not evaluate correctly. However, the error message contains the expected
# string, so the test "passes" despite the fact that the commands failed
# llvm.org/pr40119
# UNSUPPORTED: system-windows

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"
target stop-hook list

# CHECK: Hook: 1
# CHECK-NEXT:  State: enabled
# CHECK-NEXT:  Specifier:
# CHECK-FUNC-NEXT:    Function: b.
# CHECK-NEXT:  Commands: 
# CHECK-NEXT:    expr ptr

target stop-hook disable

target stop-hook list
# CHECK: Hook: 1
# CHECK-NEXT:  State: disabled
# CHECK-NEXT:  Specifier:
# CHECK-FUNC-NEXT:    Function: b.
# CHECK-NEXT:  Commands: 
# CHECK-NEXT:    expr ptr

target stop-hook enable

target stop-hook list
# CHECK: Hook: 1
# CHECK-NEXT:  State: enabled
# CHECK-NEXT:  Specifier:
# CHECK-FUNC-NEXT:    Function: b.
# CHECK-NEXT:  Commands: 
# CHECK-NEXT:    expr ptr

run
# Stopping inside of the stop hook range
# CHECK: (lldb) run
# CHECK-NEXT: (void *) ${{.*}} = 0x

thread step-over
# Stepping inside of the stop hook range
# CHECK: (lldb) thread step-over
# CHECK-NEXT: (void *) ${{.*}} = 0x
# CHECK: ->{{.*}} // We should stop here after stepping.

process continue
# Stopping outside of the stop hook range
# CHECK: (lldb) process continue
# CHECK-NOT: (void *)
# CHECK: ->{{.*}} // Another breakpoint which is outside of the stop-hook range.

thread step-over
# Stepping inside of the stop hook range
# CHECK: (lldb) thread step-over
# CHECK-NOT: (void *)

settings set auto-confirm true
target stop-hook delete

target stop-hook list
# CHECK: (lldb) target stop-hook list
# CHECK-NOT: Hook: 1
# CHECK: No stop hooks
# CHECK-NOT: Hook: 1

