xref: /llvm-project/clang/test/InstallAPI/variables.test (revision feed66f3eae5006bb05e6cb34801930fd940daa8)
1c6cbf81cSCyndy Ishida// RUN: rm -rf %t
2c6cbf81cSCyndy Ishida// RUN: split-file %s %t
3c6cbf81cSCyndy Ishida// RUN: sed -e "s|SRC_DIR|%/t|g" %t/vars_inputs.json.in > %t/vars_inputs.json
4c6cbf81cSCyndy Ishida
5c6cbf81cSCyndy Ishida/// Check multiple targets are captured.
6c6cbf81cSCyndy Ishida// RUN: clang-installapi -target arm64-apple-macos13.1 -target arm64e-apple-macos13.1 \
7*feed66f3SCyndy Ishida// RUN: -fapplication-extension -install_name /usr/lib/vars.dylib -dynamiclib \
8c6cbf81cSCyndy Ishida// RUN: %t/vars_inputs.json -o %t/vars.tbd 2>&1 | FileCheck %s --allow-empty
9c6cbf81cSCyndy Ishida// RUN: llvm-readtapi -compare %t/vars.tbd %t/expected.tbd 2>&1 | FileCheck %s --allow-empty
10c6cbf81cSCyndy Ishida
11c6cbf81cSCyndy Ishida// CHECK-NOT: error:
12c6cbf81cSCyndy Ishida// CHECK-NOT: warning:
13c6cbf81cSCyndy Ishida
14c6cbf81cSCyndy Ishida//--- vars.h
15c6cbf81cSCyndy Ishidaextern int foo;
16c6cbf81cSCyndy Ishida
17c6cbf81cSCyndy Ishida//--- vars_inputs.json.in
18c6cbf81cSCyndy Ishida{
19c6cbf81cSCyndy Ishida  "headers": [ {
20c6cbf81cSCyndy Ishida    "path" : "SRC_DIR/vars.h",
21c6cbf81cSCyndy Ishida    "type" : "public"
22c6cbf81cSCyndy Ishida  }],
23c6cbf81cSCyndy Ishida  "version": "3"
24c6cbf81cSCyndy Ishida}
25c6cbf81cSCyndy Ishida
26c6cbf81cSCyndy Ishida//--- expected.tbd
27c6cbf81cSCyndy Ishida{
28c6cbf81cSCyndy Ishida  "main_library": {
29c6cbf81cSCyndy Ishida    "compatibility_versions": [
30c6cbf81cSCyndy Ishida      {
31c6cbf81cSCyndy Ishida        "version": "0"
32c6cbf81cSCyndy Ishida      }],
33c6cbf81cSCyndy Ishida    "current_versions": [
34c6cbf81cSCyndy Ishida      {
35c6cbf81cSCyndy Ishida        "version": "0"
36c6cbf81cSCyndy Ishida      }],
37c6cbf81cSCyndy Ishida    "install_names": [
38c6cbf81cSCyndy Ishida      {
39c6cbf81cSCyndy Ishida        "name": "/usr/lib/vars.dylib"
40c6cbf81cSCyndy Ishida      }
41c6cbf81cSCyndy Ishida    ],
42c6cbf81cSCyndy Ishida    "exported_symbols": [
43c6cbf81cSCyndy Ishida      {
44c6cbf81cSCyndy Ishida        "data": {
45c6cbf81cSCyndy Ishida          "global": [
46c6cbf81cSCyndy Ishida            "_foo"
47c6cbf81cSCyndy Ishida          ]
48c6cbf81cSCyndy Ishida        }
49c6cbf81cSCyndy Ishida      }
50c6cbf81cSCyndy Ishida    ],
51c6cbf81cSCyndy Ishida    "target_info": [
52c6cbf81cSCyndy Ishida      {
53c6cbf81cSCyndy Ishida        "min_deployment": "13.1",
54c6cbf81cSCyndy Ishida        "target": "arm64-macos"
55c6cbf81cSCyndy Ishida      },
56c6cbf81cSCyndy Ishida      {
57c6cbf81cSCyndy Ishida        "min_deployment": "13.1",
58c6cbf81cSCyndy Ishida        "target": "arm64e-macos"
59c6cbf81cSCyndy Ishida      }
60c6cbf81cSCyndy Ishida    ]
61c6cbf81cSCyndy Ishida  },
62c6cbf81cSCyndy Ishida  "tapi_tbd_version": 5
63c6cbf81cSCyndy Ishida}
64