Apply their respective jarjar rules on tethering and general connectivity tests, then merge both into the coverage tests suite. This is necessary to ensure that classes covered by tests have names matching classes used in code. Also fix IpConnectivityLogTest to use the module utility instead of the hidden BitUtils, as the test would fail after internal utils are jarjared. Bug: 187935317 Test: atest ConnectivityCoverageTests TetheringCoverageTests Original-Change: https://android-review.googlesource.com/1749680 Merged-In: Ib95b58dab93f7adebc445b662a6d15db1ce0e7c2 Change-Id: Ib95b58dab93f7adebc445b662a6d15db1ce0e7c2
124 lines
4.3 KiB
Plaintext
124 lines
4.3 KiB
Plaintext
//
|
|
// Copyright (C) 2019 The Android Open Source Project
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
//
|
|
|
|
// Tests in this folder are included both in unit tests and CTS.
|
|
// They must be fast and stable, and exercise public or test APIs.
|
|
package {
|
|
// See: http://go/android-license-faq
|
|
default_applicable_licenses: ["Android-Apache-2.0"],
|
|
}
|
|
|
|
java_library {
|
|
name: "FrameworksNetCommonTests",
|
|
defaults: ["framework-connectivity-test-defaults"],
|
|
srcs: [
|
|
"java/**/*.java",
|
|
"java/**/*.kt",
|
|
],
|
|
static_libs: [
|
|
"androidx.core_core",
|
|
"androidx.test.rules",
|
|
"junit",
|
|
"mockito-target-minus-junit4",
|
|
"modules-utils-build",
|
|
"net-tests-utils",
|
|
"net-utils-framework-common",
|
|
"platform-test-annotations",
|
|
],
|
|
libs: [
|
|
"android.test.base.stubs",
|
|
],
|
|
}
|
|
|
|
// Connectivity coverage tests combines Tethering and Connectivity tests, each with their
|
|
// respective jarjar rules applied.
|
|
// Some tests may be duplicated (in particular static lib tests), as they need to be run under both
|
|
// jarjared packages to cover both usages.
|
|
android_library {
|
|
name: "ConnectivityCoverageTestsLib",
|
|
min_sdk_version: "30",
|
|
static_libs: [
|
|
"FrameworksNetTestsLib",
|
|
"NetdStaticLibTestsLib",
|
|
"NetworkStaticLibTestsLib",
|
|
],
|
|
jarjar_rules: ":connectivity-jarjar-rules",
|
|
manifest: "AndroidManifest_coverage.xml",
|
|
visibility: ["//visibility:private"],
|
|
}
|
|
|
|
android_test {
|
|
name: "ConnectivityCoverageTests",
|
|
// Tethering started on SDK 30
|
|
min_sdk_version: "30",
|
|
// TODO: change to 31 as soon as it is available
|
|
target_sdk_version: "30",
|
|
test_suites: ["general-tests", "mts"],
|
|
defaults: [
|
|
"framework-connectivity-test-defaults",
|
|
"FrameworksNetTests-jni-defaults",
|
|
"libnetworkstackutilsjni_deps",
|
|
],
|
|
manifest: "AndroidManifest_coverage.xml",
|
|
test_config: "AndroidTest_Coverage.xml",
|
|
static_libs: [
|
|
// Added first so all tests use extended mockito, instead of all tests using regular mockito
|
|
// (some tests would fail).
|
|
// TODO: consider removing extended mockito usage in tests that use it, for performance
|
|
"mockito-target-extended-minus-junit4",
|
|
"modules-utils-native-coverage-listener",
|
|
"ConnectivityCoverageTestsLib",
|
|
"TetheringCoverageTestsLib",
|
|
],
|
|
jni_libs: [
|
|
// For mockito extended
|
|
"libdexmakerjvmtiagent",
|
|
"libstaticjvmtiagent",
|
|
// For NetworkStackUtils included in NetworkStackBase
|
|
"libnetworkstackutilsjni",
|
|
"libtetherutilsjni",
|
|
// For framework tests
|
|
"libservice-connectivity",
|
|
],
|
|
libs: [
|
|
// Although not required to compile the static libs together, the "libs" used to build each
|
|
// of the common static test libs are necessary for R8 to avoid "Missing class" warnings and
|
|
// incorrect optimizations
|
|
"framework-tethering.impl",
|
|
"framework-wifi.stubs.module_lib",
|
|
],
|
|
compile_multilib: "both",
|
|
}
|
|
|
|
// defaults for tests that need to build against framework-connectivity's @hide APIs
|
|
// Only usable from targets that have visibility on framework-connectivity.impl.
|
|
// Instead of using this, consider avoiding to depend on hidden connectivity APIs in
|
|
// tests.
|
|
java_defaults {
|
|
name: "framework-connectivity-test-defaults",
|
|
sdk_version: "core_platform", // tests can use @CorePlatformApi's
|
|
libs: [
|
|
// order matters: classes in framework-connectivity are resolved before framework,
|
|
// meaning @hide APIs in framework-connectivity are resolved before @SystemApi
|
|
// stubs in framework
|
|
"framework-connectivity.impl",
|
|
"framework",
|
|
|
|
// if sdk_version="" this gets automatically included, but here we need to add manually.
|
|
"framework-res",
|
|
],
|
|
}
|