Merge changes from topic 'frameworks-net-tests'
* changes: Move the connectivity tests to frameworks/base/tests/net. De-guava BroadcastInterceptingContext and move it to testutils. Move FakeSettingsProvider to a common location.
This commit is contained in:
committed by
Android (Google) Code Review
commit
7072f32b32
@@ -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
|
||||
|
||||
@@ -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;
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
80
tests/net/Android.mk
Normal file
80
tests/net/Android.mk
Normal file
@@ -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)
|
||||
57
tests/net/AndroidManifest.xml
Normal file
57
tests/net/AndroidManifest.xml
Normal file
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Copyright (C) 2016 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.frameworks.tests.net">
|
||||
|
||||
<uses-permission android:name="android.permission.READ_LOGS" />
|
||||
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
|
||||
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
|
||||
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
|
||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
|
||||
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
|
||||
<uses-permission android:name="android.permission.UPDATE_DEVICE_STATS" />
|
||||
<uses-permission android:name="android.permission.MANAGE_APP_TOKENS" />
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
|
||||
<uses-permission android:name="android.permission.REAL_GET_TASKS" />
|
||||
<uses-permission android:name="android.permission.GET_DETAILED_TASKS" />
|
||||
<uses-permission android:name="android.permission.MANAGE_NETWORK_POLICY" />
|
||||
<uses-permission android:name="android.permission.READ_NETWORK_USAGE_HISTORY" />
|
||||
<uses-permission android:name="android.permission.MODIFY_NETWORK_ACCOUNTING" />
|
||||
<uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
|
||||
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
|
||||
<uses-permission android:name="android.permission.MANAGE_USERS" />
|
||||
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
|
||||
<uses-permission android:name="android.permission.MANAGE_DEVICE_ADMINS" />
|
||||
<uses-permission android:name="android.permission.MODIFY_PHONE_STATE" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
|
||||
<uses-permission android:name="android.permission.PACKET_KEEPALIVE_OFFLOAD" />
|
||||
<uses-permission android:name="android.permission.GET_INTENT_SENDER_INTENT" />
|
||||
<uses-permission android:name="android.permission.MANAGE_ACTIVITY_STACKS" />
|
||||
<uses-permission android:name="android.permission.INSTALL_PACKAGES" />
|
||||
|
||||
<application>
|
||||
<uses-library android:name="android.test.runner" />
|
||||
</application>
|
||||
|
||||
<instrumentation
|
||||
android:name="android.support.test.runner.AndroidJUnitRunner"
|
||||
android:targetPackage="com.android.frameworks.tests.net"
|
||||
android:label="Frameworks Networking Tests" />
|
||||
</manifest>
|
||||
@@ -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);
|
||||
@@ -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.
|
||||
@@ -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;
|
||||
@@ -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)
|
||||
|
||||
@@ -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<BroadcastInterceptor> mInterceptors = Lists.newArrayList();
|
||||
private final List<BroadcastInterceptor> mInterceptors = new ArrayList<>();
|
||||
|
||||
public abstract class FutureIntent extends FutureTask<Intent> {
|
||||
public FutureIntent() {
|
||||
super(
|
||||
() -> { throw new IllegalStateException("Cannot happen"); }
|
||||
);
|
||||
}
|
||||
|
||||
abstract class FutureIntent extends AbstractFuture<Intent> {
|
||||
public void assertNotReceived()
|
||||
throws InterruptedException, ExecutionException {
|
||||
assertNotReceived(5, TimeUnit.SECONDS);
|
||||
@@ -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;
|
||||
Reference in New Issue
Block a user