summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/FlickerTests/lib/src/com/android/server/wm/flicker/LayersTraceSubject.java19
-rw-r--r--tests/FlickerTests/lib/src/com/android/server/wm/flicker/WmTraceSubject.java19
-rw-r--r--tests/net/Android.bp1
-rw-r--r--tests/net/java/android/net/nsd/NsdManagerTest.java11
-rw-r--r--tests/net/java/android/net/util/DnsUtilsTest.java38
-rw-r--r--tests/net/java/com/android/server/ConnectivityServiceTest.java17
-rw-r--r--tests/net/java/com/android/server/connectivity/tethering/OffloadControllerTest.java7
-rw-r--r--tests/net/java/com/android/server/net/NetworkStatsObserversTest.java7
-rw-r--r--tests/net/java/com/android/server/net/NetworkStatsServiceTest.java11
-rw-r--r--tests/net/util/java/com/android/internal/util/TestUtils.java44
10 files changed, 64 insertions, 110 deletions
diff --git a/tests/FlickerTests/lib/src/com/android/server/wm/flicker/LayersTraceSubject.java b/tests/FlickerTests/lib/src/com/android/server/wm/flicker/LayersTraceSubject.java
index b4c97e4fc4f2..4085810a213d 100644
--- a/tests/FlickerTests/lib/src/com/android/server/wm/flicker/LayersTraceSubject.java
+++ b/tests/FlickerTests/lib/src/com/android/server/wm/flicker/LayersTraceSubject.java
@@ -26,9 +26,8 @@ import com.android.server.wm.flicker.Assertions.Result;
import com.android.server.wm.flicker.LayersTrace.Entry;
import com.android.server.wm.flicker.TransitionRunner.TransitionResult;
-import com.google.common.truth.FailureStrategy;
+import com.google.common.truth.FailureMetadata;
import com.google.common.truth.Subject;
-import com.google.common.truth.SubjectFactory;
import java.util.List;
import java.util.stream.Collectors;
@@ -38,19 +37,19 @@ import java.util.stream.Collectors;
*/
public class LayersTraceSubject extends Subject<LayersTraceSubject, LayersTrace> {
// Boiler-plate Subject.Factory for LayersTraceSubject
- private static final SubjectFactory<LayersTraceSubject, LayersTrace> FACTORY =
- new SubjectFactory<LayersTraceSubject, LayersTrace>() {
+ private static final Subject.Factory<LayersTraceSubject, LayersTrace> FACTORY =
+ new Subject.Factory<LayersTraceSubject, LayersTrace>() {
@Override
- public LayersTraceSubject getSubject(
- FailureStrategy fs, @Nullable LayersTrace target) {
- return new LayersTraceSubject(fs, target);
+ public LayersTraceSubject createSubject(
+ FailureMetadata fm, @Nullable LayersTrace target) {
+ return new LayersTraceSubject(fm, target);
}
};
private AssertionsChecker<Entry> mChecker = new AssertionsChecker<>();
- private LayersTraceSubject(FailureStrategy fs, @Nullable LayersTrace subject) {
- super(fs, subject);
+ private LayersTraceSubject(FailureMetadata fm, @Nullable LayersTrace subject) {
+ super(fm, subject);
}
// User-defined entry point
@@ -66,7 +65,7 @@ public class LayersTraceSubject extends Subject<LayersTraceSubject, LayersTrace>
}
// Static method for getting the subject factory (for use with assertAbout())
- public static SubjectFactory<LayersTraceSubject, LayersTrace> entries() {
+ public static Subject.Factory<LayersTraceSubject, LayersTrace> entries() {
return FACTORY;
}
diff --git a/tests/FlickerTests/lib/src/com/android/server/wm/flicker/WmTraceSubject.java b/tests/FlickerTests/lib/src/com/android/server/wm/flicker/WmTraceSubject.java
index 1fc7d591d2bb..e76da6e90834 100644
--- a/tests/FlickerTests/lib/src/com/android/server/wm/flicker/WmTraceSubject.java
+++ b/tests/FlickerTests/lib/src/com/android/server/wm/flicker/WmTraceSubject.java
@@ -24,9 +24,8 @@ import android.annotation.Nullable;
import com.android.server.wm.flicker.Assertions.Result;
import com.android.server.wm.flicker.TransitionRunner.TransitionResult;
-import com.google.common.truth.FailureStrategy;
+import com.google.common.truth.FailureMetadata;
import com.google.common.truth.Subject;
-import com.google.common.truth.SubjectFactory;
import java.nio.file.Path;
import java.util.List;
@@ -38,19 +37,19 @@ import java.util.stream.Collectors;
*/
public class WmTraceSubject extends Subject<WmTraceSubject, WindowManagerTrace> {
// Boiler-plate Subject.Factory for WmTraceSubject
- private static final SubjectFactory<WmTraceSubject, WindowManagerTrace> FACTORY =
- new SubjectFactory<WmTraceSubject, WindowManagerTrace>() {
+ private static final Subject.Factory<WmTraceSubject, WindowManagerTrace> FACTORY =
+ new Subject.Factory<WmTraceSubject, WindowManagerTrace>() {
@Override
- public WmTraceSubject getSubject(
- FailureStrategy fs, @Nullable WindowManagerTrace target) {
- return new WmTraceSubject(fs, target);
+ public WmTraceSubject createSubject(
+ FailureMetadata fm, @Nullable WindowManagerTrace target) {
+ return new WmTraceSubject(fm, target);
}
};
private AssertionsChecker<WindowManagerTrace.Entry> mChecker = new AssertionsChecker<>();
- private WmTraceSubject(FailureStrategy fs, @Nullable WindowManagerTrace subject) {
- super(fs, subject);
+ private WmTraceSubject(FailureMetadata fm, @Nullable WindowManagerTrace subject) {
+ super(fm, subject);
}
// User-defined entry point
@@ -66,7 +65,7 @@ public class WmTraceSubject extends Subject<WmTraceSubject, WindowManagerTrace>
}
// Static method for getting the subject factory (for use with assertAbout())
- public static SubjectFactory<WmTraceSubject, WindowManagerTrace> entries() {
+ public static Subject.Factory<WmTraceSubject, WindowManagerTrace> entries() {
return FACTORY;
}
diff --git a/tests/net/Android.bp b/tests/net/Android.bp
index 306cc515c870..eb25acfe6c45 100644
--- a/tests/net/Android.bp
+++ b/tests/net/Android.bp
@@ -10,6 +10,7 @@ java_defaults {
"framework-protos",
"androidx.test.rules",
"mockito-target-minus-junit4",
+ "net-tests-utils",
"platform-test-annotations",
"services.core",
"services.net",
diff --git a/tests/net/java/android/net/nsd/NsdManagerTest.java b/tests/net/java/android/net/nsd/NsdManagerTest.java
index 2d2bccba7eb9..cf7587a2039f 100644
--- a/tests/net/java/android/net/nsd/NsdManagerTest.java
+++ b/tests/net/java/android/net/nsd/NsdManagerTest.java
@@ -16,8 +16,6 @@
package android.net.nsd;
-import static com.android.internal.util.TestUtils.waitForIdleHandler;
-
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.fail;
@@ -40,6 +38,7 @@ import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;
import com.android.internal.util.AsyncChannel;
+import com.android.testutils.HandlerUtilsKt;
import org.junit.After;
import org.junit.Before;
@@ -74,7 +73,7 @@ public class NsdManagerTest {
@After
public void tearDown() throws Exception {
- mServiceHandler.waitForIdle(mTimeoutMs);
+ HandlerUtilsKt.waitForIdle(mServiceHandler, mTimeoutMs);
mServiceHandler.chan.disconnect();
mServiceHandler.stop();
if (mManager != null) {
@@ -334,7 +333,7 @@ public class NsdManagerTest {
}
int verifyRequest(int expectedMessageType) {
- mServiceHandler.waitForIdle(mTimeoutMs);
+ HandlerUtilsKt.waitForIdle(mServiceHandler, mTimeoutMs);
verify(mServiceHandler, timeout(mTimeoutMs)).handleMessage(any());
reset(mServiceHandler);
Message received = mServiceHandler.getLastMessage();
@@ -366,10 +365,6 @@ public class NsdManagerTest {
lastMessage.copyFrom(msg);
}
- void waitForIdle(long timeoutMs) {
- waitForIdleHandler(this, timeoutMs);
- }
-
@Override
public void handleMessage(Message msg) {
setLastMessage(msg);
diff --git a/tests/net/java/android/net/util/DnsUtilsTest.java b/tests/net/java/android/net/util/DnsUtilsTest.java
index 42e340bbcba9..b626db8d89e4 100644
--- a/tests/net/java/android/net/util/DnsUtilsTest.java
+++ b/tests/net/java/android/net/util/DnsUtilsTest.java
@@ -57,24 +57,38 @@ public class DnsUtilsTest {
@Test
public void testRfc6724Comparator() {
final List<DnsUtils.SortableAddress> test = Arrays.asList(
- makeSortableAddress("216.58.200.36"), // Ipv4
- makeSortableAddress("2404:6800:4008:801::2004"), // global
- makeSortableAddress("::1"), // loop back
- makeSortableAddress("fe80::c46f:1cff:fe04:39b4"), // link local
- makeSortableAddress("::ffff:192.168.95.3"), // IPv4-mapped IPv6
- makeSortableAddress("2001::47c1"), // teredo tunneling
- makeSortableAddress("::216.58.200.36"), // IPv4-compatible
- makeSortableAddress("3ffe::1234:5678")); // 6bone
+ // Ipv4
+ makeSortableAddress("216.58.200.36", "192.168.1.1"),
+ // global with different scope src
+ makeSortableAddress("2404:6800:4008:801::2004", "fe80::1111:2222"),
+ // global without src addr
+ makeSortableAddress("2404:6800:cafe:801::1"),
+ // loop back
+ makeSortableAddress("::1", "::1"),
+ // link local
+ makeSortableAddress("fe80::c46f:1cff:fe04:39b4", "fe80::1"),
+ // teredo tunneling
+ makeSortableAddress("2001::47c1", "2001::2"),
+ // 6bone without src addr
+ makeSortableAddress("3ffe::1234:5678"),
+ // IPv4-compatible
+ makeSortableAddress("::216.58.200.36", "::216.58.200.9"),
+ // 6bone
+ makeSortableAddress("3ffe::1234:5678", "3ffe::1234:1"),
+ // IPv4-mapped IPv6
+ makeSortableAddress("::ffff:192.168.95.7", "::ffff:192.168.95.1"));
final List<InetAddress> expected = Arrays.asList(
stringToAddress("::1"), // loop back
stringToAddress("fe80::c46f:1cff:fe04:39b4"), // link local
- stringToAddress("2404:6800:4008:801::2004"), // global
stringToAddress("216.58.200.36"), // Ipv4
- stringToAddress("::ffff:192.168.95.3"), // IPv4-mapped IPv6
+ stringToAddress("::ffff:192.168.95.7"), // IPv4-mapped IPv6
stringToAddress("2001::47c1"), // teredo tunneling
- stringToAddress("::216.58.200.36"), // IPv4-compatible
- stringToAddress("3ffe::1234:5678")); // 6bone
+ stringToAddress("::216.58.200.36"), // IPv4-compatible
+ stringToAddress("3ffe::1234:5678"), // 6bone
+ stringToAddress("2404:6800:4008:801::2004"), // global with different scope src
+ stringToAddress("2404:6800:cafe:801::1"), // global without src addr
+ stringToAddress("3ffe::1234:5678")); // 6bone without src addr
Collections.sort(test, new DnsUtils.Rfc6724Comparator());
diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java
index 8c024a5a53c7..e099270e85b9 100644
--- a/tests/net/java/com/android/server/ConnectivityServiceTest.java
+++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java
@@ -68,10 +68,6 @@ import static android.net.NetworkPolicyManager.RULE_REJECT_ALL;
import static android.net.NetworkPolicyManager.RULE_REJECT_METERED;
import static android.net.RouteInfo.RTN_UNREACHABLE;
-import static com.android.internal.util.TestUtils.waitForIdleHandler;
-import static com.android.internal.util.TestUtils.waitForIdleLooper;
-import static com.android.internal.util.TestUtils.waitForIdleSerialExecutor;
-
import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -196,6 +192,7 @@ import com.android.server.connectivity.Tethering;
import com.android.server.connectivity.Vpn;
import com.android.server.net.NetworkPinner;
import com.android.server.net.NetworkPolicyManagerInternal;
+import com.android.testutils.HandlerUtilsKt;
import org.junit.After;
import org.junit.Before;
@@ -375,19 +372,19 @@ public class ConnectivityServiceTest {
public void waitForIdle(int timeoutMsAsInt) {
long timeoutMs = timeoutMsAsInt;
- waitForIdleHandler(mService.mHandlerThread, timeoutMs);
+ HandlerUtilsKt.waitForIdle(mService.mHandlerThread, timeoutMs);
waitForIdle(mCellNetworkAgent, timeoutMs);
waitForIdle(mWiFiNetworkAgent, timeoutMs);
waitForIdle(mEthernetNetworkAgent, timeoutMs);
- waitForIdleHandler(mService.mHandlerThread, timeoutMs);
- waitForIdleLooper(ConnectivityThread.getInstanceLooper(), timeoutMs);
+ HandlerUtilsKt.waitForIdle(mService.mHandlerThread, timeoutMs);
+ HandlerUtilsKt.waitForIdle(ConnectivityThread.get(), timeoutMs);
}
public void waitForIdle(MockNetworkAgent agent, long timeoutMs) {
if (agent == null) {
return;
}
- waitForIdleHandler(agent.mHandlerThread, timeoutMs);
+ HandlerUtilsKt.waitForIdle(agent.mHandlerThread, timeoutMs);
}
private void waitForIdle() {
@@ -1220,7 +1217,7 @@ public class ConnectivityServiceTest {
}
public void waitForIdle(int timeoutMs) {
- waitForIdleHandler(mHandlerThread, timeoutMs);
+ HandlerUtilsKt.waitForIdle(mHandlerThread, timeoutMs);
}
public void waitForIdle() {
@@ -4107,7 +4104,7 @@ public class ConnectivityServiceTest {
}
public void assertNoCallback() {
- waitForIdleSerialExecutor(mExecutor, TIMEOUT_MS);
+ HandlerUtilsKt.waitForIdleSerialExecutor(mExecutor, TIMEOUT_MS);
CallbackValue cv = mCallbacks.peek();
assertNull("Unexpected callback: " + cv, cv);
}
diff --git a/tests/net/java/com/android/server/connectivity/tethering/OffloadControllerTest.java b/tests/net/java/com/android/server/connectivity/tethering/OffloadControllerTest.java
index be54b1a93b5d..762b76c0e18a 100644
--- a/tests/net/java/com/android/server/connectivity/tethering/OffloadControllerTest.java
+++ b/tests/net/java/com/android/server/connectivity/tethering/OffloadControllerTest.java
@@ -51,7 +51,6 @@ import android.net.LinkProperties;
import android.net.NetworkStats;
import android.net.RouteInfo;
import android.net.util.SharedLog;
-import android.os.ConditionVariable;
import android.os.Handler;
import android.os.INetworkManagementService;
import android.os.Looper;
@@ -63,6 +62,7 @@ import androidx.test.filters.SmallTest;
import androidx.test.runner.AndroidJUnit4;
import com.android.internal.util.test.FakeSettingsProvider;
+import com.android.testutils.HandlerUtilsKt;
import org.junit.After;
import org.junit.Before;
@@ -90,6 +90,7 @@ public class OffloadControllerTest {
private static final String IPV6_DISCARD_PREFIX = "100::/64";
private static final String USB_PREFIX = "192.168.42.0/24";
private static final String WIFI_PREFIX = "192.168.43.0/24";
+ private static final long WAIT_FOR_IDLE_TIMEOUT = 2 * 1000;
@Mock private OffloadHardwareInterface mHardware;
@Mock private ApplicationInfo mApplicationInfo;
@@ -131,9 +132,7 @@ public class OffloadControllerTest {
}
private void waitForIdle() {
- ConditionVariable cv = new ConditionVariable();
- new Handler(Looper.getMainLooper()).post(() -> { cv.open(); });
- cv.block();
+ HandlerUtilsKt.waitForIdle(new Handler(Looper.getMainLooper()), WAIT_FOR_IDLE_TIMEOUT);
}
private OffloadController makeOffloadController() throws Exception {
diff --git a/tests/net/java/com/android/server/net/NetworkStatsObserversTest.java b/tests/net/java/com/android/server/net/NetworkStatsObserversTest.java
index 43a38039c0da..9a47f350806b 100644
--- a/tests/net/java/com/android/server/net/NetworkStatsObserversTest.java
+++ b/tests/net/java/com/android/server/net/NetworkStatsObserversTest.java
@@ -28,8 +28,6 @@ import static android.net.NetworkTemplate.buildTemplateWifiWildcard;
import static android.net.TrafficStats.MB_IN_BYTES;
import static android.text.format.DateUtils.MINUTE_IN_MILLIS;
-import static com.android.internal.util.TestUtils.waitForIdleHandler;
-
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import static org.mockito.Matchers.any;
@@ -56,6 +54,7 @@ import androidx.test.runner.AndroidJUnit4;
import com.android.internal.net.VpnInfo;
import com.android.server.net.NetworkStatsServiceTest.LatchedHandler;
+import com.android.testutils.HandlerUtilsKt;
import org.junit.Before;
import org.junit.Test;
@@ -457,7 +456,7 @@ public class NetworkStatsObserversTest {
}
private void waitForObserverToIdle() {
- waitForIdleHandler(mObserverHandlerThread, WAIT_TIMEOUT_MS);
- waitForIdleHandler(mHandler, WAIT_TIMEOUT_MS);
+ HandlerUtilsKt.waitForIdle(mObserverHandlerThread, WAIT_TIMEOUT_MS);
+ HandlerUtilsKt.waitForIdle(mHandler, WAIT_TIMEOUT_MS);
}
}
diff --git a/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java b/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java
index d9f2c201fe37..31df9f3bc9c5 100644
--- a/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java
+++ b/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java
@@ -52,7 +52,6 @@ import static android.text.format.DateUtils.HOUR_IN_MILLIS;
import static android.text.format.DateUtils.MINUTE_IN_MILLIS;
import static android.text.format.DateUtils.WEEK_IN_MILLIS;
-import static com.android.internal.util.TestUtils.waitForIdleHandler;
import static com.android.server.net.NetworkStatsService.ACTION_NETWORK_STATS_POLL;
import static org.junit.Assert.assertEquals;
@@ -104,6 +103,7 @@ import com.android.internal.util.ArrayUtils;
import com.android.internal.util.test.BroadcastInterceptingContext;
import com.android.server.net.NetworkStatsService.NetworkStatsSettings;
import com.android.server.net.NetworkStatsService.NetworkStatsSettings.Config;
+import com.android.testutils.HandlerUtilsKt;
import libcore.io.IoUtils;
@@ -1432,8 +1432,6 @@ public class NetworkStatsServiceTest {
expectNetworkStatsSummary(buildEmptyStats());
expectNetworkStatsUidDetail(buildEmptyStats());
-
-
// Register and verify request and that binder was called
DataUsageRequest request =
mService.registerUsageCallback(mServiceContext.getOpPackageName(), inputRequest,
@@ -1445,14 +1443,11 @@ public class NetworkStatsServiceTest {
// Send dummy message to make sure that any previous message has been handled
mHandler.sendMessage(mHandler.obtainMessage(-1));
- waitForIdleHandler(mHandler, WAIT_TIMEOUT);
-
-
+ HandlerUtilsKt.waitForIdle(mHandler, WAIT_TIMEOUT);
// Make sure that the caller binder gets connected
verify(mBinder).linkToDeath(any(IBinder.DeathRecipient.class), anyInt());
-
// modify some number on wifi, and trigger poll event
// not enough traffic to call data usage callback
incrementCurrentTime(HOUR_IN_MILLIS);
@@ -1785,7 +1780,7 @@ public class NetworkStatsServiceTest {
mServiceContext.sendBroadcast(new Intent(ACTION_NETWORK_STATS_POLL));
// Send dummy message to make sure that any previous message has been handled
mHandler.sendMessage(mHandler.obtainMessage(-1));
- waitForIdleHandler(mHandler, WAIT_TIMEOUT);
+ HandlerUtilsKt.waitForIdle(mHandler, WAIT_TIMEOUT);
}
static class LatchedHandler extends Handler {
diff --git a/tests/net/util/java/com/android/internal/util/TestUtils.java b/tests/net/util/java/com/android/internal/util/TestUtils.java
index a99cd4716f9a..daa00d24f299 100644
--- a/tests/net/util/java/com/android/internal/util/TestUtils.java
+++ b/tests/net/util/java/com/android/internal/util/TestUtils.java
@@ -19,57 +19,13 @@ package com.android.internal.util;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
-import android.os.ConditionVariable;
-import android.os.Handler;
-import android.os.HandlerThread;
-import android.os.Looper;
import android.os.Parcel;
import android.os.Parcelable;
-import androidx.annotation.NonNull;
-
-import java.util.concurrent.Executor;
-
public final class TestUtils {
private TestUtils() { }
/**
- * Block until the given Handler thread becomes idle, or until timeoutMs has passed.
- */
- public static void waitForIdleHandler(HandlerThread handlerThread, long timeoutMs) {
- waitForIdleLooper(handlerThread.getLooper(), timeoutMs);
- }
-
- /**
- * Block until the given Looper becomes idle, or until timeoutMs has passed.
- */
- public static void waitForIdleLooper(Looper looper, long timeoutMs) {
- waitForIdleHandler(new Handler(looper), timeoutMs);
- }
-
- /**
- * Block until the given Handler becomes idle, or until timeoutMs has passed.
- */
- public static void waitForIdleHandler(Handler handler, long timeoutMs) {
- final ConditionVariable cv = new ConditionVariable();
- handler.post(() -> cv.open());
- if (!cv.block(timeoutMs)) {
- fail(handler.toString() + " did not become idle after " + timeoutMs + " ms");
- }
- }
-
- /**
- * Block until the given Serial Executor becomes idle, or until timeoutMs has passed.
- */
- public static void waitForIdleSerialExecutor(@NonNull Executor executor, long timeoutMs) {
- final ConditionVariable cv = new ConditionVariable();
- executor.execute(() -> cv.open());
- if (!cv.block(timeoutMs)) {
- fail(executor.toString() + " did not become idle after " + timeoutMs + " ms");
- }
- }
-
- /**
* Return a new instance of {@code T} after being parceled then unparceled.
*/
public static <T extends Parcelable> T parcelingRoundTrip(T source) {