| # RUN: %clangxx_host -std=c++11 %p/Inputs/stop-hook-threads.cpp -g -o %t | |
| # RUN: %lldb -b -s %p/Inputs/stop-hook-threads-1.lldbinit -s %s -f %t \ | |
| # RUN: | FileCheck --check-prefix=CHECK --check-prefix=CHECK-NO-FILTER %s | |
| # 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-freebsd | |
| # XFAIL: system-netbsd | |
| # UNSUPPORTED: system-windows | |
| # This test is flakey and hangs on windows periodically: llvm.org/pr38373 | |
| # UNSUPPORTED: system-linux, system-darwin | |
| thread list | |
| break set -f stop-hook-threads.cpp -p "Set break point at this line" | |
| 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: 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: script print('Hit stop hook') | |
| # Get the threads going | |
| continue | |
| # 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. |