1// Copyright (C) 2019 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
15package {
16    // See: http://go/android-license-faq
17    // A large-scale-change added 'default_applicable_licenses' to import
18    // all of the 'license_kinds' from "frameworks_base_license"
19    // to get the below license kinds:
20    //   SPDX-license-identifier-Apache-2.0
21    default_applicable_licenses: ["frameworks_base_license"],
22}
23
24android_test {
25    name: "RollbackTest",
26    manifest: "RollbackTest/AndroidManifest.xml",
27    platform_apis: true,
28    srcs: ["RollbackTest/src/**/*.java"],
29    static_libs: ["androidx.test.rules", "cts-rollback-lib", "cts-install-lib"],
30    test_suites: ["general-tests"],
31    test_config: "RollbackTest.xml",
32    java_resources: [
33        ":com.android.apex.apkrollback.test_v2",
34        ":com.android.apex.apkrollback.test_v2Crashing",
35        ":test.rebootless_apex_v2",
36    ],
37}
38
39java_test_host {
40    name: "StagedRollbackTest",
41    srcs: ["StagedRollbackTest/src/**/*.java"],
42    libs: ["tradefed"],
43    static_libs: [
44        "compatibility-tradefed",
45        "frameworks-base-hostutils",
46        "RollbackTestLib",
47        "testng",
48    ],
49    test_suites: ["general-tests"],
50    test_config: "StagedRollbackTest.xml",
51    data: [
52        ":com.android.apex.apkrollback.test_v1",
53        ":test.rebootless_apex_v1",
54        ":RollbackTest",
55    ],
56}
57
58java_test_host {
59    name: "NetworkStagedRollbackTest",
60    srcs: ["NetworkStagedRollbackTest/src/**/*.java"],
61    libs: ["tradefed"],
62    static_libs: ["RollbackTestLib", "frameworks-base-hostutils"],
63    test_suites: ["general-tests"],
64    test_config: "NetworkStagedRollbackTest.xml",
65    data: [":RollbackTest"],
66}
67
68java_test_host {
69    name: "MultiUserRollbackTest",
70    srcs: ["MultiUserRollbackTest/src/**/*.java"],
71    libs: ["tradefed"],
72    static_libs: [
73        "frameworks-base-hostutils",
74    ],
75    test_suites: ["general-tests"],
76    test_config: "MultiUserRollbackTest.xml",
77    data : [":RollbackTest"],
78}
79
80java_library_host {
81    name: "RollbackTestLib",
82    srcs: ["lib/src/**/*.java"],
83    libs: ["tradefed"],
84}
85
86genrule {
87  name: "com.android.apex.apkrollback.test.pem",
88  out: ["com.android.apex.apkrollback.test.pem"],
89  cmd: "openssl genrsa -out $(out) 4096",
90}
91
92genrule {
93  name: "com.android.apex.apkrollback.test.pubkey",
94  srcs: [":com.android.apex.apkrollback.test.pem"],
95  out: ["com.android.apex.apkrollback.test.pubkey"],
96  tools: ["avbtool"],
97  cmd: "$(location avbtool) extract_public_key --key $(in) --output $(out)",
98}
99
100apex_key {
101  name: "com.android.apex.apkrollback.test.key",
102  private_key: ":com.android.apex.apkrollback.test.pem",
103  public_key: ":com.android.apex.apkrollback.test.pubkey",
104  installable: false,
105}
106
107apex {
108  name: "com.android.apex.apkrollback.test_v1",
109  manifest: "testdata/manifest_v1.json",
110  androidManifest: "testdata/AndroidManifest.xml",
111  file_contexts: ":apex.test-file_contexts",
112  key: "com.android.apex.apkrollback.test.key",
113  apps: ["TestAppAv1"],
114  installable: false,
115  updatable: false,
116}
117
118apex {
119  name: "com.android.apex.apkrollback.test_v2",
120  manifest: "testdata/manifest_v2.json",
121  androidManifest: "testdata/AndroidManifest.xml",
122  file_contexts: ":apex.test-file_contexts",
123  key: "com.android.apex.apkrollback.test.key",
124  apps: ["TestAppAv2"],
125  installable: false,
126  updatable: false,
127}
128
129apex {
130  name: "com.android.apex.apkrollback.test_v2Crashing",
131  manifest: "testdata/manifest_v2.json",
132  androidManifest: "testdata/AndroidManifest.xml",
133  file_contexts: ":apex.test-file_contexts",
134  key: "com.android.apex.apkrollback.test.key",
135  apps: ["TestAppACrashingV2"],
136  installable: false,
137  updatable: false,
138}
139