From 959722f93a51b17cc615ba3e8058cc6cdc63f30a Mon Sep 17 00:00:00 2001 From: markchien Date: Thu, 2 Jul 2020 23:20:18 +0800 Subject: [PATCH] Skip testPhysicalEthernet if the test run adb over network If the test run adb over network and ethernet is available, it is likely that adb may run over ethernet. Then the test would fail because adb would break when ethernet is switching from client mode to server mode. Bug: 160389275 Test: atest CtsTetheringTest Change-Id: I57d365d33316881c50c3bf7fd1c98926d10842d3 --- .../src/android/net/EthernetTetheringTest.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/packages/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java b/packages/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java index 74df11370e50d..e10bab4b36b59 100644 --- a/packages/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java +++ b/packages/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java @@ -42,6 +42,7 @@ import android.net.dhcp.DhcpPacket; import android.os.Handler; import android.os.HandlerThread; import android.os.SystemClock; +import android.os.SystemProperties; import android.system.Os; import android.util.Log; @@ -224,9 +225,19 @@ public class EthernetTetheringTest { } + private boolean isAdbOverNetwork() { + // If adb TCP port opened, this test may running by adb over network. + return (SystemProperties.getInt("persist.adb.tcp.port", -1) > -1) + || (SystemProperties.getInt("service.adb.tcp.port", -1) > -1); + } + @Test public void testPhysicalEthernet() throws Exception { assumeTrue(mEm.isAvailable()); + // Do not run this test if adb is over network and ethernet is connected. + // It is likely the adb run over ethernet, the adb would break when ethernet is switching + // from client mode to server mode. See b/160389275. + assumeFalse(isAdbOverNetwork()); // Get an interface to use. final String iface = mTetheredInterfaceRequester.getInterface();