brintos

brintos / llvm-project-archived public Read only

0
0
Text · 6.1 KiB · addb81f Raw
188 lines · plain
1; RUN: rm -rf %t 2; RUN: split-file %s %t3; RUN: mkdir -p %t/System/Library/Frameworks 4; RUN: cp -r %S/Inputs/Simple/Simple.framework %t/System/Library/Frameworks/5; RUN: cp -r %S/Inputs/Foundation/Foundation.framework %t/System/Library/Frameworks/6; RUN: sed -e "s|DSTROOT|%/t|g" %t/inputs.json.in > %t/inputs.json7; RUN: yaml2obj %S/Inputs/Simple/Simple.yaml -o %t/Simple 8 9// Add exclude options.10; RUN: clang-installapi -target x86_64-apple-macosx10.12 \11; RUN: -install_name /System/Library/Frameworks/Simple.framework/Versions/A/Simple \12; RUN: -current_version 1.2.3 -compatibility_version 1 \13; RUN: -F%t/System/Library/Frameworks \14; RUN: %t/inputs.json -o %t/Simple.tbd \15; RUN: --verify-against=%t/Simple --verify-mode=ErrorsAndWarnings \16; RUN: --exclude-public-header=**/SimpleAPI.h \17; RUN: --exclude-private-header=**/SimplePrivateSPI.h 2>&1 | FileCheck -check-prefix=WARNINGS %s18; RUN: llvm-readtapi -compare %t/Simple.tbd %t/expected-excluded.tbd19 20// Add extra options.21; RUN: clang-installapi -target x86_64-apple-macosx10.12 \22; RUN: -install_name /System/Library/Frameworks/Simple.framework/Versions/A/Simple \23; RUN: -current_version 1.2.3 -compatibility_version 1 \24; RUN: -F%t/System/Library/Frameworks \25; RUN: %t/inputs.json -o %t/Simple.tbd \26; RUN: --verify-against=%t/Simple --verify-mode=Pedantic \27; RUN: --extra-project-header=%S/Inputs/Simple/SimpleInternalAPI2.h \28; RUN: --extra-project-header=%S/Inputs/Simple/SimpleInternalAPI.h \29; RUN: --extra-public-header=%S/Inputs/Simple/Extra \30; RUN: --extra-private-header=%S/Inputs/Simple/SimpleInternalSPI.h \31; RUN: --exclude-public-header=**/SimpleAPI.h \32; RUN: --exclude-private-header=**/SimplePrivateSPI.h 2>&1 | FileCheck -check-prefix=PEDANTIC -allow-empty %s33; RUN: llvm-readtapi -compare %t/Simple.tbd %t/expected-extra.tbd34 35// Check fatal missing file input.36; RUN: not clang-installapi -target x86_64-apple-macosx10.12 \37; RUN: -install_name /System/Library/Frameworks/Simple.framework/Versions/A/Simple \38; RUN: -current_version 1.2.3 -compatibility_version 1 \39; RUN: -F%t/System/Library/Frameworks \40; RUN: %t/inputs.json -o %t/Simple.tbd \41; RUN: --extra-public-header=%S/Inputs/Simple/NoSuchFile.h 2>&1 | FileCheck -allow-empty -check-prefix=NOPUBLIC %s42 43; WARNINGS: warning: no declaration was found for exported symbol '_extraGlobalAPI1' in dynamic library44; WARNINGS: warning: no declaration was found for exported symbol '_extraGlobalAPI2' in dynamic library45; WARNINGS: warning: no declaration was found for exported symbol '(ObjC Class) SimpleInternalSPI' in dynamic library46; WARNINGS: warning: no declaration was found for exported symbol '(ObjC Class) SimpleInternalAPI' in dynamic library47 48; PEDANTIC-NOT: error49; PEDANTIC: warning: cannot find protocol definition for 'ForwardProcotol'50 51; NOPUBLIC: error: no such public header file:52 53;--- expected-excluded.tbd54{55  "main_library": {56    "current_versions": [57      {58        "version": "1.2.3"59      }60    ],61    "exported_symbols": [62      {63        "data": {64          "global": [65            "_publicGlobalVariable",66            "_privateGlobalVariable"67          ],68          "objc_class": [69            "ExternalManagedObject", "Basic6",70            "Basic1", "Base", "Basic3",71            "FooClass", "Simple",72            "Basic4_2", "Basic5",73            "Basic9","Basic8",74            "Basic2", "Basic4", "A", "SubClass"75          ],76          "objc_eh_type": [77            "SubClass", "Base"78          ],79          "objc_ivar": [80            "Basic4.ivar2", "Basic4_2.ivar1", "Basic6.ivar1",81            "Basic4.ivar1", "Basic4_2.ivar2"82          ],83          "weak": [84            "_weakPrivateGlobalVariable", "_weakPublicGlobalVariable"85          ]86        }87      }88    ],89    "flags": [90      {91        "attributes": ["not_app_extension_safe"]92      }93    ],94    "install_names": [95      {96        "name": "/System/Library/Frameworks/Simple.framework/Versions/A/Simple"97      }98    ],99    "target_info": [100      {"min_deployment": "10.12", "target": "x86_64-macos"}101    ]102  },103  "tapi_tbd_version": 5104}105 106;--- expected-extra.tbd107{108  "main_library": {109    "current_versions": [110      { "version": "1.2.3" }111    ],112    "exported_symbols": [113      {114        "data": {115          "global": [116            "_publicGlobalVariable", "_extraGlobalAPI2",117            "_extraGlobalAPI1", "_privateGlobalVariable"118          ],119          "objc_class": [120            "SubClass", "SimpleInternalSPI",121            "Basic6", "Basic1", "Base",122            "Basic3", "Simple", "Basic4_2",123            "Basic5", "FooClass", "Basic9",124            "Basic8", "Basic2", "Basic4",125            "A", "SimpleInternalAPI",126            "ExternalManagedObject"127          ],128          "objc_eh_type": [129            "SubClass", "SimpleInternalAPI",130            "Base", "SimpleInternalSPI"131          ],132          "objc_ivar": [133            "Basic4.ivar2", "Basic4_2.ivar1",134            "Basic6.ivar1", "Basic4.ivar1",135            "Basic4_2.ivar2"136          ],137          "weak": [138            "_weakPrivateGlobalVariable", "_weakPublicGlobalVariable"139          ]140        }141      }142    ],143    "flags": [144      {145        "attributes": [ "not_app_extension_safe"]146      }147    ],148    "install_names": [149      { "name": "/System/Library/Frameworks/Simple.framework/Versions/A/Simple" }150    ],151    "target_info": [152      { "min_deployment": "10.12", "target": "x86_64-macos" }153    ]154  },155  "tapi_tbd_version": 5156}157 158;--- inputs.json.in159{160  "headers": [ 161  {162    "path" : "DSTROOT/System/Library/Frameworks/Simple.framework/Headers/Basic.h",163    "type" : "public"164  }, 165  {166    "path" : "DSTROOT/System/Library/Frameworks/Simple.framework/Headers/External.h",167    "type" : "public"168  }, 169  {170    "path" : "DSTROOT/System/Library/Frameworks/Simple.framework/Headers/Simple.h",171    "type" : "public"172  }, 173  {174    "path" : "DSTROOT/System/Library/Frameworks/Simple.framework/Headers/SimpleAPI.h",175    "type" : "public"176  }, 177  {178    "path" : "DSTROOT/System/Library/Frameworks/Simple.framework/PrivateHeaders/SimplePrivate.h",179    "type" : "private"180  }, 181  {182    "path" : "DSTROOT/System/Library/Frameworks/Simple.framework/PrivateHeaders/SimplePrivateSPI.h",183    "type" : "private"184  }185  ],186  "version": "3"187}188