| ; RUN: rm -rf %t |
| ; RUN: split-file %s %t |
| // Check readtapi only accepts one file. |
| ; RUN: not llvm-readtapi -extract %t/libfoo.tbd %t/libbar.tbd 2>&1 | FileCheck %s --allow-empty --check-prefix EXTRA |
| // Check missing argument. |
| ; RUN: not llvm-readtapi -extract %t/libfoo.tbd 2>&1 | FileCheck %s --allow-empty --check-prefix MISSING |
| // Check that TBD file manipulation was not valid and error propagated as expected. |
| ; RUN: not llvm-readtapi -arch x86_64 -extract %t/libfoo.tbd 2>&1 | FileCheck %s --allow-empty --check-prefix MISMATCH |
| |
| ; EXTRA: error: extract only supports one input file |
| ; MISSING: extract requires -arch <arch> |
| ; MISMATCH: error: {{.*}}libfoo.tbd' file doesn't have architecture 'x86_64' |
| |
| ;--- libfoo.tbd |
| --- !tapi-tbd |
| tbd-version: 4 |
| targets: [ arm64-ios ] |
| flags: [ not_app_extension_safe ] |
| install-name: '/usr/lib/libfoo.dylib' |
| exports: |
| - targets: [ arm64-ios ] |
| symbols: [ _bar ] |
| ... |
| |
| ;--- libbar.tbd |
| { |
| "main_library": { |
| "exported_symbols": [ |
| { |
| "data": { |
| "global": [ |
| "_bar" |
| ] |
| } |
| } |
| ], |
| "flags": [ |
| { |
| "attributes": [ |
| "not_app_extension_safe" |
| ] |
| } |
| ], |
| "install_names": [ |
| { |
| "name": "/usr/lib/libbar.dylib" |
| } |
| ], |
| "target_info": [ |
| { |
| "target": "arm64-ios" |
| } |
| ] |
| }, |
| "tapi_tbd_version": 5 |
| } |