blob: 6eaf68bc7e2b8313805f0aeb903efcb30873129b [file] [log] [blame]
Lorenzo Colitti4896e322020-03-17 01:07:47 +09001//
2// Copyright (C) 2020 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
Bob Badour97e6be22021-02-12 14:45:04 -080016package {
17 default_applicable_licenses: ["Android-Apache-2.0"],
18}
19
paulhu64632652020-04-06 14:58:12 +080020java_defaults {
21 name: "TetheringIntegrationTestsDefaults",
markchien2fbd3e72021-08-17 23:59:09 +080022 defaults: ["framework-connectivity-test-defaults"],
Lorenzo Colitti4896e322020-03-17 01:07:47 +090023 srcs: [
24 "src/**/*.java",
25 "src/**/*.kt",
26 ],
markchien7193a1b2021-04-27 01:50:31 +080027 min_sdk_version: "30",
Lorenzo Colitti4896e322020-03-17 01:07:47 +090028 static_libs: [
29 "NetworkStackApiStableLib",
30 "androidx.test.rules",
Lorenzo Colitti4896e322020-03-17 01:07:47 +090031 "mockito-target-extended-minus-junit4",
32 "net-tests-utils",
Hungming Chena525e242021-10-21 17:58:44 +080033 "net-utils-device-common-bpf",
Lorenzo Colitti4896e322020-03-17 01:07:47 +090034 "testables",
35 ],
36 libs: [
37 "android.test.runner",
38 "android.test.base",
39 "android.test.mock",
40 ],
paulhud584d2f2020-04-08 09:57:57 +080041 jni_libs: [
42 // For mockito extended
43 "libdexmakerjvmtiagent",
44 "libstaticjvmtiagent",
45 ],
Lorenzo Colitti4896e322020-03-17 01:07:47 +090046}
paulhu64632652020-04-06 14:58:12 +080047
Remi NGUYEN VAN0015f042021-07-27 14:30:14 +090048// Library including tethering integration tests targeting the latest stable SDK.
49// Use with NetworkStackJarJarRules.
paulhu64632652020-04-06 14:58:12 +080050android_library {
markchien7193a1b2021-04-27 01:50:31 +080051 name: "TetheringIntegrationTestsLatestSdkLib",
markchienbf622582021-11-04 01:09:26 +080052 target_sdk_version: "31",
paulhu64632652020-04-06 14:58:12 +080053 platform_apis: true,
54 defaults: ["TetheringIntegrationTestsDefaults"],
Baligh Uddin661ae392020-11-04 05:34:06 +000055 visibility: [
Baligh Uddin661ae392020-11-04 05:34:06 +000056 "//packages/modules/Connectivity/tests/cts/tethering",
Remi NGUYEN VANfe20e132021-06-07 13:10:49 +090057 "//packages/modules/Connectivity/tests:__subpackages__",
58 "//packages/modules/Connectivity/Tethering/tests:__subpackages__",
markchien7193a1b2021-04-27 01:50:31 +080059 ]
60}
61
Remi NGUYEN VAN0015f042021-07-27 14:30:14 +090062// Library including tethering integration tests targeting current development SDK.
63// Use with NetworkStackJarJarRules.
markchien7193a1b2021-04-27 01:50:31 +080064android_library {
65 name: "TetheringIntegrationTestsLib",
66 target_sdk_version: "current",
67 platform_apis: true,
68 defaults: ["TetheringIntegrationTestsDefaults"],
69 visibility: [
70 "//packages/modules/Connectivity/tests/cts/tethering",
71 "//packages/modules/Connectivity/Tethering/tests/mts",
Baligh Uddin661ae392020-11-04 05:34:06 +000072 ]
paulhu64632652020-04-06 14:58:12 +080073}
74
75android_test {
76 name: "TetheringIntegrationTests",
77 platform_apis: true,
78 defaults: ["TetheringIntegrationTestsDefaults"],
79 test_suites: [
80 "device-tests",
Kimberly Kreiderc5b3f342021-10-20 18:16:59 +000081 "mts-tethering",
paulhu64632652020-04-06 14:58:12 +080082 ],
83 compile_multilib: "both",
Remi NGUYEN VAN0015f042021-07-27 14:30:14 +090084 jarjar_rules: ":NetworkStackJarJarRules",
paulhu64632652020-04-06 14:58:12 +080085}
86
Remi NGUYEN VAN8ea5ee62021-06-28 18:48:43 +090087android_library {
88 name: "TetheringCoverageTestsLib",
89 min_sdk_version: "30",
90 static_libs: [
91 "NetdStaticLibTestsLib",
92 "NetworkStaticLibTestsLib",
93 "NetworkStackTestsLib",
94 "TetheringTestsLatestSdkLib",
95 "TetheringIntegrationTestsLatestSdkLib",
96 ],
Remi NGUYEN VAN0015f042021-07-27 14:30:14 +090097 // Jarjar rules should normally be applied on final artifacts and not intermediate libraries as
98 // applying different rules on intermediate libraries can cause conflicts when combining them
99 // (the resulting artifact can end up with multiple incompatible implementations of the same
100 // classes). But this library is used to combine tethering coverage tests with connectivity
101 // coverage tests into a single coverage target. The tests need to use the same jarjar rules as
102 // covered production code for coverage to be calculated properly, so jarjar is applied
103 // separately on each set of tests.
104 jarjar_rules: ":TetheringCoverageJarJarRules",
Remi NGUYEN VAN8ea5ee62021-06-28 18:48:43 +0900105 manifest: "AndroidManifest_coverage.xml",
106 visibility: [
107 "//packages/modules/Connectivity/tests:__subpackages__"
108 ],
109}
110
Remi NGUYEN VAN0015f042021-07-27 14:30:14 +0900111// Combine NetworkStack and Tethering jarjar rules for coverage target. The jarjar files are
112// simply concatenated in the order specified in srcs.
113genrule {
114 name: "TetheringCoverageJarJarRules",
115 srcs: [
116 ":TetheringTestsJarJarRules",
117 ":NetworkStackJarJarRules",
118 ],
119 out: ["jarjar-rules-tethering-coverage.txt"],
120 cmd: "cat $(in) > $(out)",
121 visibility: ["//visibility:private"],
122}
123
paulhu64632652020-04-06 14:58:12 +0800124// Special version of the tethering tests that includes all tests necessary for code coverage
125// purposes. This is currently the union of TetheringTests, TetheringIntegrationTests and
126// NetworkStackTests.
Remi NGUYEN VAN8ea5ee62021-06-28 18:48:43 +0900127// TODO: remove in favor of ConnectivityCoverageTests, which includes below tests and more
paulhu64632652020-04-06 14:58:12 +0800128android_test {
129 name: "TetheringCoverageTests",
paulhu64632652020-04-06 14:58:12 +0800130 platform_apis: true,
markchien7193a1b2021-04-27 01:50:31 +0800131 min_sdk_version: "30",
markchienbf622582021-11-04 01:09:26 +0800132 target_sdk_version: "31",
Kimberly Kreiderc5b3f342021-10-20 18:16:59 +0000133 test_suites: ["device-tests", "mts-tethering"],
paulhu64632652020-04-06 14:58:12 +0800134 test_config: "AndroidTest_Coverage.xml",
135 defaults: ["libnetworkstackutilsjni_deps"],
136 static_libs: [
markchienb23e9122021-04-27 17:23:44 +0800137 "modules-utils-native-coverage-listener",
Remi NGUYEN VAN8ea5ee62021-06-28 18:48:43 +0900138 "TetheringCoverageTestsLib",
paulhu64632652020-04-06 14:58:12 +0800139 ],
140 jni_libs: [
141 // For mockito extended
142 "libdexmakerjvmtiagent",
143 "libstaticjvmtiagent",
144 // For NetworkStackUtils included in NetworkStackBase
145 "libnetworkstackutilsjni",
markchienf967b112021-11-09 16:56:23 +0800146 "libcom_android_networkstack_tethering_util_jni",
paulhu64632652020-04-06 14:58:12 +0800147 ],
148 compile_multilib: "both",
149 manifest: "AndroidManifest_coverage.xml",
markchiene3126482020-10-26 13:53:05 +0800150}