1// RUN: mkdir -p %T/clang-include-fixer/include
2// RUN: mkdir -p %T/clang-include-fixer/symbols
3// RUN: mkdir -p %T/clang-include-fixer/build
4// RUN: mkdir -p %T/clang-include-fixer/src
5// RUN: sed 's|test_dir|%/T/clang-include-fixer|g' %S/Inputs/database_template.json > %T/clang-include-fixer/build/compile_commands.json
6// RUN: echo -e '#include "bar.h"\nb::a::bar f;' > %T/clang-include-fixer/src/bar.cpp
7// RUN: echo 'namespace b { namespace a { class bar {}; } }' > %T/clang-include-fixer/include/bar.h
8// RUN: cd %T/clang-include-fixer/build
9// RUN: find-all-symbols -output-dir=%T/clang-include-fixer/symbols -p=. %T/clang-include-fixer/src/bar.cpp
10// RUN: find-all-symbols -merge-dir=%T/clang-include-fixer/symbols %T/clang-include-fixer/build/find_all_symbols.yaml
11// RUN: FileCheck -input-file=%T/clang-include-fixer/build/find_all_symbols.yaml -check-prefix=CHECK-YAML %s
12//
13// RUN: echo 'b::a::bar f;' > %T/clang-include-fixer/src/bar.cpp
14// RUN: clang-include-fixer -db=yaml -input=%T/clang-include-fixer/build/find_all_symbols.yaml -minimize-paths=true -p=. %T/clang-include-fixer/src/bar.cpp
15// RUN: FileCheck -input-file=%T/clang-include-fixer/src/bar.cpp %s
16
17// CHECK-YAML: ..{{[/\\]}}include{{[/\\]}}bar.h
18// CHECK: #include "bar.h"
19// CHECK: b::a::bar f;
20

source code of clang-tools-extra/test/clang-include-fixer/include_path.cpp