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
35 lines
1.8 KiB
XML
35 lines
1.8 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- 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.
|
|
-->
|
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
|
package="com.android.networkstack.tethering.tests.integration">
|
|
|
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
|
|
<!-- The test need CHANGE_NETWORK_STATE permission to use requestNetwork API to setup test
|
|
network. Since R shell application don't have such permission, grant permission to the test
|
|
here. TODO: Remove CHANGE_NETWORK_STATE permission here and use adopt shell perssion to
|
|
obtain CHANGE_NETWORK_STATE for testing once R device is no longer supported. -->
|
|
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
|
|
<uses-permission android:name="android.permission.INTERNET"/>
|
|
|
|
<application android:debuggable="true">
|
|
<uses-library android:name="android.test.runner" />
|
|
</application>
|
|
<instrumentation android:name="androidx.test.runner.AndroidJUnitRunner"
|
|
android:targetPackage="com.android.networkstack.tethering.tests.integration"
|
|
android:label="Tethering integration tests">
|
|
</instrumentation>
|
|
</manifest>
|