android_packages_modules_Co.../tests/cts/net/Android.bp
Remi NGUYEN VAN 4a01ecf7e0 Add CtsNetTestCases to MTS
CtsNetTestCasesLatestSdk was originally used for MTS to prevent
installation issues with CUR_DEVELOPMENT target SDK modules (as is the
case for CtsNetTestCases) not installing on released devices.

However setting the min_sdk to a given value should be enough for that
purpose. While there may have been other blockers requiring separation
of CtsNetTestCases and CtsNetTestCasesLatestSdk at the time (in the Q/R
timeframe), more recent modules like CtsAdServicesDeviceTestCases seem
to be using CUR_DEVELOPMENT target SDK in MTS just fine.

Not specifying a target SDK means that the branch default will be used,
depending on the release configuration. So for example trunk_staging
would typically be CUR_DEVELOPMENT=10000, and "next" may use the SDK
version of that release.
This makes sense as a test suite targeting CUR_DEVELOPMENT is necessary
to verify a development build, while a production "next" configuration
should generally use the latest released SDK. But in any case, for
CtsNetTestCases purposes, this would cause the exercised connectivity
APIs to use their latest non-compatibility behavior, which is what
tests expect.

Considering this, add CtsNetTestCases to MTS, so that
CtsNetTestCasesLatestSdk can be removed. This will allow having one test
suite for both CTS and MTS, which in turns allows marking
CtsNetTestCases as MCTS, so that the version of the test to run is
autodetected based on installed modules.

Note this change also removes the unnecessary "platform_api" statement
and comment as this is already handled in
framework-connectivity-test-defaults.

Bug: 317913702
Test: m, aapt dump badging, verify (min)sdkVersion=30, targetSdk=10000
Change-Id: I2267e5c9219f059872928cc681547c3bd5fbc394
2024-02-14 18:13:35 +09:00

182 lines
5.3 KiB
Text

// Copyright (C) 2008 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.
package {
default_team: "trendy_team_fwk_core_networking",
default_applicable_licenses: ["Android-Apache-2.0"],
}
java_defaults {
name: "CtsNetTestCasesDefaults",
defaults: [
"cts_defaults",
"framework-connectivity-test-defaults",
],
// Include both the 32 and 64 bit versions
compile_multilib: "both",
libs: [
"voip-common",
"android.test.base",
],
jni_libs: [
"libcts_jni",
"libnativedns_jni",
"libnativemultinetwork_jni",
"libnativehelper_compat_libc++",
],
srcs: [
"src/**/*.java",
"src/**/*.kt",
":ike-aes-xcbc",
],
jarjar_rules: "jarjar-rules-shared.txt",
static_libs: [
"bouncycastle-unbundled",
"FrameworksNetCommonTests",
"core-tests-support",
"cts-net-utils",
"CtsNetTestsNonUpdatableLib",
"ctstestrunner-axt",
"junit",
"junit-params",
"modules-utils-build",
"net-tests-utils",
"net-utils-framework-common",
"truth",
"TetheringIntegrationTestsBaseLib",
],
min_sdk_version: "30",
per_testcase_directory: true,
host_required: ["net-tests-utils-host-common"],
test_config_template: "AndroidTestTemplate.xml",
data: [
":ConnectivityTestPreparer",
":CtsCarrierServicePackage",
],
}
// Networking CTS tests for development and release. These tests always target the platform SDK
// version, and are subject to all the restrictions appropriate to that version. Before SDK
// finalization, these tests have a min_sdk_version of 10000, but they can still be installed on
// release devices as their min_sdk_version is set to a production version.
android_test {
name: "CtsNetTestCases",
defaults: [
"CtsNetTestCasesDefaults",
"ConnectivityNextEnableDefaults",
],
static_libs: [
"DhcpPacketLib",
"NetworkStackApiCurrentShims",
],
test_suites: [
"cts",
"mts-dnsresolver",
"mts-networking",
"mts-tethering",
"mts-wifi",
"mcts-dnsresolver",
"mcts-networking",
"mcts-tethering",
"mcts-wifi",
"general-tests",
],
}
java_defaults {
name: "CtsNetTestCasesApiStableDefaults",
// TODO: CTS should not depend on the entirety of the networkstack code.
static_libs: [
"DhcpPacketLib",
"NetworkStackApiStableShims",
],
jni_uses_sdk_apis: true,
min_sdk_version: "30",
}
// Networking CTS tests that target the latest released SDK. These tests can be installed on release
// devices at any point in the Android release cycle and are useful for qualifying mainline modules
// on release devices.
android_test {
name: "CtsNetTestCasesLatestSdk",
defaults: [
"ConnectivityTestsLatestSdkDefaults",
"CtsNetTestCasesDefaults",
"CtsNetTestCasesApiStableDefaults",
],
test_suites: [
"general-tests",
"mts-dnsresolver",
"mts-networking",
"mts-tethering",
"mts-wifi",
],
}
java_defaults {
name: "CtsNetTestCasesMaxTargetSdkDefaults",
defaults: [
"CtsNetTestCasesDefaults",
"CtsNetTestCasesApiStableDefaults",
],
test_suites: [
"cts",
"general-tests",
"mts-tethering",
"mcts-tethering",
],
}
android_test {
name: "CtsNetTestCasesMaxTargetSdk33", // Must match CtsNetTestCasesMaxTargetSdk33 annotation.
defaults: ["CtsNetTestCasesMaxTargetSdkDefaults"],
target_sdk_version: "33",
package_name: "android.net.cts.maxtargetsdk33",
instrumentation_target_package: "android.net.cts.maxtargetsdk33",
}
android_test {
name: "CtsNetTestCasesMaxTargetSdk31", // Must match CtsNetTestCasesMaxTargetSdk31 annotation.
defaults: ["CtsNetTestCasesMaxTargetSdkDefaults"],
target_sdk_version: "31",
package_name: "android.net.cts.maxtargetsdk31", // CTS package names must be unique.
instrumentation_target_package: "android.net.cts.maxtargetsdk31",
}
android_test {
name: "CtsNetTestCasesMaxTargetSdk30", // Must match CtsNetTestCasesMaxTargetSdk30 annotation.
defaults: ["CtsNetTestCasesMaxTargetSdkDefaults"],
target_sdk_version: "30",
package_name: "android.net.cts.maxtargetsdk30", // CTS package names must be unique.
instrumentation_target_package: "android.net.cts.maxtargetsdk30",
}
android_test_helper_app {
name: "CtsCarrierServicePackage",
defaults: ["cts_defaults"],
package_name: "android.net.cts.carrierservicepackage",
manifest: "carrierservicepackage/AndroidManifest.xml",
srcs: ["carrierservicepackage/src/**/*.java"],
min_sdk_version: "30",
// Tag this module as a cts test artifact
test_suites: [
"cts",
"general-tests",
],
}