Used to avoid flaky test because upstream changed events
order can't be guaranteed. Once tethering choose non-test
upstream {wifi, ..}, test network wont't be chosen.
Fix flaky tests which are using initTetheringTester():
testIcmpv6Echo
testTetherClatUdp
testTetherUdpV4_VerifyBpf
testTetherUdpV4
testTetherUdpV4Dns
testTetherUdpV6
Moreover, add permission ACCESS_WIFI_STATE to AndroidManifest.xml
to avoid nested runAsShell while using CtsNetUtils to access WIFI.
STACKTRACE:
java.lang.IllegalStateException: adoptShellPermissionIdentity calls must not be nested
at com.android.testutils.TestPermissionUtil.runAsShell(TestPermissionUtil.kt:49)
at com.android.testutils.TestPermissionUtil.runAsShell(TestPermissionUtil.kt:70)
at com.android.testutils.TestPermissionUtil.runAsShell$default(TestPermissionUtil.kt:65)
at com.android.testutils.TestPermissionUtil.runAsShell(Unknown Source:16)
at android.net.cts.util.CtsNetUtils.disconnectFromWifi(CtsNetUtils.java:293)
at android.net.cts.util.CtsNetUtils.disconnectFromWifi(CtsNetUtils.java:255)
at android.net.cts.util.CtsNetUtils.toggleWifi(CtsNetUtils.java:160)
Bug: 243314243
Test: atest EthernetTetheringTest
Change-Id: I814899ae71f5c302d490a0dd81d7210ac138faa5
87 lines
2.6 KiB
Plaintext
87 lines
2.6 KiB
Plaintext
//
|
|
// Copyright (C) 2020 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_applicable_licenses: ["Android-Apache-2.0"],
|
|
}
|
|
|
|
java_defaults {
|
|
name: "TetheringIntegrationTestsDefaults",
|
|
defaults: ["framework-connectivity-test-defaults"],
|
|
srcs: [
|
|
"src/**/*.java",
|
|
"src/**/*.kt",
|
|
],
|
|
min_sdk_version: "30",
|
|
static_libs: [
|
|
"NetworkStackApiStableLib",
|
|
"androidx.test.rules",
|
|
"cts-net-utils",
|
|
"mockito-target-extended-minus-junit4",
|
|
"net-tests-utils",
|
|
"net-utils-device-common-bpf",
|
|
"testables",
|
|
"connectivity-net-module-utils-bpf",
|
|
],
|
|
libs: [
|
|
"android.test.runner",
|
|
"android.test.base",
|
|
"android.test.mock",
|
|
],
|
|
jni_libs: [
|
|
// For mockito extended
|
|
"libdexmakerjvmtiagent",
|
|
"libstaticjvmtiagent",
|
|
],
|
|
}
|
|
|
|
// Library including tethering integration tests targeting the latest stable SDK.
|
|
// Use with NetworkStackJarJarRules.
|
|
android_library {
|
|
name: "TetheringIntegrationTestsLatestSdkLib",
|
|
target_sdk_version: "33",
|
|
platform_apis: true,
|
|
defaults: ["TetheringIntegrationTestsDefaults"],
|
|
visibility: [
|
|
"//packages/modules/Connectivity/tests/cts/tethering",
|
|
"//packages/modules/Connectivity/tests:__subpackages__",
|
|
"//packages/modules/Connectivity/Tethering/tests:__subpackages__",
|
|
]
|
|
}
|
|
|
|
// Library including tethering integration tests targeting current development SDK.
|
|
// Use with NetworkStackJarJarRules.
|
|
android_library {
|
|
name: "TetheringIntegrationTestsLib",
|
|
target_sdk_version: "current",
|
|
platform_apis: true,
|
|
defaults: ["TetheringIntegrationTestsDefaults"],
|
|
visibility: [
|
|
"//packages/modules/Connectivity/tests/cts/tethering",
|
|
"//packages/modules/Connectivity/Tethering/tests/mts",
|
|
]
|
|
}
|
|
|
|
android_test {
|
|
name: "TetheringIntegrationTests",
|
|
platform_apis: true,
|
|
defaults: ["TetheringIntegrationTestsDefaults"],
|
|
test_suites: [
|
|
"device-tests",
|
|
],
|
|
compile_multilib: "both",
|
|
jarjar_rules: ":NetworkStackJarJarRules",
|
|
}
|