diff --git a/core/tests/utiltests/Android.mk b/core/tests/utiltests/Android.mk index de962fa8ac003..6e415f4a27edf 100644 --- a/core/tests/utiltests/Android.mk +++ b/core/tests/utiltests/Android.mk @@ -14,6 +14,7 @@ LOCAL_SRC_FILES += src/android/util/IRemoteMemoryIntArray.aidl LOCAL_STATIC_JAVA_LIBRARIES := \ android-support-test \ + frameworks-base-testutils \ mockito-target-minus-junit4 LOCAL_JAVA_LIBRARIES := android.test.runner diff --git a/services/tests/servicestests/src/com/android/internal/util/FakeSettingsProviderTest.java b/core/tests/utiltests/src/com/android/internal/util/test/FakeSettingsProviderTest.java similarity index 98% rename from services/tests/servicestests/src/com/android/internal/util/FakeSettingsProviderTest.java rename to core/tests/utiltests/src/com/android/internal/util/test/FakeSettingsProviderTest.java index 05de0a53e0550..f2be109c86026 100644 --- a/services/tests/servicestests/src/com/android/internal/util/FakeSettingsProviderTest.java +++ b/core/tests/utiltests/src/com/android/internal/util/test/FakeSettingsProviderTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.internal.util; +package com.android.internal.util.test; import android.content.ContentResolver; import android.database.ContentObserver; diff --git a/services/tests/servicestests/src/com/android/server/NetworkManagementServiceTest.java b/services/tests/servicestests/src/com/android/server/NetworkManagementServiceTest.java index 0d5daa5def975..f841bf9bff229 100644 --- a/services/tests/servicestests/src/com/android/server/NetworkManagementServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/NetworkManagementServiceTest.java @@ -24,6 +24,7 @@ import android.os.Binder; import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.LargeTest; import com.android.server.net.BaseNetworkObserver; +import com.android.internal.util.test.BroadcastInterceptingContext; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; diff --git a/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java index bd07d8beae9db..25a421e0a8824 100644 --- a/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/NetworkPolicyManagerServiceTest.java @@ -95,7 +95,8 @@ import android.text.format.Time; import android.util.Log; import android.util.TrustedTime; -import com.android.server.BroadcastInterceptingContext.FutureIntent; +import com.android.internal.util.test.BroadcastInterceptingContext; +import com.android.internal.util.test.BroadcastInterceptingContext.FutureIntent; import com.android.server.net.NetworkPolicyManagerInternal; import com.android.server.net.NetworkPolicyManagerService; diff --git a/services/tests/servicestests/src/com/android/server/net/NetworkStatsServiceTest.java b/services/tests/servicestests/src/com/android/server/net/NetworkStatsServiceTest.java index 8c96226d2ce43..f2cf90ca916f0 100644 --- a/services/tests/servicestests/src/com/android/server/net/NetworkStatsServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/net/NetworkStatsServiceTest.java @@ -88,7 +88,7 @@ import android.test.AndroidTestCase; import android.util.TrustedTime; import com.android.internal.net.VpnInfo; -import com.android.server.BroadcastInterceptingContext; +import com.android.internal.util.test.BroadcastInterceptingContext; import com.android.server.net.NetworkStatsService; import com.android.server.net.NetworkStatsService.NetworkStatsSettings; import com.android.server.net.NetworkStatsService.NetworkStatsSettings.Config; diff --git a/services/tests/servicestests/src/com/android/server/retaildemo/PreloadAppsInstallerTest.java b/services/tests/servicestests/src/com/android/server/retaildemo/PreloadAppsInstallerTest.java index 222436cf7b06d..3eeeaf6798912 100644 --- a/services/tests/servicestests/src/com/android/server/retaildemo/PreloadAppsInstallerTest.java +++ b/services/tests/servicestests/src/com/android/server/retaildemo/PreloadAppsInstallerTest.java @@ -34,7 +34,7 @@ import android.support.test.InstrumentationRegistry; import android.support.test.filters.SmallTest; import android.test.mock.MockContentResolver; -import com.android.internal.util.FakeSettingsProvider; +import com.android.internal.util.test.FakeSettingsProvider; import org.junit.After; import org.junit.Before; @@ -146,4 +146,4 @@ public class PreloadAppsInstallerTest { Settings.Secure.getStringForUser(mContentResolver, Settings.Secure.DEMO_USER_SETUP_COMPLETE, TEST_DEMO_USER)); } -} \ No newline at end of file +} diff --git a/services/tests/servicestests/src/com/android/server/retaildemo/RetailDemoModeServiceTest.java b/services/tests/servicestests/src/com/android/server/retaildemo/RetailDemoModeServiceTest.java index e4473addced56..d53fdf6c4aa94 100644 --- a/services/tests/servicestests/src/com/android/server/retaildemo/RetailDemoModeServiceTest.java +++ b/services/tests/servicestests/src/com/android/server/retaildemo/RetailDemoModeServiceTest.java @@ -61,7 +61,7 @@ import android.test.mock.MockContentProvider; import android.test.mock.MockContentResolver; import android.util.ArrayMap; -import com.android.internal.util.FakeSettingsProvider; +import com.android.internal.util.test.FakeSettingsProvider; import com.android.internal.widget.LockPatternUtils; import com.android.server.SystemService; import com.android.server.retaildemo.RetailDemoModeService.Injector; diff --git a/tests/net/Android.mk b/tests/net/Android.mk new file mode 100644 index 0000000000000..8aa27a9559b88 --- /dev/null +++ b/tests/net/Android.mk @@ -0,0 +1,80 @@ +######################################################################### +# Build FrameworksNetTests package +######################################################################### + +LOCAL_PATH:= $(call my-dir) +include $(CLEAR_VARS) + +# We only want this apk build for tests. +LOCAL_MODULE_TAGS := tests + +# Include all test java files. +LOCAL_SRC_FILES := $(call all-java-files-under, java) + +LOCAL_STATIC_JAVA_LIBRARIES := \ + frameworks-base-testutils \ + framework-protos \ + android-support-test \ + mockito-target-minus-junit4 \ + platform-test-annotations \ + services.core \ + services.net + +LOCAL_JAVA_LIBRARIES := \ + android.test.runner + +LOCAL_PACKAGE_NAME := FrameworksNetTests + +LOCAL_CERTIFICATE := platform + +# These are not normally accessible from apps so they must be explicitly included. +LOCAL_JNI_SHARED_LIBRARIES := libframeworksnettestsjni \ + libbacktrace \ + libbase \ + libbinder \ + libc++ \ + libcutils \ + liblog \ + liblzma \ + libnativehelper \ + libnetdaidl \ + libui \ + libunwind \ + libutils + +LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk + +include $(BUILD_PACKAGE) + +######################################################################### +# Build JNI Shared Library +######################################################################### + +LOCAL_PATH:= $(LOCAL_PATH)/jni + +include $(CLEAR_VARS) + +LOCAL_MODULE_TAGS := tests + +LOCAL_CFLAGS := -Wall -Wextra -Werror + +LOCAL_C_INCLUDES := \ + libpcap \ + hardware/google/apf + +LOCAL_SRC_FILES := $(call all-cpp-files-under) + +LOCAL_SHARED_LIBRARIES := \ + libbinder \ + liblog \ + libcutils \ + libnativehelper \ + libnetdaidl + +LOCAL_STATIC_LIBRARIES := \ + libpcap \ + libapf + +LOCAL_MODULE := libframeworksnettestsjni + +include $(BUILD_SHARED_LIBRARY) diff --git a/tests/net/AndroidManifest.xml b/tests/net/AndroidManifest.xml new file mode 100644 index 0000000000000..e069dd052d82c --- /dev/null +++ b/tests/net/AndroidManifest.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/services/tests/servicestests/src/android/net/ConnectivityMetricsLoggerTest.java b/tests/net/java/android/net/ConnectivityMetricsLoggerTest.java similarity index 100% rename from services/tests/servicestests/src/android/net/ConnectivityMetricsLoggerTest.java rename to tests/net/java/android/net/ConnectivityMetricsLoggerTest.java diff --git a/services/tests/servicestests/src/android/net/UidRangeTest.java b/tests/net/java/android/net/UidRangeTest.java similarity index 98% rename from services/tests/servicestests/src/android/net/UidRangeTest.java rename to tests/net/java/android/net/UidRangeTest.java index 221fe0f99f0bc..0a56e1be6cae5 100644 --- a/services/tests/servicestests/src/android/net/UidRangeTest.java +++ b/tests/net/java/android/net/UidRangeTest.java @@ -26,7 +26,7 @@ import static org.junit.Assert.assertArrayEquals; public class UidRangeTest extends TestCase { static { - System.loadLibrary("servicestestsjni"); + System.loadLibrary("frameworksnettestsjni"); } private static native byte[] readAndWriteNative(byte[] inParcel); diff --git a/services/tests/servicestests/src/android/net/apf/ApfTest.java b/tests/net/java/android/net/apf/ApfTest.java similarity index 99% rename from services/tests/servicestests/src/android/net/apf/ApfTest.java rename to tests/net/java/android/net/apf/ApfTest.java index 37807b22264a6..b7ec00460ae63 100644 --- a/services/tests/servicestests/src/android/net/apf/ApfTest.java +++ b/tests/net/java/android/net/apf/ApfTest.java @@ -35,7 +35,7 @@ import android.test.AndroidTestCase; import android.test.suitebuilder.annotation.LargeTest; import static android.system.OsConstants.*; -import com.android.frameworks.servicestests.R; +import com.android.frameworks.tests.net.R; import com.android.internal.util.HexDump; import org.mockito.ArgumentCaptor; @@ -75,7 +75,7 @@ public class ApfTest extends AndroidTestCase { super.setUp(); MockitoAnnotations.initMocks(this); // Load up native shared library containing APF interpreter exposed via JNI. - System.loadLibrary("servicestestsjni"); + System.loadLibrary("frameworksnettestsjni"); } // Expected return codes from APF interpreter. diff --git a/services/tests/servicestests/src/android/net/apf/Bpf2Apf.java b/tests/net/java/android/net/apf/Bpf2Apf.java similarity index 100% rename from services/tests/servicestests/src/android/net/apf/Bpf2Apf.java rename to tests/net/java/android/net/apf/Bpf2Apf.java diff --git a/services/tests/servicestests/src/android/net/dhcp/DhcpPacketTest.java b/tests/net/java/android/net/dhcp/DhcpPacketTest.java similarity index 100% rename from services/tests/servicestests/src/android/net/dhcp/DhcpPacketTest.java rename to tests/net/java/android/net/dhcp/DhcpPacketTest.java diff --git a/services/tests/servicestests/src/android/net/netlink/NetlinkErrorMessageTest.java b/tests/net/java/android/net/netlink/NetlinkErrorMessageTest.java similarity index 100% rename from services/tests/servicestests/src/android/net/netlink/NetlinkErrorMessageTest.java rename to tests/net/java/android/net/netlink/NetlinkErrorMessageTest.java diff --git a/services/tests/servicestests/src/android/net/netlink/NetlinkSocketTest.java b/tests/net/java/android/net/netlink/NetlinkSocketTest.java similarity index 100% rename from services/tests/servicestests/src/android/net/netlink/NetlinkSocketTest.java rename to tests/net/java/android/net/netlink/NetlinkSocketTest.java diff --git a/services/tests/servicestests/src/android/net/netlink/RtNetlinkNeighborMessageTest.java b/tests/net/java/android/net/netlink/RtNetlinkNeighborMessageTest.java similarity index 100% rename from services/tests/servicestests/src/android/net/netlink/RtNetlinkNeighborMessageTest.java rename to tests/net/java/android/net/netlink/RtNetlinkNeighborMessageTest.java diff --git a/services/tests/servicestests/src/android/net/util/IpUtilsTest.java b/tests/net/java/android/net/util/IpUtilsTest.java similarity index 100% rename from services/tests/servicestests/src/android/net/util/IpUtilsTest.java rename to tests/net/java/android/net/util/IpUtilsTest.java diff --git a/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java similarity index 99% rename from services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java rename to tests/net/java/com/android/server/ConnectivityServiceTest.java index 826aeeb528839..885e8a74b2907 100644 --- a/services/tests/servicestests/src/com/android/server/ConnectivityServiceTest.java +++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java @@ -75,8 +75,9 @@ import android.test.suitebuilder.annotation.SmallTest; import android.util.Log; import android.util.LogPrinter; -import com.android.internal.util.FakeSettingsProvider; import com.android.internal.util.WakeupMessage; +import com.android.internal.util.test.BroadcastInterceptingContext; +import com.android.internal.util.test.FakeSettingsProvider; import com.android.server.connectivity.NetworkAgentInfo; import com.android.server.connectivity.NetworkMonitor; import com.android.server.connectivity.NetworkMonitor.CaptivePortalProbeResult; diff --git a/services/tests/servicestests/src/com/android/server/connectivity/IpConnectivityEventBuilderTest.java b/tests/net/java/com/android/server/connectivity/IpConnectivityEventBuilderTest.java similarity index 100% rename from services/tests/servicestests/src/com/android/server/connectivity/IpConnectivityEventBuilderTest.java rename to tests/net/java/com/android/server/connectivity/IpConnectivityEventBuilderTest.java diff --git a/services/tests/servicestests/src/com/android/server/connectivity/IpConnectivityMetricsTest.java b/tests/net/java/com/android/server/connectivity/IpConnectivityMetricsTest.java similarity index 100% rename from services/tests/servicestests/src/com/android/server/connectivity/IpConnectivityMetricsTest.java rename to tests/net/java/com/android/server/connectivity/IpConnectivityMetricsTest.java diff --git a/services/tests/servicestests/src/com/android/server/connectivity/LingerMonitorTest.java b/tests/net/java/com/android/server/connectivity/LingerMonitorTest.java similarity index 100% rename from services/tests/servicestests/src/com/android/server/connectivity/LingerMonitorTest.java rename to tests/net/java/com/android/server/connectivity/LingerMonitorTest.java diff --git a/services/tests/servicestests/src/com/android/server/connectivity/MetricsLoggerServiceTest.java b/tests/net/java/com/android/server/connectivity/MetricsLoggerServiceTest.java similarity index 100% rename from services/tests/servicestests/src/com/android/server/connectivity/MetricsLoggerServiceTest.java rename to tests/net/java/com/android/server/connectivity/MetricsLoggerServiceTest.java diff --git a/services/tests/servicestests/src/com/android/server/connectivity/MetricsTestUtil.java b/tests/net/java/com/android/server/connectivity/MetricsTestUtil.java similarity index 100% rename from services/tests/servicestests/src/com/android/server/connectivity/MetricsTestUtil.java rename to tests/net/java/com/android/server/connectivity/MetricsTestUtil.java diff --git a/services/tests/servicestests/src/com/android/server/connectivity/NetdEventListenerServiceTest.java b/tests/net/java/com/android/server/connectivity/NetdEventListenerServiceTest.java similarity index 100% rename from services/tests/servicestests/src/com/android/server/connectivity/NetdEventListenerServiceTest.java rename to tests/net/java/com/android/server/connectivity/NetdEventListenerServiceTest.java diff --git a/services/tests/servicestests/src/com/android/server/connectivity/TetheringTest.java b/tests/net/java/com/android/server/connectivity/TetheringTest.java similarity index 100% rename from services/tests/servicestests/src/com/android/server/connectivity/TetheringTest.java rename to tests/net/java/com/android/server/connectivity/TetheringTest.java diff --git a/services/tests/servicestests/src/com/android/server/connectivity/VpnTest.java b/tests/net/java/com/android/server/connectivity/VpnTest.java similarity index 100% rename from services/tests/servicestests/src/com/android/server/connectivity/VpnTest.java rename to tests/net/java/com/android/server/connectivity/VpnTest.java diff --git a/services/tests/servicestests/src/com/android/server/connectivity/tethering/TetherInterfaceStateMachineTest.java b/tests/net/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachineTest.java similarity index 100% rename from services/tests/servicestests/src/com/android/server/connectivity/tethering/TetherInterfaceStateMachineTest.java rename to tests/net/java/com/android/server/connectivity/tethering/TetherInterfaceStateMachineTest.java diff --git a/services/tests/servicestests/jni/UidRangeTest.cpp b/tests/net/jni/UidRangeTest.cpp similarity index 100% rename from services/tests/servicestests/jni/UidRangeTest.cpp rename to tests/net/jni/UidRangeTest.cpp diff --git a/services/tests/servicestests/jni/UidRangeTest.h b/tests/net/jni/UidRangeTest.h similarity index 100% rename from services/tests/servicestests/jni/UidRangeTest.h rename to tests/net/jni/UidRangeTest.h diff --git a/services/tests/servicestests/jni/apf_jni.cpp b/tests/net/jni/apf_jni.cpp similarity index 100% rename from services/tests/servicestests/jni/apf_jni.cpp rename to tests/net/jni/apf_jni.cpp diff --git a/services/tests/servicestests/res/raw/apf.pcap b/tests/net/res/raw/apf.pcap similarity index 100% rename from services/tests/servicestests/res/raw/apf.pcap rename to tests/net/res/raw/apf.pcap diff --git a/tests/utils/testutils/Android.mk b/tests/utils/testutils/Android.mk index 4bfd234260ba3..392d398002183 100644 --- a/tests/utils/testutils/Android.mk +++ b/tests/utils/testutils/Android.mk @@ -27,4 +27,6 @@ LOCAL_STATIC_JAVA_LIBRARIES := \ android-support-test \ mockito-target-minus-junit4 +LOCAL_JAVA_LIBRARIES := android.test.runner + include $(BUILD_STATIC_JAVA_LIBRARY) diff --git a/services/tests/servicestests/src/com/android/server/BroadcastInterceptingContext.java b/tests/utils/testutils/java/com/android/internal/util/test/BroadcastInterceptingContext.java similarity index 93% rename from services/tests/servicestests/src/com/android/server/BroadcastInterceptingContext.java rename to tests/utils/testutils/java/com/android/internal/util/test/BroadcastInterceptingContext.java index 6b5be580c8c3a..21662407db426 100644 --- a/services/tests/servicestests/src/com/android/server/BroadcastInterceptingContext.java +++ b/tests/utils/testutils/java/com/android/internal/util/test/BroadcastInterceptingContext.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.server; +package com.android.internal.util.test; import android.content.BroadcastReceiver; import android.content.Context; @@ -25,13 +25,12 @@ import android.os.Bundle; import android.os.Handler; import android.os.UserHandle; -import com.google.common.collect.Lists; -import com.google.common.util.concurrent.AbstractFuture; - +import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; +import java.util.concurrent.FutureTask; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; @@ -42,9 +41,15 @@ import java.util.concurrent.TimeoutException; public class BroadcastInterceptingContext extends ContextWrapper { private static final String TAG = "WatchingContext"; - private final List mInterceptors = Lists.newArrayList(); + private final List mInterceptors = new ArrayList<>(); + + public abstract class FutureIntent extends FutureTask { + public FutureIntent() { + super( + () -> { throw new IllegalStateException("Cannot happen"); } + ); + } - abstract class FutureIntent extends AbstractFuture { public void assertNotReceived() throws InterruptedException, ExecutionException { assertNotReceived(5, TimeUnit.SECONDS); diff --git a/services/tests/servicestests/src/com/android/internal/util/FakeSettingsProvider.java b/tests/utils/testutils/java/com/android/internal/util/test/FakeSettingsProvider.java similarity index 99% rename from services/tests/servicestests/src/com/android/internal/util/FakeSettingsProvider.java rename to tests/utils/testutils/java/com/android/internal/util/test/FakeSettingsProvider.java index 808f4dd7b84ef..8ca849b8d37ee 100644 --- a/services/tests/servicestests/src/com/android/internal/util/FakeSettingsProvider.java +++ b/tests/utils/testutils/java/com/android/internal/util/test/FakeSettingsProvider.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package com.android.internal.util; +package com.android.internal.util.test; import android.net.Uri; import android.os.Bundle;