blob: 515c00ca6f22b46148ee209f54bbcb10715b492a [file] [log] [blame]
Remi NGUYEN VAN31022d62021-05-11 13:37:06 +00001//
2// Copyright (C) 2019 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//
16
17// Tests in this folder are included both in unit tests and CTS.
18// They must be fast and stable, and exercise public or test APIs.
19package {
20 // See: http://go/android-license-faq
Baligh Uddin36847132021-05-23 16:38:40 +000021 default_applicable_licenses: ["Android-Apache-2.0"],
Remi NGUYEN VAN31022d62021-05-11 13:37:06 +000022}
23
24java_library {
25 name: "FrameworksNetCommonTests",
Remi NGUYEN VAN3912c802021-03-16 01:31:07 +000026 defaults: ["framework-connectivity-test-defaults"],
27 srcs: [
28 "java/**/*.java",
29 "java/**/*.kt",
30 ],
Remi NGUYEN VAN31022d62021-05-11 13:37:06 +000031 static_libs: [
32 "androidx.core_core",
33 "androidx.test.rules",
34 "junit",
35 "mockito-target-minus-junit4",
36 "modules-utils-build",
37 "net-tests-utils",
38 "net-utils-framework-common",
39 "platform-test-annotations",
40 ],
41 libs: [
42 "android.test.base.stubs",
43 ],
44}
Remi NGUYEN VAN679a8e02021-05-14 07:24:53 +000045
Remi NGUYEN VANfe20e132021-06-07 13:10:49 +090046android_test {
47 name: "ConnectivityCoverageTests",
48 // Tethering started on SDK 30
49 min_sdk_version: "30",
50 // TODO: change to 31 as soon as it is available
51 target_sdk_version: "30",
52 test_suites: ["device-tests", "mts"],
Remi NGUYEN VAN8b23feb2021-06-17 16:42:45 +090053 test_mainline_modules: [
54 "CaptivePortalLoginGoogle.apk+NetworkStackGoogle.apk+com.google.android.resolv.apex+com.google.android.tethering.apex",
55 ],
Remi NGUYEN VANfe20e132021-06-07 13:10:49 +090056 defaults: [
57 "framework-connectivity-test-defaults",
58 "FrameworksNetTests-jni-defaults",
59 "libnetworkstackutilsjni_deps",
60 ],
61 manifest: "AndroidManifest_coverage.xml",
62 test_config: "AndroidTest_Coverage.xml",
63 static_libs: [
64 // Added first so all tests use extended mockito, instead of all tests using regular mockito
65 // (some tests would fail).
66 // TODO: consider removing extended mockito usage in tests that use it, for performance
67 "mockito-target-extended-minus-junit4",
68 "FrameworksNetTestsLib",
69 "modules-utils-native-coverage-listener",
70 "NetdStaticLibTestsLib",
71 "NetworkStaticLibTestsLib",
72 "NetworkStackTestsLib",
73 "TetheringTestsLatestSdkLib",
74 "TetheringIntegrationTestsLatestSdkLib",
75 ],
76 jni_libs: [
77 // For mockito extended
78 "libdexmakerjvmtiagent",
79 "libstaticjvmtiagent",
80 // For NetworkStackUtils included in NetworkStackBase
81 "libnetworkstackutilsjni",
82 "libtetherutilsjni",
83 // For framework tests
84 "libservice-connectivity",
85 ],
86 libs: [
87 // Although not required to compile the static libs together, the "libs" used to build each
88 // of the common static test libs are necessary for R8 to avoid "Missing class" warnings and
89 // incorrect optimizations
90 "framework-tethering.impl",
91 "framework-wifi.stubs.module_lib",
92 ],
93 compile_multilib: "both",
94}
95
Remi NGUYEN VAN679a8e02021-05-14 07:24:53 +000096// defaults for tests that need to build against framework-connectivity's @hide APIs
97// Only usable from targets that have visibility on framework-connectivity.impl.
98// Instead of using this, consider avoiding to depend on hidden connectivity APIs in
99// tests.
100java_defaults {
101 name: "framework-connectivity-test-defaults",
102 sdk_version: "core_platform", // tests can use @CorePlatformApi's
103 libs: [
104 // order matters: classes in framework-connectivity are resolved before framework,
105 // meaning @hide APIs in framework-connectivity are resolved before @SystemApi
106 // stubs in framework
107 "framework-connectivity.impl",
108 "framework",
109
110 // if sdk_version="" this gets automatically included, but here we need to add manually.
111 "framework-res",
112 ],
113}