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