xref: /aosp_15_r20/bootable/recovery/tests/Android.bp (revision e7c364b630b241adcb6c7726a21055250b91fdac)
1*e7c364b6SAndroid Build Coastguard Worker// Copyright (C) 2018 The Android Open Source Project
2*e7c364b6SAndroid Build Coastguard Worker//
3*e7c364b6SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*e7c364b6SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*e7c364b6SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*e7c364b6SAndroid Build Coastguard Worker//
7*e7c364b6SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*e7c364b6SAndroid Build Coastguard Worker//
9*e7c364b6SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*e7c364b6SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*e7c364b6SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*e7c364b6SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*e7c364b6SAndroid Build Coastguard Worker// limitations under the License.
14*e7c364b6SAndroid Build Coastguard Worker
15*e7c364b6SAndroid Build Coastguard Workerpackage {
16*e7c364b6SAndroid Build Coastguard Worker    default_team: "trendy_team_android_kernel",
17*e7c364b6SAndroid Build Coastguard Worker    // See: http://go/android-license-faq
18*e7c364b6SAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
19*e7c364b6SAndroid Build Coastguard Worker    // all of the 'license_kinds' from "bootable_recovery_license"
20*e7c364b6SAndroid Build Coastguard Worker    // to get the below license kinds:
21*e7c364b6SAndroid Build Coastguard Worker    //   SPDX-license-identifier-Apache-2.0
22*e7c364b6SAndroid Build Coastguard Worker    default_applicable_licenses: ["bootable_recovery_license"],
23*e7c364b6SAndroid Build Coastguard Worker}
24*e7c364b6SAndroid Build Coastguard Worker
25*e7c364b6SAndroid Build Coastguard Workercc_defaults {
26*e7c364b6SAndroid Build Coastguard Worker    name: "recovery_test_defaults",
27*e7c364b6SAndroid Build Coastguard Worker
28*e7c364b6SAndroid Build Coastguard Worker    defaults: [
29*e7c364b6SAndroid Build Coastguard Worker        "recovery_defaults",
30*e7c364b6SAndroid Build Coastguard Worker    ],
31*e7c364b6SAndroid Build Coastguard Worker
32*e7c364b6SAndroid Build Coastguard Worker    include_dirs: [
33*e7c364b6SAndroid Build Coastguard Worker        "bootable/recovery",
34*e7c364b6SAndroid Build Coastguard Worker    ],
35*e7c364b6SAndroid Build Coastguard Worker
36*e7c364b6SAndroid Build Coastguard Worker    shared_libs: [
37*e7c364b6SAndroid Build Coastguard Worker        "libbase",
38*e7c364b6SAndroid Build Coastguard Worker        "libcrypto",
39*e7c364b6SAndroid Build Coastguard Worker        "libcutils",
40*e7c364b6SAndroid Build Coastguard Worker        "liblog",
41*e7c364b6SAndroid Build Coastguard Worker        "libpng",
42*e7c364b6SAndroid Build Coastguard Worker        "libprocessgroup",
43*e7c364b6SAndroid Build Coastguard Worker        "libselinux",
44*e7c364b6SAndroid Build Coastguard Worker        "libziparchive",
45*e7c364b6SAndroid Build Coastguard Worker    ],
46*e7c364b6SAndroid Build Coastguard Worker
47*e7c364b6SAndroid Build Coastguard Worker    target: {
48*e7c364b6SAndroid Build Coastguard Worker        android: {
49*e7c364b6SAndroid Build Coastguard Worker            shared_libs: [
50*e7c364b6SAndroid Build Coastguard Worker                "libutils",
51*e7c364b6SAndroid Build Coastguard Worker                "libvndksupport",
52*e7c364b6SAndroid Build Coastguard Worker            ],
53*e7c364b6SAndroid Build Coastguard Worker        },
54*e7c364b6SAndroid Build Coastguard Worker
55*e7c364b6SAndroid Build Coastguard Worker        host: {
56*e7c364b6SAndroid Build Coastguard Worker            static_libs: [
57*e7c364b6SAndroid Build Coastguard Worker                "libutils",
58*e7c364b6SAndroid Build Coastguard Worker            ],
59*e7c364b6SAndroid Build Coastguard Worker        },
60*e7c364b6SAndroid Build Coastguard Worker    },
61*e7c364b6SAndroid Build Coastguard Worker}
62*e7c364b6SAndroid Build Coastguard Worker
63*e7c364b6SAndroid Build Coastguard Worker// librecovery_defaults uses many shared libs that we want to avoid using in tests (e.g. we don't
64*e7c364b6SAndroid Build Coastguard Worker// have 32-bit [email protected] or libbootloader_message.so on marlin).
65*e7c364b6SAndroid Build Coastguard Workerlibrecovery_static_libs = [
66*e7c364b6SAndroid Build Coastguard Worker    "librecovery",
67*e7c364b6SAndroid Build Coastguard Worker    "librecovery_fastboot",
68*e7c364b6SAndroid Build Coastguard Worker    "libinstall",
69*e7c364b6SAndroid Build Coastguard Worker    "librecovery_ui",
70*e7c364b6SAndroid Build Coastguard Worker    "libminui",
71*e7c364b6SAndroid Build Coastguard Worker    "libfusesideload",
72*e7c364b6SAndroid Build Coastguard Worker    "libbootloader_message",
73*e7c364b6SAndroid Build Coastguard Worker    "libotautil",
74*e7c364b6SAndroid Build Coastguard Worker
75*e7c364b6SAndroid Build Coastguard Worker    "libhealthhalutils",
76*e7c364b6SAndroid Build Coastguard Worker    "libvintf",
77*e7c364b6SAndroid Build Coastguard Worker
78*e7c364b6SAndroid Build Coastguard Worker    "[email protected]",
79*e7c364b6SAndroid Build Coastguard Worker    "[email protected]",
80*e7c364b6SAndroid Build Coastguard Worker    "libext4_utils",
81*e7c364b6SAndroid Build Coastguard Worker    "libfs_mgr",
82*e7c364b6SAndroid Build Coastguard Worker    "libhidl-gen-utils",
83*e7c364b6SAndroid Build Coastguard Worker    "libhidlbase",
84*e7c364b6SAndroid Build Coastguard Worker    "liblp",
85*e7c364b6SAndroid Build Coastguard Worker    "libtinyxml2",
86*e7c364b6SAndroid Build Coastguard Worker]
87*e7c364b6SAndroid Build Coastguard Worker
88*e7c364b6SAndroid Build Coastguard Worker// recovery image for unittests.
89*e7c364b6SAndroid Build Coastguard Worker// ========================================================
90*e7c364b6SAndroid Build Coastguard Workergenrule {
91*e7c364b6SAndroid Build Coastguard Worker    name: "recovery_image",
92*e7c364b6SAndroid Build Coastguard Worker    cmd: "cat $(location testdata/recovery_head) <(cat $(location testdata/recovery_body) | gzip) $(location testdata/recovery_tail) > $(out)",
93*e7c364b6SAndroid Build Coastguard Worker    srcs: [
94*e7c364b6SAndroid Build Coastguard Worker        "testdata/recovery_head",
95*e7c364b6SAndroid Build Coastguard Worker        "testdata/recovery_body",
96*e7c364b6SAndroid Build Coastguard Worker        "testdata/recovery_tail",
97*e7c364b6SAndroid Build Coastguard Worker    ],
98*e7c364b6SAndroid Build Coastguard Worker    out: [
99*e7c364b6SAndroid Build Coastguard Worker        "testdata/recovery.img",
100*e7c364b6SAndroid Build Coastguard Worker    ],
101*e7c364b6SAndroid Build Coastguard Worker}
102*e7c364b6SAndroid Build Coastguard Worker
103*e7c364b6SAndroid Build Coastguard Workercc_test {
104*e7c364b6SAndroid Build Coastguard Worker    name: "recovery_unit_test",
105*e7c364b6SAndroid Build Coastguard Worker    isolated: true,
106*e7c364b6SAndroid Build Coastguard Worker    require_root: true,
107*e7c364b6SAndroid Build Coastguard Worker
108*e7c364b6SAndroid Build Coastguard Worker    defaults: [
109*e7c364b6SAndroid Build Coastguard Worker        "recovery_test_defaults",
110*e7c364b6SAndroid Build Coastguard Worker    ],
111*e7c364b6SAndroid Build Coastguard Worker
112*e7c364b6SAndroid Build Coastguard Worker    test_suites: ["device-tests"],
113*e7c364b6SAndroid Build Coastguard Worker
114*e7c364b6SAndroid Build Coastguard Worker    srcs: [
115*e7c364b6SAndroid Build Coastguard Worker        "unit/*.cpp",
116*e7c364b6SAndroid Build Coastguard Worker    ],
117*e7c364b6SAndroid Build Coastguard Worker
118*e7c364b6SAndroid Build Coastguard Worker    shared_libs: [
119*e7c364b6SAndroid Build Coastguard Worker        "libbinder_ndk",
120*e7c364b6SAndroid Build Coastguard Worker    ],
121*e7c364b6SAndroid Build Coastguard Worker
122*e7c364b6SAndroid Build Coastguard Worker    static_libs: librecovery_static_libs + [
123*e7c364b6SAndroid Build Coastguard Worker        "android.hardware.health-translate-ndk",
124*e7c364b6SAndroid Build Coastguard Worker        "android.hardware.health-V4-ndk",
125*e7c364b6SAndroid Build Coastguard Worker        "libhealthshim",
126*e7c364b6SAndroid Build Coastguard Worker        "librecovery_ui",
127*e7c364b6SAndroid Build Coastguard Worker        "libfusesideload",
128*e7c364b6SAndroid Build Coastguard Worker        "libminui",
129*e7c364b6SAndroid Build Coastguard Worker        "librecovery_utils",
130*e7c364b6SAndroid Build Coastguard Worker        "libotautil",
131*e7c364b6SAndroid Build Coastguard Worker        "libupdate_verifier",
132*e7c364b6SAndroid Build Coastguard Worker
133*e7c364b6SAndroid Build Coastguard Worker        "libprotobuf-cpp-lite",
134*e7c364b6SAndroid Build Coastguard Worker    ],
135*e7c364b6SAndroid Build Coastguard Worker    header_libs: [
136*e7c364b6SAndroid Build Coastguard Worker        "libgtest_prod_headers",
137*e7c364b6SAndroid Build Coastguard Worker    ],
138*e7c364b6SAndroid Build Coastguard Worker
139*e7c364b6SAndroid Build Coastguard Worker    data: [
140*e7c364b6SAndroid Build Coastguard Worker        "testdata/*",
141*e7c364b6SAndroid Build Coastguard Worker        ":recovery_image",
142*e7c364b6SAndroid Build Coastguard Worker        ":res-testdata",
143*e7c364b6SAndroid Build Coastguard Worker    ],
144*e7c364b6SAndroid Build Coastguard Worker}
145*e7c364b6SAndroid Build Coastguard Worker
146*e7c364b6SAndroid Build Coastguard Workercc_test {
147*e7c364b6SAndroid Build Coastguard Worker    name: "recovery_manual_test",
148*e7c364b6SAndroid Build Coastguard Worker    isolated: true,
149*e7c364b6SAndroid Build Coastguard Worker
150*e7c364b6SAndroid Build Coastguard Worker    defaults: [
151*e7c364b6SAndroid Build Coastguard Worker        "recovery_test_defaults",
152*e7c364b6SAndroid Build Coastguard Worker    ],
153*e7c364b6SAndroid Build Coastguard Worker
154*e7c364b6SAndroid Build Coastguard Worker    test_suites: ["device-tests"],
155*e7c364b6SAndroid Build Coastguard Worker
156*e7c364b6SAndroid Build Coastguard Worker    srcs: [
157*e7c364b6SAndroid Build Coastguard Worker        "manual/recovery_test.cpp",
158*e7c364b6SAndroid Build Coastguard Worker    ],
159*e7c364b6SAndroid Build Coastguard Worker}
160*e7c364b6SAndroid Build Coastguard Worker
161*e7c364b6SAndroid Build Coastguard Workercc_fuzz {
162*e7c364b6SAndroid Build Coastguard Worker    name: "libinstall_verify_package_fuzzer",
163*e7c364b6SAndroid Build Coastguard Worker    defaults: [
164*e7c364b6SAndroid Build Coastguard Worker        "recovery_test_defaults",
165*e7c364b6SAndroid Build Coastguard Worker    ],
166*e7c364b6SAndroid Build Coastguard Worker
167*e7c364b6SAndroid Build Coastguard Worker    srcs: ["fuzz/verify_package_fuzzer.cpp"],
168*e7c364b6SAndroid Build Coastguard Worker
169*e7c364b6SAndroid Build Coastguard Worker    corpus: [
170*e7c364b6SAndroid Build Coastguard Worker        "testdata/otasigned*.zip",
171*e7c364b6SAndroid Build Coastguard Worker    ],
172*e7c364b6SAndroid Build Coastguard Worker
173*e7c364b6SAndroid Build Coastguard Worker    static_libs: [
174*e7c364b6SAndroid Build Coastguard Worker        "libotautil",
175*e7c364b6SAndroid Build Coastguard Worker        "libinstall",
176*e7c364b6SAndroid Build Coastguard Worker        "librecovery_ui",
177*e7c364b6SAndroid Build Coastguard Worker        "libminui",
178*e7c364b6SAndroid Build Coastguard Worker    ],
179*e7c364b6SAndroid Build Coastguard Worker}
180