xref: /llvm-project/clang/test/InstallAPI/umbrella-headers.test (revision 6ad1cf3b37f0eefa5f43f90990ec3dcf5c87dead)
1; RUN: rm -rf %t
2; RUN: split-file %s %t
3; RUN: sed -e "s|DSTROOT|%/t|g" %t/inputs.json.in > %t/inputs.json
4; RUN: cp -r %S/Inputs/Umbrella/Umbrella.framework %t/Frameworks/
5
6// Check base filename matches.
7; RUN: clang-installapi --target=arm64-apple-macosx13 \
8; RUN: -install_name /System/Library/Frameworks/Umbrella.framework/Versions/A/Umbrella \
9; RUN: -ObjC -F%t/Frameworks/ %t/inputs.json \
10; RUN: --public-umbrella-header=SpecialUmbrella.h \
11; RUN: --private-umbrella-header=SpecialPrivateUmbrella.h \
12; RUN: -o %t/output.tbd 2>&1 | FileCheck -allow-empty %s
13
14// Try missing umbrella header argument.
15; RUN: not clang-installapi --target=arm64-apple-macosx13 \
16; RUN: -install_name /System/Library/Frameworks/Umbrella.framework/Versions/A/Umbrella \
17; RUN: -ObjC -F%t/Frameworks/ %t/inputs.json \
18; RUN: --public-umbrella-header=Ignore.h \
19; RUN: -o %t/output.tbd 2>&1 | FileCheck %s -check-prefix=ERR
20
21; ERR: error: public umbrella header file not found in input: 'Ignore.h'
22
23; CHECK-NOT: error
24; CHECK-NOT: warning
25
26;--- Frameworks/Umbrella.framework/Headers/Ignore.h
27#error "This header should be ignored"
28
29;--- inputs.json.in
30{
31  "headers": [ {
32    "path" : "DSTROOT/Frameworks/Umbrella.framework/Headers/AAA.h",
33    "type" : "public"
34  },
35  {
36    "path" : "DSTROOT/Frameworks/Umbrella.framework/Headers/SpecialUmbrella.h",
37    "type" : "public"
38  },
39  {
40    "path" : "DSTROOT/Frameworks/Umbrella.framework/PrivateHeaders/AAA_Private.h",
41    "type" : "private"
42  },
43  {
44    "path" : "DSTROOT/Frameworks/Umbrella.framework/PrivateHeaders/SpecialPrivateUmbrella.h",
45    "type" : "private"
46  }],
47  "version": "3"
48}
49