From 54fb25689cde10d0138814d1b498faa7eba97356 Mon Sep 17 00:00:00 2001 From: saurav subedi Date: Thu, 23 Aug 2018 13:00:15 -0700 Subject: [PATCH 1/4] DO NOT MERGE: CDD Annotations for Section: 7.4.2 C-1-1: MUST implement the WifiAwareManager APIs as described in the SDK documentation. --> SingleDeviceTest C-1-4:MUST randomize the Wi-Fi Aware management interface address at intervals no longer then 30 minutes and whenever Wi-Fi Aware is enabled -->SingleDeviceTest#testAttachDiscoveryAddressChanges() CDD SECTION:7.4.1.1/C-1-1,C-1-3: Wifi Direct C-1-1: MUST implement the corresponding Android API as described in the SDK documentation. C-1-3: MUST support regular Wi-Fi operation. --> ConcurrencyTest 7.4.2.4/C-1-1,C-2-1: C-1-1: MUST implement the Passpoint related WifiManager APIs as described in the SDK documentation. C-1-2: MUST support IEEE 802.11u standard, specifically related to Network Discovery and Selection, such as Generic Advertisement Service (GAS) and Access Network Query Protocol (ANQP). --> Passpoint configuration tests Added C-0-3 to ConnectivityBackgroundTestActivity as well CDD VERSION: 8.1: https://source.android.com/compatibility/8.1/android-8.1-cdd Bug: 112612833 Test: make cts Change-Id: Ief11b3ae7899bfdca12a7cce63daca600b1f0cdf --- .../net/src/android/net/wifi/aware/cts/SingleDeviceTest.java | 4 ++++ tests/cts/net/src/android/net/wifi/cts/ConcurrencyTest.java | 3 +++ .../net/src/android/net/wifi/cts/WifiConfigurationTest.java | 3 +++ tests/cts/net/src/android/net/wifi/cts/WifiInfoTest.java | 2 ++ tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java | 5 +++++ .../src/android/net/wifi/cts/WifiManager_WifiLockTest.java | 3 +++ 6 files changed, 20 insertions(+) diff --git a/tests/cts/net/src/android/net/wifi/aware/cts/SingleDeviceTest.java b/tests/cts/net/src/android/net/wifi/aware/cts/SingleDeviceTest.java index 87e22d82b7..5dce5ab39d 100644 --- a/tests/cts/net/src/android/net/wifi/aware/cts/SingleDeviceTest.java +++ b/tests/cts/net/src/android/net/wifi/aware/cts/SingleDeviceTest.java @@ -41,6 +41,8 @@ import android.provider.Settings; import android.test.AndroidTestCase; import android.util.Log; +import com.android.compatibility.common.util.CddTest; + import java.util.ArrayDeque; import java.util.ArrayList; import java.util.HashSet; @@ -54,6 +56,7 @@ import java.util.concurrent.TimeUnit; * Wi-Fi Aware CTS test suite: single device testing. Performs tests on a single * device to validate Wi-Fi Aware. */ +@CddTest(requirement="7.4.2.3/C-1-1") public class SingleDeviceTest extends AndroidTestCase { private static final String TAG = "WifiAwareCtsTests"; @@ -485,6 +488,7 @@ public class SingleDeviceTest extends AndroidTestCase { * then the attach/destroy will not correspond to enable/disable and will not result in a new * MAC address being generated. */ + @CddTest(requirement="7.4.2.3/C-1-4") public void testAttachDiscoveryAddressChanges() { if (!TestUtils.shouldTestWifiAware(getContext())) { return; diff --git a/tests/cts/net/src/android/net/wifi/cts/ConcurrencyTest.java b/tests/cts/net/src/android/net/wifi/cts/ConcurrencyTest.java index a066ba80de..418788322e 100644 --- a/tests/cts/net/src/android/net/wifi/cts/ConcurrencyTest.java +++ b/tests/cts/net/src/android/net/wifi/cts/ConcurrencyTest.java @@ -31,9 +31,12 @@ import static android.net.wifi.p2p.WifiP2pManager.WIFI_P2P_STATE_DISABLED; import static android.net.wifi.p2p.WifiP2pManager.WIFI_P2P_STATE_ENABLED; import android.test.AndroidTestCase; +import com.android.compatibility.common.util.CddTest; + import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; +@CddTest(requirement="7.4.2.1/C-1-1,C-1-3") public class ConcurrencyTest extends AndroidTestCase { private class MySync { int expectedWifiState; diff --git a/tests/cts/net/src/android/net/wifi/cts/WifiConfigurationTest.java b/tests/cts/net/src/android/net/wifi/cts/WifiConfigurationTest.java index 4480a24a9a..8b17a57425 100644 --- a/tests/cts/net/src/android/net/wifi/cts/WifiConfigurationTest.java +++ b/tests/cts/net/src/android/net/wifi/cts/WifiConfigurationTest.java @@ -23,6 +23,9 @@ import android.net.wifi.WifiConfiguration; import android.net.wifi.WifiManager; import android.test.AndroidTestCase; +import com.android.compatibility.common.util.CddTest; + +@CddTest(requirement="7.4.2/C-1-1") public class WifiConfigurationTest extends AndroidTestCase { private WifiManager mWifiManager; @Override diff --git a/tests/cts/net/src/android/net/wifi/cts/WifiInfoTest.java b/tests/cts/net/src/android/net/wifi/cts/WifiInfoTest.java index 5983cb72c2..c97f010556 100644 --- a/tests/cts/net/src/android/net/wifi/cts/WifiInfoTest.java +++ b/tests/cts/net/src/android/net/wifi/cts/WifiInfoTest.java @@ -29,9 +29,11 @@ import android.net.wifi.WifiSsid; import android.test.AndroidTestCase; import com.android.compatibility.common.util.PollingCheck; +import com.android.compatibility.common.util.CddTest; import java.util.concurrent.Callable; +@CddTest(requirement="7.4.2/C-1-1") public class WifiInfoTest extends AndroidTestCase { private static class MySync { int expectedState = STATE_NULL; 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 89daca21da..87239b4ca5 100644 --- a/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java +++ b/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java @@ -37,6 +37,7 @@ import android.provider.Settings; import android.test.AndroidTestCase; import android.util.Log; +import com.android.compatibility.common.util.CddTest; import com.android.compatibility.common.util.WifiConfigCreator; import java.net.HttpURLConnection; @@ -49,6 +50,7 @@ import java.util.Set; import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; +@CddTest(requirement="7.4.2/C-1-1") public class WifiManagerTest extends AndroidTestCase { private static class MySync { int expectedState = STATE_NULL; @@ -586,6 +588,7 @@ public class WifiManagerTest extends AndroidTestCase { * * @throws Exception */ + @CddTest(requirement="7.4.2.4/C-1-1,C-1-2,C-2-1") public void testAddPasspointConfigWithUserCredential() throws Exception { if (!WifiFeature.isWifiSupported(getContext())) { // skip the test if WiFi is not supported @@ -600,6 +603,7 @@ public class WifiManagerTest extends AndroidTestCase { * * @throws Exception */ + @CddTest(requirement="7.4.2.4/C-1-1,C-1-2,C-2-1") public void testAddPasspointConfigWithCertCredential() throws Exception { if (!WifiFeature.isWifiSupported(getContext())) { // skip the test if WiFi is not supported @@ -614,6 +618,7 @@ public class WifiManagerTest extends AndroidTestCase { * * @throws Exception */ + @CddTest(requirement="7.4.2.4/C-1-1,C-1-2,C-2-1") public void testAddPasspointConfigWithSimCredential() throws Exception { if (!WifiFeature.isWifiSupported(getContext())) { // skip the test if WiFi is not supported diff --git a/tests/cts/net/src/android/net/wifi/cts/WifiManager_WifiLockTest.java b/tests/cts/net/src/android/net/wifi/cts/WifiManager_WifiLockTest.java index 3cdd56af89..aeb1234dd3 100644 --- a/tests/cts/net/src/android/net/wifi/cts/WifiManager_WifiLockTest.java +++ b/tests/cts/net/src/android/net/wifi/cts/WifiManager_WifiLockTest.java @@ -21,6 +21,9 @@ import android.net.wifi.WifiManager; import android.net.wifi.WifiManager.WifiLock; import android.test.AndroidTestCase; +import com.android.compatibility.common.util.CddTest; + +@CddTest(requirement="7.4.2/C-1-1") public class WifiManager_WifiLockTest extends AndroidTestCase { private static final String WIFI_TAG = "WifiManager_WifiLockTest"; From 6943e15b8cc826a0ea0ae6fa153fe3c511fd53d5 Mon Sep 17 00:00:00 2001 From: saurav subedi Date: Wed, 5 Sep 2018 17:32:32 -0700 Subject: [PATCH 2/4] DO NOT MERGE: CDD Annotations for Section: 7.4.7 Bug: 112612833 Test: make cts Change-Id: I7443794296f9364bc0e88e5ba3b717d6c01511a7 --- .../src/com/android/cts/net/hostside/DataSaverModeTest.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java b/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java index 599a31ce1c..c24ca89e2f 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java +++ b/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java @@ -22,6 +22,9 @@ import static android.net.ConnectivityManager.RESTRICT_BACKGROUND_STATUS_WHITELI import android.util.Log; +import com.android.compatibility.common.util.CddTest; + +@CddTest(requirement="7.4.7/C-1-1,H-1-1") public class DataSaverModeTest extends AbstractRestrictBackgroundNetworkTestCase { private static final String[] REQUIRED_WHITELISTED_PACKAGES = { From 340047b18cd716c5aa3e26cbb697aad80e6637f6 Mon Sep 17 00:00:00 2001 From: Rebecca Silberstein Date: Fri, 27 Apr 2018 08:50:14 -0700 Subject: [PATCH 3/4] WifiManagerTest: allow for multiple modes Now that WifiService can/will support dual simultaneous mode operation, make sure the tests allow for it as well. Bug: 31346104 Bug: 115567184 Test: atest android.net.wifi.cts Change-Id: Id3aaacb3651568c18850a0fdf3832c0f52218cf2 Merged-In: Id3aaacb3651568c18850a0fdf3832c0f52218cf2 --- .../android/net/wifi/cts/WifiManagerTest.java | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) 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 87239b4ca5..90540f4696 100644 --- a/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java +++ b/tests/cts/net/src/android/net/wifi/cts/WifiManagerTest.java @@ -838,10 +838,9 @@ public class WifiManagerTest extends AndroidTestCase { TestLocalOnlyHotspotCallback callback = startLocalOnlyHotspot(); - // at this point, wifi should be off - assertFalse(mWifiManager.isWifiEnabled()); - stopLocalOnlyHotspot(callback, wifiEnabled); + + // wifi should either stay on, or come back on assertEquals(wifiEnabled, mWifiManager.isWifiEnabled()); } @@ -853,7 +852,7 @@ public class WifiManagerTest extends AndroidTestCase { * tethering is started. * Note: Location mode must be enabled for this test. */ - public void testSetWifiEnabledByAppDoesNotStopHotspot() { + public void testSetWifiEnabledByAppDoesNotStopHotspot() throws Exception { if (!WifiFeature.isWifiSupported(getContext())) { // skip the test if WiFi is not supported return; @@ -865,15 +864,18 @@ public class WifiManagerTest extends AndroidTestCase { boolean wifiEnabled = mWifiManager.isWifiEnabled(); + if (wifiEnabled) { + // disable wifi so we have something to turn on (some devices may be able to run + // simultaneous modes) + setWifiEnabled(false); + } + TestLocalOnlyHotspotCallback callback = startLocalOnlyHotspot(); - // at this point, wifi should be off - assertFalse(mWifiManager.isWifiEnabled()); // now we should fail to turn on wifi assertFalse(mWifiManager.setWifiEnabled(true)); stopLocalOnlyHotspot(callback, wifiEnabled); - assertEquals(wifiEnabled, mWifiManager.isWifiEnabled()); } /** @@ -897,9 +899,6 @@ public class WifiManagerTest extends AndroidTestCase { TestLocalOnlyHotspotCallback callback = startLocalOnlyHotspot(); - // at this point, wifi should be off - assertFalse(mWifiManager.isWifiEnabled()); - // now make a second request - this should fail. TestLocalOnlyHotspotCallback callback2 = new TestLocalOnlyHotspotCallback(mLOHSLock); try { @@ -908,9 +907,12 @@ public class WifiManagerTest extends AndroidTestCase { Log.d(TAG, "Caught the IllegalStateException we expected: called startLOHS twice"); caughtException = true; } + if (!caughtException) { + // second start did not fail, should clean up the hotspot. + stopLocalOnlyHotspot(callback2, wifiEnabled); + } assertTrue(caughtException); stopLocalOnlyHotspot(callback, wifiEnabled); - assertEquals(wifiEnabled, mWifiManager.isWifiEnabled()); } } From cd79fb2af625ba62241652f91f13794b0316dc27 Mon Sep 17 00:00:00 2001 From: saurav subedi Date: Fri, 7 Sep 2018 10:57:01 -0700 Subject: [PATCH 4/4] DO NOT MERGE:CDD Annotation for 7.4.7/C-2-1 Devices that don't provide data saver mode must return RESTRICT_BACKGROUND_STATUS_DISABLED for the ConnectivityManager#getRestrictBackgroundStatus() Bug: 116495679 Test: make cts Change-Id: I81b52c9d26afcf51a7e416d20589c9c7cfb878f6 --- .../app/src/com/android/cts/net/hostside/DataSaverModeTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java b/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java index c24ca89e2f..c3962fbbc3 100644 --- a/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java +++ b/tests/cts/hostside/app/src/com/android/cts/net/hostside/DataSaverModeTest.java @@ -24,7 +24,7 @@ import android.util.Log; import com.android.compatibility.common.util.CddTest; -@CddTest(requirement="7.4.7/C-1-1,H-1-1") +@CddTest(requirement="7.4.7/C-1-1,H-1-1,C-2-1") public class DataSaverModeTest extends AbstractRestrictBackgroundNetworkTestCase { private static final String[] REQUIRED_WHITELISTED_PACKAGES = {