Test: separate BPF tethering offload tests to MTS
Needed because CTS release interval is longer than mainline module
release. Newer mainline module release may change low level BPF
offload related code (struct, path, ..). The existing CTS will be
broken. This situation blocks that we want to change low level BPF
offload code after Android CTS has been public released.
The test targets have been changed as follows.
1. CTS/TetheringTests verifies high level tethering functions.
No matter what data path is.
2. MTS verifies low level tethering functions. It can always test the
latest BPF codes.
Change list:
1. Add class MtsEthernetTetheringTest for MTS.
Before:
[base class] [derived class]
EthernetTetheringTestBase +--+--+ EthernetTetheringTest
After:
[base class] [derived class]
+--+ EthernetTetheringTest
EthernetTetheringTestBase +--+
+--+ MtsEthernetTetheringTest (new)
2. Separate BPF tethering offload tests to MTS.
Before:
- TetheringTests (19 tests)
EthernetTetheringTest#testIcmpv4Echo
EthernetTetheringTest#testIcmpv6Echo
EthernetTetheringTest#testVirtualEthernet
EthernetTetheringTest#testLocalOnlyTethering
EthernetTetheringTest#testTetherConfigBpfOffloadEnabled
EthernetTetheringTest#testTetherClatTcp
EthernetTetheringTest#testTetherClatUdp
EthernetTetheringTest#testIsUdpOffloadSupportedByKernel
EthernetTetheringTest#testTetherClatIcmp
EthernetTetheringTest#testTetherTcpV4
EthernetTetheringTest#testTetherTcpV6
EthernetTetheringTest#testTetherUdpV4
EthernetTetheringTest#testTetherUdpV6
EthernetTetheringTest#testStaticIpv4
EthernetTetheringTest#testKernelSupportBpfOffloadUdpV4
EthernetTetheringTest#testVirtualEthernetAlreadyExists
EthernetTetheringTest#testPhysicalEthernet
EthernetTetheringTest#testTetherUdpV4_VerifyBpf
EthernetTetheringTest#testTetherUdpV4Dns
After:
- TetheringTests (15 tests)
EthernetTetheringTest#testIcmpv4Echo
EthernetTetheringTest#testIcmpv6Echo
EthernetTetheringTest#testVirtualEthernet
EthernetTetheringTest#testLocalOnlyTethering
EthernetTetheringTest#testTetherClatTcp
EthernetTetheringTest#testTetherClatUdp
EthernetTetheringTest#testTetherClatIcmp
EthernetTetheringTest#testTetherTcpV4
EthernetTetheringTest#testTetherTcpV6
EthernetTetheringTest#testTetherUdpV4
EthernetTetheringTest#testTetherUdpV6
EthernetTetheringTest#testStaticIpv4
EthernetTetheringTest#testVirtualEthernetAlreadyExists
EthernetTetheringTest#testPhysicalEthernet
EthernetTetheringTest#testTetherUdpV4Dns
- MTS (4 tests)
MtsEthernetTetheringTest#testTetherConfigBpfOffloadEnabled
MtsEthernetTetheringTest#testIsUdpOffloadSupportedByKernel
MtsEthernetTetheringTest#testTetherBpfOffloadUdpV4
MtsEthernetTetheringTest#testKernelSupportBpfOffloadUdpV4
Note that MtsEthernetTetheringTest#testTetherBpfOffloadUdpV4 is
renamed from EthernetTetheringTest#testTetherUdpV4_VerifyBpf
Bug: 250552545
Bug: 258637850
Test: atest ConnectivityCoverageTests
Test: atest CtsTetheringTest
Test: atest CtsTetheringTestLatestSdk
Test: atest MtsTetheringTestLatestSdk
Test: atest TetheringIntegrationTests
Change-Id: Ica3b7008b33b1a0ddc5789d8ef12122a38544d57
diff --git a/Tethering/tests/integration/Android.bp b/Tethering/tests/integration/Android.bp
index 11e3dc0..5e08aba 100644
--- a/Tethering/tests/integration/Android.bp
+++ b/Tethering/tests/integration/Android.bp
@@ -21,8 +21,7 @@
name: "TetheringIntegrationTestsDefaults",
defaults: ["framework-connectivity-test-defaults"],
srcs: [
- "src/**/*.java",
- "src/**/*.kt",
+ "base/**/*.java",
],
min_sdk_version: "30",
static_libs: [
@@ -47,6 +46,16 @@
],
}
+android_library {
+ name: "TetheringIntegrationTestsBaseLib",
+ target_sdk_version: "current",
+ platform_apis: true,
+ defaults: ["TetheringIntegrationTestsDefaults"],
+ visibility: [
+ "//packages/modules/Connectivity/Tethering/tests/mts",
+ ]
+}
+
// Library including tethering integration tests targeting the latest stable SDK.
// Use with NetworkStackJarJarRules.
android_library {
@@ -54,6 +63,9 @@
target_sdk_version: "33",
platform_apis: true,
defaults: ["TetheringIntegrationTestsDefaults"],
+ srcs: [
+ "src/**/*.java",
+ ],
visibility: [
"//packages/modules/Connectivity/tests/cts/tethering",
"//packages/modules/Connectivity/tests:__subpackages__",
@@ -68,12 +80,16 @@
target_sdk_version: "current",
platform_apis: true,
defaults: ["TetheringIntegrationTestsDefaults"],
+ srcs: [
+ "src/**/*.java",
+ ],
visibility: [
"//packages/modules/Connectivity/tests/cts/tethering",
"//packages/modules/Connectivity/Tethering/tests/mts",
]
}
+// TODO: remove because TetheringIntegrationTests has been covered by ConnectivityCoverageTests.
android_test {
name: "TetheringIntegrationTests",
platform_apis: true,
@@ -81,6 +97,9 @@
test_suites: [
"device-tests",
],
+ srcs: [
+ "src/**/*.java",
+ ],
compile_multilib: "both",
jarjar_rules: ":NetworkStackJarJarRules",
}