Merge "[CTS] Add EasyConnectStatusCallback tests" into rvc-dev
diff --git a/tests/cts/net/src/android/net/wifi/cts/WifiLockTest.java b/tests/cts/net/src/android/net/wifi/cts/WifiLockTest.java
index 6ac92d4..fee9ef0 100644
--- a/tests/cts/net/src/android/net/wifi/cts/WifiLockTest.java
+++ b/tests/cts/net/src/android/net/wifi/cts/WifiLockTest.java
@@ -19,6 +19,7 @@
import android.content.Context;
import android.net.wifi.WifiManager;
import android.net.wifi.WifiManager.WifiLock;
+import android.os.WorkSource;
import android.platform.test.annotations.AppModeFull;
import android.test.AndroidTestCase;
@@ -50,6 +51,7 @@
WifiLock wl = wm.createWifiLock(lockType, WIFI_TAG);
wl.setReferenceCounted(true);
+ wl.setWorkSource(new WorkSource());
assertFalse(wl.isHeld());
wl.acquire();
assertTrue(wl.isHeld());
diff --git a/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java b/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java
index 5bdd712..f4c20e3 100644
--- a/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java
+++ b/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java
@@ -32,6 +32,7 @@
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
+import android.net.util.MacAddressUtils;
import android.net.ConnectivityManager;
import android.net.LinkProperties;
import android.net.MacAddress;
@@ -42,6 +43,7 @@
import android.net.wifi.ScanResult;
import android.net.wifi.SoftApConfiguration;
import android.net.wifi.WifiConfiguration;
+import android.net.wifi.WifiInfo;
import android.net.wifi.WifiManager;
import android.net.wifi.WifiManager.WifiLock;
import android.net.wifi.WifiNetworkConnectionStatistics;
@@ -1392,6 +1394,67 @@
}
}
+ /**
+ * Tests {@link WifiManager#getFactoryMacAddresses()} returns at least one valid MAC address.
+ */
+ public void testGetFactoryMacAddresses() throws Exception {
+ if (!WifiFeature.isWifiSupported(getContext())) {
+ // skip the test if WiFi is not supported
+ return;
+ }
+ TestActionListener actionListener = new TestActionListener(mLock);
+ UiAutomation uiAutomation = InstrumentationRegistry.getInstrumentation().getUiAutomation();
+ int newNetworkId = INVALID_NETWORK_ID;
+ try {
+ uiAutomation.adoptShellPermissionIdentity();
+ // Obtain the factory MAC address
+ String[] macAddresses = mWifiManager.getFactoryMacAddresses();
+ assertTrue("At list one MAC address should be returned.", macAddresses.length > 0);
+ try {
+ MacAddress mac = MacAddress.fromString(macAddresses[0]);
+ assertNotEquals(WifiInfo.DEFAULT_MAC_ADDRESS, mac);
+ assertFalse(MacAddressUtils.isMulticastAddress(mac));
+ } catch (IllegalArgumentException e) {
+ fail("Factory MAC address is invalid");
+ }
+ } finally {
+ uiAutomation.dropShellPermissionIdentity();
+ }
+ }
+
+ /**
+ * Tests {@link WifiManager#isApMacRandomizationSupported()} does not crash.
+ */
+ public void testIsApMacRandomizationSupported() throws Exception {
+ if (!WifiFeature.isWifiSupported(getContext())) {
+ // skip the test if WiFi is not supported
+ return;
+ }
+ mWifiManager.isApMacRandomizationSupported();
+ }
+
+ /**
+ * Tests {@link WifiManager#isConnectedMacRandomizationSupported()} does not crash.
+ */
+ public void testIsConnectedMacRandomizationSupported() throws Exception {
+ if (!WifiFeature.isWifiSupported(getContext())) {
+ // skip the test if WiFi is not supported
+ return;
+ }
+ mWifiManager.isConnectedMacRandomizationSupported();
+ }
+
+ /**
+ * Tests {@link WifiManager#isPreferredNetworkOffloadSupported()} does not crash.
+ */
+ public void testIsPreferredNetworkOffloadSupported() throws Exception {
+ if (!WifiFeature.isWifiSupported(getContext())) {
+ // skip the test if WiFi is not supported
+ return;
+ }
+ mWifiManager.isPreferredNetworkOffloadSupported();
+ }
+
private static class TestTrafficStateCallback implements WifiManager.TrafficStateCallback {
private final Object mLock;
public boolean onStateChangedCalled = false;