xref: /llvm-project/clang/test/ClangScanDeps/modules-fmodule-name-no-module-built.m (revision 9d4837f47c48c634d4a0ac799188e1f5332495ef)
1c68f2472SAlex Lorenz// RUN: rm -rf %t.dir
2c68f2472SAlex Lorenz// RUN: rm -rf %t.cdb
3c68f2472SAlex Lorenz// RUN: mkdir -p %t.dir
4c68f2472SAlex Lorenz// RUN: cp %s %t.dir/modules-fmodule-name-no-module-built.m
5c68f2472SAlex Lorenz// RUN: mkdir %t.dir/Inputs
6c68f2472SAlex Lorenz// RUN: cp %S/Inputs/header.h %t.dir/Inputs/header.h
7c68f2472SAlex Lorenz// RUN: cp %S/Inputs/header2.h %t.dir/Inputs/header2.h
8c68f2472SAlex Lorenz// RUN: cp %S/Inputs/header3.h %t.dir/Inputs/header3.h
9c68f2472SAlex Lorenz// RUN: cp %S/Inputs/module.modulemap %t.dir/Inputs/module.modulemap
10c68f2472SAlex Lorenz// RUN: sed -e "s|DIR|%/t.dir|g" %S/Inputs/module_fmodule_name_cdb.json > %t.cdb
11c68f2472SAlex Lorenz
12c68f2472SAlex Lorenz// RUN: clang-scan-deps -compilation-database %t.cdb -j 1 -format experimental-full \
1371e32d5cSJan Svoboda// RUN:   -mode preprocess-dependency-directives > %t.result
14c4b13f7aSJan Svoboda// RUN: cat %t.result | sed 's:\\\\\?:/:g' | FileCheck -DPREFIX=%/t.dir --check-prefixes=CHECK %s
15c68f2472SAlex Lorenz
16c68f2472SAlex Lorenz#import "header3.h"
17c68f2472SAlex Lorenz#import "header.h"
18c68f2472SAlex Lorenz
19c4b13f7aSJan Svoboda// CHECK:      {
20c68f2472SAlex Lorenz// CHECK-NEXT:   "modules": [
21c68f2472SAlex Lorenz// CHECK-NEXT:     {
22c68f2472SAlex Lorenz// CHECK-NEXT:       "clang-module-deps": []
23c68f2472SAlex Lorenz// CHECK-NEXT:       "clang-modulemap-file": "[[PREFIX]]/Inputs/module.modulemap",
24c68f2472SAlex Lorenz// CHECK-NEXT:       "command-line": [
25c68f2472SAlex Lorenz// CHECK:            ],
26c68f2472SAlex Lorenz// CHECK-NEXT:       "context-hash": "[[HASH_H2:[A-Z0-9]+]]",
27c68f2472SAlex Lorenz// CHECK-NEXT:       "file-deps": [
28*9d4837f4SJan Svoboda// CHECK-NEXT:         "[[PREFIX]]/Inputs/module.modulemap",
29*9d4837f4SJan Svoboda// CHECK-NEXT:         "[[PREFIX]]/Inputs/header2.h"
30c68f2472SAlex Lorenz// CHECK-NEXT:       ],
3168eb3b20SArtem Chikin// CHECK-NEXT:       "link-libraries": [],
32c68f2472SAlex Lorenz// CHECK-NEXT:       "name": "header2"
33c68f2472SAlex Lorenz// CHECK-NEXT:     }
34c68f2472SAlex Lorenz// CHECK-NEXT:   ],
35c68f2472SAlex Lorenz// CHECK-NEXT:   "translation-units": [
36c68f2472SAlex Lorenz// CHECK-NEXT:     {
3783902c40SBen Langmuir// CHECK:            "clang-context-hash": "[[HASH_TU:[A-Z0-9]+]]",
38c68f2472SAlex Lorenz// CHECK-NEXT:       "clang-module-deps": [
39c68f2472SAlex Lorenz// CHECK-NEXT:         {
40c68f2472SAlex Lorenz// CHECK-NEXT:           "context-hash": "[[HASH_H2]]",
41c68f2472SAlex Lorenz// CHECK-NEXT:           "module-name": "header2"
42c68f2472SAlex Lorenz// CHECK-NEXT:         }
43c68f2472SAlex Lorenz// CHECK-NEXT:       ],
44c68f2472SAlex Lorenz// CHECK-NEXT:       "command-line": [
45be795ee1SJan Svoboda// CHECK:            ],
4683902c40SBen Langmuir// CHECK:            "file-deps": [
47*9d4837f4SJan Svoboda// CHECK-NEXT:         "[[PREFIX]]/modules-fmodule-name-no-module-built.m",
48*9d4837f4SJan Svoboda// CHECK-NEXT:         "[[PREFIX]]/Inputs/header3.h",
49c68f2472SAlex Lorenz// CHECK-NEXT:         "[[PREFIX]]/Inputs/header.h"
50c68f2472SAlex Lorenz// CHECK-NEXT:       ],
51c68f2472SAlex Lorenz// CHECK-NEXT:       "input-file": "[[PREFIX]]/modules-fmodule-name-no-module-built.m"
52c68f2472SAlex Lorenz// CHECK-NEXT:     }
53