1// Copyright (C) 2017 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//       http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15cc_defaults {
16    name: "vts_treble_vintf_test_defaults",
17
18    cflags: [
19        "-Wall",
20        "-Werror",
21    ],
22    shared_libs: [
23        "libbase",
24        "libbinder",
25        "libcutils",
26        "libhidlbase",
27        "liblog",
28        "libutils",
29        "libz",
30    ],
31    static_libs: [
32        "libaidlmetadata",
33        "libgmock",
34        "libhidl-gen-hash",
35        "libhidl-gen-utils",
36        "libhidlmetadata",
37        "libprocpartition",
38        "libselinux",
39        "libtinyxml2",
40        "libvintf",
41    ],
42    group_static_libs: true,
43    srcs: [
44        "VtsTrebleVintfTestBase.cpp",
45        "utils.cpp",
46        "main.cpp",
47    ],
48    data: [
49        ":android.hardware",
50        ":android.frameworks",
51        ":android.system",
52        ":android.hidl",
53    ],
54}
55
56// Test vendor image that has the highest target FCM version. This test binary
57// has no system XML dependencies.
58cc_test {
59    name: "vts_treble_vintf_vendor_test",
60    //Use test_config for vts suite.
61    test_config: "vts_treble_vintf_vendor_test.xml",
62    test_suites: [
63        "vts",
64        "device-tests",
65    ],
66    defaults: ["vts_treble_vintf_test_defaults"],
67    srcs: [
68        "DeviceManifestTest.cpp",
69        "DeviceMatrixTest.cpp",
70        "SingleManifestTest.cpp",
71    ],
72}
73
74// Test a (potentially) compatible vendor image with framework dependency;
75// test the current framework.
76cc_test {
77    name: "vts_treble_vintf_framework_test",
78    //Use test_config for vts suite.
79    test_config: "vts_treble_vintf_framework_test.xml",
80    test_suites: [
81        "vts",
82        "device-tests",
83    ],
84    defaults: ["vts_treble_vintf_test_defaults"],
85    srcs: [
86        "SingleManifestTest.cpp",
87        "SystemVendorTest.cpp",
88    ],
89}
90
91// Tests everything.
92// Should not be used by VTS framework, but could be used for test development.
93// VTS framework should choose among the other test binaries defined above.
94cc_test {
95    name: "vts_treble_vintf_test_all",
96    defaults: ["vts_treble_vintf_test_defaults"],
97    srcs: [
98        "DeviceManifestTest.cpp",
99        "DeviceMatrixTest.cpp",
100        "SingleManifestTest.cpp",
101        "SystemVendorTest.cpp",
102    ],
103}
104
105vts_config {
106    name: "VtsTrebleVintfTestOMr1",
107}
108