From 1ce741c61724bf19e12e1dc783d8225eefc637a1 Mon Sep 17 00:00:00 2001 From: Chalard Jean Date: Fri, 26 Jun 2020 00:19:33 +0900 Subject: [PATCH 1/3] Move utils from network stack to libs. This package is using some common utilities from a library that used to live in the network stack. A better home for these utilities is frameworks/libs, so this topic moves the files ther and also changes the package of some utilities. See aosp/1350222 and aosp/1350182 for a detailed description of the specific files that moved. Test: checkbuild Original-change: aosp/1350083 Merged-In: I76a9b7790f3997e3e6b3c2f75ba6308286457cde Change-Id: I76a9b7790f3997e3e6b3c2f75ba6308286457cde --- packages/Tethering/Android.bp | 1 + .../common/java/android/net/NetworkProviderTest.kt | 14 +++++++------- .../java/com/android/server/NetIdManagerTest.kt | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/Tethering/Android.bp b/packages/Tethering/Android.bp index 12daa6142d5c6..bb92bee6d5a98 100644 --- a/packages/Tethering/Android.bp +++ b/packages/Tethering/Android.bp @@ -31,6 +31,7 @@ java_defaults { "android.hardware.tetheroffload.config-V1.0-java", "android.hardware.tetheroffload.control-V1.0-java", "net-utils-framework-common", + "net-utils-device-common", ], libs: [ "framework-statsd.stubs.module_lib", diff --git a/tests/net/common/java/android/net/NetworkProviderTest.kt b/tests/net/common/java/android/net/NetworkProviderTest.kt index b7c47c2bc223a..dd3f5bebdb8e2 100644 --- a/tests/net/common/java/android/net/NetworkProviderTest.kt +++ b/tests/net/common/java/android/net/NetworkProviderTest.kt @@ -19,23 +19,23 @@ package android.net import android.app.Instrumentation import android.content.Context import android.net.NetworkCapabilities.TRANSPORT_TEST +import android.net.NetworkProviderTest.TestNetworkCallback.CallbackEntry.OnUnavailable +import android.net.NetworkProviderTest.TestNetworkProvider.CallbackEntry.OnNetworkRequestWithdrawn +import android.net.NetworkProviderTest.TestNetworkProvider.CallbackEntry.OnNetworkRequested import android.os.Build import android.os.HandlerThread import android.os.Looper -import android.net.NetworkProviderTest.TestNetworkCallback.CallbackEntry.OnUnavailable -import android.net.NetworkProviderTest.TestNetworkProvider.CallbackEntry.OnNetworkRequested -import android.net.NetworkProviderTest.TestNetworkProvider.CallbackEntry.OnNetworkRequestWithdrawn import androidx.test.InstrumentationRegistry -import com.android.testutils.ArrayTrackRecord +import com.android.net.module.util.ArrayTrackRecord import com.android.testutils.DevSdkIgnoreRule.IgnoreUpTo import com.android.testutils.DevSdkIgnoreRunner -import java.util.UUID -import kotlin.test.assertEquals -import kotlin.test.assertNotEquals import org.junit.After import org.junit.Before import org.junit.Test import org.junit.runner.RunWith +import java.util.UUID +import kotlin.test.assertEquals +import kotlin.test.assertNotEquals private const val DEFAULT_TIMEOUT_MS = 5000L private val instrumentation: Instrumentation diff --git a/tests/net/java/com/android/server/NetIdManagerTest.kt b/tests/net/java/com/android/server/NetIdManagerTest.kt index 045f89f85e3be..6f5e740d344c3 100644 --- a/tests/net/java/com/android/server/NetIdManagerTest.kt +++ b/tests/net/java/com/android/server/NetIdManagerTest.kt @@ -19,8 +19,8 @@ package com.android.server import androidx.test.filters.SmallTest import androidx.test.runner.AndroidJUnit4 import com.android.server.NetIdManager.MIN_NET_ID -import com.android.testutils.ExceptionUtils.ThrowingRunnable import com.android.testutils.assertThrows +import com.android.testutils.ExceptionUtils.ThrowingRunnable import org.junit.Test import org.junit.runner.RunWith import kotlin.test.assertEquals From 4fcf8424a77fc38bc331a7b77d9a34b9ff164714 Mon Sep 17 00:00:00 2001 From: Chalard Jean Date: Fri, 26 Jun 2020 00:41:26 +0900 Subject: [PATCH 2/3] Rename Kotlin util files to not include the Kt suffix Callers don't care what language the utilities are written in This is a partial cherry-pick of the change in the packages/Tethering, tests/net/common, tests/net/integration, wifi/tests directories. Other tests cannot be kept in sync as the latest versions verify platform functionalities that do not exist in the module branch, so disabling them is less time-consuming than always resolving merge conflicts. Test: builds Merged-In: Ie212144f36c50db223c05f3fcb6bad745842cb5e Change-Id: Ie212144f36c50db223c05f3fcb6bad745842cb5e --- .../src/android/net/EthernetTetheringTest.java | 4 ++-- .../unit/src/android/net/util/TetheringUtilsTest.java | 4 ++-- .../networkstack/tethering/OffloadControllerTest.java | 4 ++-- .../com/android/networkstack/tethering/TetheringTest.java | 4 ++-- tests/net/common/java/android/net/DhcpInfoTest.java | 4 ++-- tests/net/common/java/android/net/IpPrefixTest.java | 8 ++++---- tests/net/common/java/android/net/LinkAddressTest.java | 8 ++++---- tests/net/common/java/android/net/LinkPropertiesTest.java | 6 +++--- .../common/java/android/net/NetworkCapabilitiesTest.java | 4 ++-- tests/net/common/java/android/net/RouteInfoTest.java | 8 ++++---- .../common/java/android/net/apf/ApfCapabilitiesTest.java | 2 +- .../com/android/server/ConnectivityServiceTestUtils.kt | 2 ++ .../util/com/android/server/NetworkAgentWrapper.java | 6 +++--- wifi/tests/src/android/net/wifi/WifiClientTest.java | 4 ++-- 14 files changed, 35 insertions(+), 33 deletions(-) diff --git a/packages/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java b/packages/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java index 9bb01ae5df1d1..64be2d9a5599a 100644 --- a/packages/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java +++ b/packages/Tethering/tests/integration/src/android/net/EthernetTetheringTest.java @@ -50,7 +50,7 @@ import androidx.test.InstrumentationRegistry; import androidx.test.filters.MediumTest; import androidx.test.runner.AndroidJUnit4; -import com.android.testutils.HandlerUtilsKt; +import com.android.testutils.HandlerUtils; import com.android.testutils.TapPacketReader; import org.junit.After; @@ -366,7 +366,7 @@ public class EthernetTetheringTest { private TapPacketReader makePacketReader(FileDescriptor fd, int mtu) { final TapPacketReader reader = new TapPacketReader(mHandler, fd, mtu); mHandler.post(() -> reader.start()); - HandlerUtilsKt.waitForIdle(mHandler, TIMEOUT_MS); + HandlerUtils.waitForIdle(mHandler, TIMEOUT_MS); return reader; } diff --git a/packages/Tethering/tests/unit/src/android/net/util/TetheringUtilsTest.java b/packages/Tethering/tests/unit/src/android/net/util/TetheringUtilsTest.java index 1499f3be224e9..91c7771cc7fe3 100644 --- a/packages/Tethering/tests/unit/src/android/net/util/TetheringUtilsTest.java +++ b/packages/Tethering/tests/unit/src/android/net/util/TetheringUtilsTest.java @@ -27,7 +27,7 @@ import android.net.TetheringRequestParcel; import androidx.test.filters.SmallTest; import androidx.test.runner.AndroidJUnit4; -import com.android.testutils.MiscAssertsKt; +import com.android.testutils.MiscAsserts; import org.junit.Before; import org.junit.Test; @@ -82,6 +82,6 @@ public class TetheringUtilsTest { request.showProvisioningUi = false; assertFalse(TetheringUtils.isTetheringRequestEquals(mTetheringRequest, request)); - MiscAssertsKt.assertFieldCountEquals(5, TetheringRequestParcel.class); + MiscAsserts.assertFieldCountEquals(5, TetheringRequestParcel.class); } } diff --git a/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/OffloadControllerTest.java b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/OffloadControllerTest.java index b291438937c74..ce52ae22ece87 100644 --- a/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/OffloadControllerTest.java +++ b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/OffloadControllerTest.java @@ -30,8 +30,8 @@ import static com.android.networkstack.tethering.OffloadController.StatsType.STA import static com.android.networkstack.tethering.OffloadController.StatsType.STATS_PER_UID; import static com.android.networkstack.tethering.OffloadHardwareInterface.ForwardedStats; import static com.android.networkstack.tethering.TetheringConfiguration.DEFAULT_TETHER_OFFLOAD_POLL_INTERVAL_MS; -import static com.android.testutils.MiscAssertsKt.assertContainsAll; -import static com.android.testutils.MiscAssertsKt.assertThrows; +import static com.android.testutils.MiscAsserts.assertContainsAll; +import static com.android.testutils.MiscAsserts.assertThrows; import static com.android.testutils.NetworkStatsUtilsKt.assertNetworkStatsEquals; import static junit.framework.Assert.assertNotNull; diff --git a/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringTest.java b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringTest.java index 46fe5cf093fd1..1fe3840b51a85 100644 --- a/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringTest.java +++ b/packages/Tethering/tests/unit/src/com/android/networkstack/tethering/TetheringTest.java @@ -143,7 +143,7 @@ import com.android.internal.util.ArrayUtils; import com.android.internal.util.StateMachine; import com.android.internal.util.test.BroadcastInterceptingContext; import com.android.internal.util.test.FakeSettingsProvider; -import com.android.testutils.MiscAssertsKt; +import com.android.testutils.MiscAsserts; import org.junit.After; import org.junit.AfterClass; @@ -1360,7 +1360,7 @@ public class TetheringTest { assertEquals(0, parcel.localOnlyList.length); assertEquals(0, parcel.erroredIfaceList.length); assertEquals(0, parcel.lastErrorList.length); - MiscAssertsKt.assertFieldCountEquals(5, TetherStatesParcel.class); + MiscAsserts.assertFieldCountEquals(5, TetherStatesParcel.class); } @Test diff --git a/tests/net/common/java/android/net/DhcpInfoTest.java b/tests/net/common/java/android/net/DhcpInfoTest.java index 4d45ad72a9b87..ab4726bab573b 100644 --- a/tests/net/common/java/android/net/DhcpInfoTest.java +++ b/tests/net/common/java/android/net/DhcpInfoTest.java @@ -17,8 +17,8 @@ package android.net; import static com.android.net.module.util.Inet4AddressUtils.inet4AddressToIntHTL; -import static com.android.testutils.MiscAssertsKt.assertFieldCountEquals; -import static com.android.testutils.ParcelUtilsKt.parcelingRoundTrip; +import static com.android.testutils.MiscAsserts.assertFieldCountEquals; +import static com.android.testutils.ParcelUtils.parcelingRoundTrip; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; diff --git a/tests/net/common/java/android/net/IpPrefixTest.java b/tests/net/common/java/android/net/IpPrefixTest.java index 985e10df39616..9c0fc7ce78814 100644 --- a/tests/net/common/java/android/net/IpPrefixTest.java +++ b/tests/net/common/java/android/net/IpPrefixTest.java @@ -16,10 +16,10 @@ package android.net; -import static com.android.testutils.MiscAssertsKt.assertEqualBothWays; -import static com.android.testutils.MiscAssertsKt.assertFieldCountEquals; -import static com.android.testutils.MiscAssertsKt.assertNotEqualEitherWay; -import static com.android.testutils.ParcelUtilsKt.assertParcelingIsLossless; +import static com.android.testutils.MiscAsserts.assertEqualBothWays; +import static com.android.testutils.MiscAsserts.assertFieldCountEquals; +import static com.android.testutils.MiscAsserts.assertNotEqualEitherWay; +import static com.android.testutils.ParcelUtils.assertParcelingIsLossless; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; diff --git a/tests/net/common/java/android/net/LinkAddressTest.java b/tests/net/common/java/android/net/LinkAddressTest.java index c74c112490f81..60308e32b88d3 100644 --- a/tests/net/common/java/android/net/LinkAddressTest.java +++ b/tests/net/common/java/android/net/LinkAddressTest.java @@ -27,10 +27,10 @@ import static android.system.OsConstants.RT_SCOPE_LINK; import static android.system.OsConstants.RT_SCOPE_SITE; import static android.system.OsConstants.RT_SCOPE_UNIVERSE; -import static com.android.testutils.MiscAssertsKt.assertEqualBothWays; -import static com.android.testutils.MiscAssertsKt.assertFieldCountEquals; -import static com.android.testutils.MiscAssertsKt.assertNotEqualEitherWay; -import static com.android.testutils.ParcelUtilsKt.assertParcelingIsLossless; +import static com.android.testutils.MiscAsserts.assertEqualBothWays; +import static com.android.testutils.MiscAsserts.assertFieldCountEquals; +import static com.android.testutils.MiscAsserts.assertNotEqualEitherWay; +import static com.android.testutils.ParcelUtils.assertParcelingIsLossless; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; diff --git a/tests/net/common/java/android/net/LinkPropertiesTest.java b/tests/net/common/java/android/net/LinkPropertiesTest.java index 6eba62e637406..3c3076f117271 100644 --- a/tests/net/common/java/android/net/LinkPropertiesTest.java +++ b/tests/net/common/java/android/net/LinkPropertiesTest.java @@ -20,9 +20,9 @@ import static android.net.RouteInfo.RTN_THROW; import static android.net.RouteInfo.RTN_UNICAST; import static android.net.RouteInfo.RTN_UNREACHABLE; -import static com.android.testutils.ParcelUtilsKt.assertParcelSane; -import static com.android.testutils.ParcelUtilsKt.assertParcelingIsLossless; -import static com.android.testutils.ParcelUtilsKt.parcelingRoundTrip; +import static com.android.testutils.ParcelUtils.assertParcelSane; +import static com.android.testutils.ParcelUtils.assertParcelingIsLossless; +import static com.android.testutils.ParcelUtils.parcelingRoundTrip; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; diff --git a/tests/net/common/java/android/net/NetworkCapabilitiesTest.java b/tests/net/common/java/android/net/NetworkCapabilitiesTest.java index 3f8261d5ad7f7..e1693129892fc 100644 --- a/tests/net/common/java/android/net/NetworkCapabilitiesTest.java +++ b/tests/net/common/java/android/net/NetworkCapabilitiesTest.java @@ -42,8 +42,8 @@ import static android.net.NetworkCapabilities.TRANSPORT_WIFI; import static android.net.NetworkCapabilities.TRANSPORT_WIFI_AWARE; import static android.net.NetworkCapabilities.UNRESTRICTED_CAPABILITIES; -import static com.android.testutils.ParcelUtilsKt.assertParcelSane; -import static com.android.testutils.ParcelUtilsKt.assertParcelingIsLossless; +import static com.android.testutils.ParcelUtils.assertParcelSane; +import static com.android.testutils.ParcelUtils.assertParcelingIsLossless; import static org.junit.Assert.assertArrayEquals; import static org.junit.Assert.assertEquals; diff --git a/tests/net/common/java/android/net/RouteInfoTest.java b/tests/net/common/java/android/net/RouteInfoTest.java index 60cac0b6b0f59..71689f9197264 100644 --- a/tests/net/common/java/android/net/RouteInfoTest.java +++ b/tests/net/common/java/android/net/RouteInfoTest.java @@ -18,10 +18,10 @@ package android.net; import static android.net.RouteInfo.RTN_UNREACHABLE; -import static com.android.testutils.MiscAssertsKt.assertEqualBothWays; -import static com.android.testutils.MiscAssertsKt.assertFieldCountEquals; -import static com.android.testutils.MiscAssertsKt.assertNotEqualEitherWay; -import static com.android.testutils.ParcelUtilsKt.assertParcelingIsLossless; +import static com.android.testutils.MiscAsserts.assertEqualBothWays; +import static com.android.testutils.MiscAsserts.assertFieldCountEquals; +import static com.android.testutils.MiscAsserts.assertNotEqualEitherWay; +import static com.android.testutils.ParcelUtils.assertParcelingIsLossless; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; diff --git a/tests/net/common/java/android/net/apf/ApfCapabilitiesTest.java b/tests/net/common/java/android/net/apf/ApfCapabilitiesTest.java index 84805442e5c74..d50406fd3a1cb 100644 --- a/tests/net/common/java/android/net/apf/ApfCapabilitiesTest.java +++ b/tests/net/common/java/android/net/apf/ApfCapabilitiesTest.java @@ -16,7 +16,7 @@ package android.net.apf; -import static com.android.testutils.ParcelUtilsKt.assertParcelSane; +import static com.android.testutils.ParcelUtils.assertParcelSane; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; diff --git a/tests/net/integration/util/com/android/server/ConnectivityServiceTestUtils.kt b/tests/net/integration/util/com/android/server/ConnectivityServiceTestUtils.kt index fa2b99ce5cc66..165fd3728281f 100644 --- a/tests/net/integration/util/com/android/server/ConnectivityServiceTestUtils.kt +++ b/tests/net/integration/util/com/android/server/ConnectivityServiceTestUtils.kt @@ -14,6 +14,8 @@ * limitations under the License */ +@file:JvmName("ConnectivityServiceTestUtils") + package com.android.server import android.net.ConnectivityManager.TYPE_BLUETOOTH diff --git a/tests/net/integration/util/com/android/server/NetworkAgentWrapper.java b/tests/net/integration/util/com/android/server/NetworkAgentWrapper.java index 0ffafd45613a8..9f0b41fa0cdf7 100644 --- a/tests/net/integration/util/com/android/server/NetworkAgentWrapper.java +++ b/tests/net/integration/util/com/android/server/NetworkAgentWrapper.java @@ -24,7 +24,7 @@ import static android.net.NetworkCapabilities.TRANSPORT_VPN; import static android.net.NetworkCapabilities.TRANSPORT_WIFI; import static android.net.NetworkCapabilities.TRANSPORT_WIFI_AWARE; -import static com.android.server.ConnectivityServiceTestUtilsKt.transportToLegacyType; +import static com.android.server.ConnectivityServiceTestUtils.transportToLegacyType; import static junit.framework.Assert.assertTrue; @@ -49,7 +49,7 @@ import android.os.Message; import android.util.Log; import com.android.server.connectivity.ConnectivityConstants; -import com.android.testutils.HandlerUtilsKt; +import com.android.testutils.HandlerUtils; import com.android.testutils.TestableNetworkCallback; import java.util.Set; @@ -265,6 +265,6 @@ public class NetworkAgentWrapper implements TestableNetworkCallback.HasNetwork { } public void waitForIdle(long timeoutMs) { - HandlerUtilsKt.waitForIdle(mHandlerThread, timeoutMs); + HandlerUtils.waitForIdle(mHandlerThread, timeoutMs); } } diff --git a/wifi/tests/src/android/net/wifi/WifiClientTest.java b/wifi/tests/src/android/net/wifi/WifiClientTest.java index 42cab55305b94..7a3baf9ebaf29 100644 --- a/wifi/tests/src/android/net/wifi/WifiClientTest.java +++ b/wifi/tests/src/android/net/wifi/WifiClientTest.java @@ -16,8 +16,8 @@ package android.net.wifi; -import static com.android.testutils.MiscAssertsKt.assertFieldCountEquals; -import static com.android.testutils.ParcelUtilsKt.assertParcelSane; +import static com.android.testutils.MiscAsserts.assertFieldCountEquals; +import static com.android.testutils.ParcelUtils.assertParcelSane; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; From 5e7448b8f02dea5683dff2310cd3a00d7d031996 Mon Sep 17 00:00:00 2001 From: Remi NGUYEN VAN Date: Thu, 27 Aug 2020 10:09:25 +0900 Subject: [PATCH 3/3] Disable FrameworksNetTests Ideally the module branch would be unbundled and contain no framework code or framework tests. Start by disabling the tests (which are not run in this branch anyway) as they depend on test utils that are updated in the module projects, but cannot be kept in sync as the latest tests verify platform behavior that does not exist in the module branch. Test: m Bug: 166414751 Change-Id: I96f217663b073ada40710c0c8cdcb39b775eef55 --- tests/net/Android.bp | 4 ++++ tests/net/deflake/Android.bp | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/tests/net/Android.bp b/tests/net/Android.bp index 124b6609f687c..464505ec6136b 100644 --- a/tests/net/Android.bp +++ b/tests/net/Android.bp @@ -42,6 +42,10 @@ java_defaults { android_test { name: "FrameworksNetTests", + // Not built on module branch because these tests depend + // on net-tests-utils (frameworks/libs/net), which could + // be newer than frameworks/base. + enabled: false, defaults: ["FrameworksNetTests-jni-defaults"], srcs: [ "java/**/*.java", diff --git a/tests/net/deflake/Android.bp b/tests/net/deflake/Android.bp index b1b017131c64c..828f59bd8279c 100644 --- a/tests/net/deflake/Android.bp +++ b/tests/net/deflake/Android.bp @@ -16,6 +16,10 @@ java_test_host { name: "FrameworksNetDeflakeTest", + // Not built on module branch because these tests depend indirectly + // on net-tests-utils (frameworks/libs/net), which could be newer + // than frameworks/base. + enabled: false, srcs: ["src/**/*.kt"], libs: [ "junit",