1# REQUIRES: system-darwin
2
3# Start fresh.
4# RUN: rm -rf %t.repro
5# RUN: rm -rf %t.root
6# RUN: rm -rf %t.clang-cache
7# RUN: rm -rf %t.lldb-cache
8
9# Create a temporary root we can remove later.
10# RUN: mkdir -p %t.root
11# RUN: mkdir -p %t.clang-cache
12# RUN: mkdir -p %t.lldb-cache
13# RUN: cp %S/Inputs/main.cpp %t.root
14# RUN: cp %S/Inputs/Foo.h %t.root
15# RUN: cp %S/Inputs/Bar.h %t.root
16# RUN: cp %S/Inputs/module.modulemap %t.root
17
18# Compile the test case form the temporary root.
19# RUN: %clang_host %t.root/main.cpp -g -fmodules -fcxx-modules -fmodules-cache-path=%t.clang-cache -o %t.root/a.out
20
21# Capture the debug session.
22# RUN: %lldb -x -b -o 'settings set symbols.clang-modules-cache-path %t.lldb-cache' -s %S/Inputs/ModuleCXX.in --capture --capture-path %t.repro %t.root/a.out | FileCheck %s --check-prefix CAPTURE
23# CAPTURE: (success = 0)
24
25# RUN: cat %t.repro/files.yaml | FileCheck %s --check-prefix YAML
26# YAML-DAG: Foo.h
27# YAML-DAG: Bar.h
28# YAML-DAG: module.modulemap
29
30# Remove the temporary root.
31# RUN: rm -rf %t.root
32# RUN: rm -rf %t.clang-cache
33# RUN: rm -rf %t.lldb-cache
34
35# Replay the debug session.
36# RUN: %lldb -x -b -o 'settings set symbols.clang-modules-cache-path %t.lldb-cache' -s %S/Inputs/ModuleCXX.in --replay %t.repro %t.root/a.out | FileCheck %s --check-prefix REPLAY
37# REPLAY: (success = 0)
38