xref: /llvm-project/llvm/test/tools/llvm-readtapi/merge-invalid.test (revision 4d29bdabab5cc953e21603f7f8c127a7f7540ed0)
1; RUN: rm -rf %t
2; RUN: split-file %s %t
3// Check invalid tbd file contents was propagated as error.
4; RUN: not llvm-readtapi -merge %t/libfoo.tbd %t/libbar.tbd 2>&1 | FileCheck %s --allow-empty --check-prefix DIFF
5// Check missing input.
6; RUN: not llvm-readtapi -merge %t/libfoo.tbd 2>&1 | FileCheck %s --allow-empty --check-prefix INPUT
7
8; DIFF: install names do not match
9; INPUT: merge requires at least two input files
10
11;--- libfoo.tbd
12{
13  "main_library": {
14    "allowable_clients": [
15      {
16        "clients": [
17          "ClientAll"
18        ]
19      }
20    ],
21    "install_names": [
22      {
23        "name": "/usr/lib/libfoo.dylib"
24      }
25    ],
26    "target_info": [
27      {
28        "min_deployment": "13.1",
29        "target": "x86_64-macos"
30      }
31    ]
32  },
33  "tapi_tbd_version": 5
34}
35
36;--- libbar.tbd
37--- !tapi-tbd
38tbd-version:     4
39targets:         [ arm64-macos ]
40install-name:    '/usr/lib/libbar.dylib'
41allowable-clients:
42  - targets:         [ arm64-macos ]
43    clients:         [ ClientAll ]
44reexported-libraries:
45  - targets:         [ arm64-macos ]
46    libraries:       [ '/usr/lib/liball.dylib' ]
47exports:
48  - targets:         [ arm64-macos ]
49    symbols:         [ _sym1 ]
50    objc-classes:    [ _A ]
51    objc-ivars:      [ _A._ivar1 ]
52    weak-symbols:    [ _weak1 ]
53    thread-local-symbols: [ _tlv1 ]
54...
55