| ; RUN: rm -rf %t |
| ; RUN: split-file %s %t |
| ; RUN: sed -e "s|DSTROOT|%/t|g" %t/inputs.json.in > %t/inputs.json |
| ; RUN: cp -r %S/Inputs/Umbrella/Umbrella.framework %t/Frameworks/ |
| |
| // Check base filename matches. |
| ; RUN: clang-installapi --target=arm64-apple-macosx13 \ |
| ; RUN: -install_name /System/Library/Frameworks/Umbrella.framework/Versions/A/Umbrella \ |
| ; RUN: -ObjC -F%t/Frameworks/ %t/inputs.json \ |
| ; RUN: --public-umbrella-header=SpecialUmbrella.h \ |
| ; RUN: --private-umbrella-header=SpecialPrivateUmbrella.h \ |
| ; RUN: -o %t/output.tbd 2>&1 | FileCheck -allow-empty %s |
| |
| // Try missing umbrella header argument. |
| ; RUN: not clang-installapi --target=arm64-apple-macosx13 \ |
| ; RUN: -install_name /System/Library/Frameworks/Umbrella.framework/Versions/A/Umbrella \ |
| ; RUN: -ObjC -F%t/Frameworks/ %t/inputs.json \ |
| ; RUN: --public-umbrella-header=Ignore.h \ |
| ; RUN: -o %t/output.tbd 2>&1 | FileCheck %s -check-prefix=ERR |
| |
| ; ERR: error: public umbrella header file not found in input: 'Ignore.h' |
| |
| ; CHECK-NOT: error |
| ; CHECK-NOT: warning |
| |
| ;--- Frameworks/Umbrella.framework/Headers/Ignore.h |
| #error "This header should be ignored" |
| |
| ;--- inputs.json.in |
| { |
| "headers": [ { |
| "path" : "DSTROOT/Frameworks/Umbrella.framework/Headers/AAA.h", |
| "type" : "public" |
| }, |
| { |
| "path" : "DSTROOT/Frameworks/Umbrella.framework/Headers/SpecialUmbrella.h", |
| "type" : "public" |
| }, |
| { |
| "path" : "DSTROOT/Frameworks/Umbrella.framework/PrivateHeaders/AAA_Private.h", |
| "type" : "private" |
| }, |
| { |
| "path" : "DSTROOT/Frameworks/Umbrella.framework/PrivateHeaders/SpecialPrivateUmbrella.h", |
| "type" : "private" |
| }], |
| "version": "3" |
| } |