diff options
author | Jimmy Chen <jimmycmchen@google.com> | 2019-12-23 17:08:08 +0800 |
---|---|---|
committer | Jimmy Chen <jimmycmchen@google.com> | 2019-12-23 18:20:54 +0800 |
commit | aeba8aa9f46dfe8c70f59118147a0229d2fb2741 (patch) | |
tree | 9681f6290696fc3985271e70e6a1c51a27e7811e /tests | |
parent | ee3c67e23fa79a90e397b24eecb81a1919f6be59 (diff) |
Wifi: abort ongoing scan on p2p group join
If P2P connection is requested while STA scan is ongoing, it takes time
to establish connection because of waiting for STA scan completion.
Bug: 131378508
Test: atest FrameworksWifiTests
Change-Id: I0f1ec33236ad75b1300684ee375362a1f6431b8a
Diffstat (limited to 'tests')
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/p2p/WifiP2pNativeInterfaceManagementTest.java | 4 | ||||
-rw-r--r-- | tests/wifitests/src/com/android/server/wifi/p2p/WifiP2pNativeTest.java | 24 |
2 files changed, 27 insertions, 1 deletions
diff --git a/tests/wifitests/src/com/android/server/wifi/p2p/WifiP2pNativeInterfaceManagementTest.java b/tests/wifitests/src/com/android/server/wifi/p2p/WifiP2pNativeInterfaceManagementTest.java index eb48b71c7..48a4334cb 100644 --- a/tests/wifitests/src/com/android/server/wifi/p2p/WifiP2pNativeInterfaceManagementTest.java +++ b/tests/wifitests/src/com/android/server/wifi/p2p/WifiP2pNativeInterfaceManagementTest.java @@ -42,6 +42,7 @@ import com.android.server.wifi.HalDeviceManager.InterfaceDestroyedListener; import com.android.server.wifi.HalDeviceManager.ManagerStatusListener; import com.android.server.wifi.PropertyService; import com.android.server.wifi.WifiBaseTest; +import com.android.server.wifi.WifiInjector; import com.android.server.wifi.WifiVendorHal; import org.junit.Before; @@ -68,6 +69,7 @@ public class WifiP2pNativeInterfaceManagementTest extends WifiBaseTest { @Mock private IWifiP2pIface mIWifiP2pIface; @Mock private IWifiIface mIWifiIface; @Mock private WifiVendorHal mWifiVendorHal; + @Mock private WifiInjector mWifiInjector; private WifiP2pNative mWifiP2pNative; private WifiStatus mWifiStatusSuccess; private ManagerStatusListener mManagerStatusListener; @@ -98,7 +100,7 @@ public class WifiP2pNativeInterfaceManagementTest extends WifiBaseTest { when(mPropertyService.getString(P2P_INTERFACE_PROPERTY, P2P_IFACE_NAME)) .thenReturn(P2P_IFACE_NAME); - mWifiP2pNative = new WifiP2pNative( + mWifiP2pNative = new WifiP2pNative(mWifiInjector, mWifiVendorHal, mSupplicantP2pIfaceHal, mHalDeviceManager, mPropertyService); } diff --git a/tests/wifitests/src/com/android/server/wifi/p2p/WifiP2pNativeTest.java b/tests/wifitests/src/com/android/server/wifi/p2p/WifiP2pNativeTest.java index 045b1752f..41952d71b 100644 --- a/tests/wifitests/src/com/android/server/wifi/p2p/WifiP2pNativeTest.java +++ b/tests/wifitests/src/com/android/server/wifi/p2p/WifiP2pNativeTest.java @@ -37,6 +37,7 @@ import android.net.wifi.p2p.WifiP2pGroupList; import android.net.wifi.p2p.WifiP2pManager; import android.net.wifi.p2p.nsd.WifiP2pDnsSdServiceInfo; import android.net.wifi.p2p.nsd.WifiP2pServiceInfo; +import android.net.wifi.wificond.WifiCondManager; import android.os.Handler; import androidx.test.filters.SmallTest; @@ -44,6 +45,8 @@ import androidx.test.filters.SmallTest; import com.android.server.wifi.HalDeviceManager; import com.android.server.wifi.PropertyService; import com.android.server.wifi.WifiBaseTest; +import com.android.server.wifi.WifiInjector; +import com.android.server.wifi.WifiNative; import com.android.server.wifi.WifiVendorHal; import org.junit.Before; @@ -52,6 +55,9 @@ import org.mockito.ArgumentCaptor; import org.mockito.Mock; import org.mockito.MockitoAnnotations; +import java.util.HashSet; +import java.util.Set; + /** * Unit tests for {@link com.android.server.wifi.WifiP2pMonitor}. */ @@ -77,6 +83,9 @@ public class WifiP2pNativeTest extends WifiBaseTest { private static final String TEST_NFC_SELECT_MSG = "select"; private static final String TEST_CLIENT_LIST = "aa:bb:cc:dd:ee:ff 11:22:33:44:55:66"; + @Mock private WifiInjector mWifiInjector; + @Mock private WifiCondManager mWifiCondManager; + @Mock private WifiNative mWifiNative; @Mock private WifiVendorHal mWifiVendorHalMock; @Mock private SupplicantP2pIfaceHal mSupplicantP2pIfaceHalMock; @Mock private HalDeviceManager mHalDeviceManagerMock; @@ -85,6 +94,7 @@ public class WifiP2pNativeTest extends WifiBaseTest { private WifiP2pNative mWifiP2pNative; private WifiP2pGroupList mWifiP2pGroupList = new WifiP2pGroupList(); + private Set<String> mWifiClientInterfaceNames = new HashSet<String>(); private WifiP2pGroup createP2pGroup( int networkId, String networkName, String passphrase, boolean isGo, String goAddr) { @@ -100,12 +110,22 @@ public class WifiP2pNativeTest extends WifiBaseTest { @Before public void setUp() throws Exception { MockitoAnnotations.initMocks(this); + + mWifiClientInterfaceNames.add("wlan0"); + mWifiClientInterfaceNames.add("wlan1"); + mWifiP2pNative = new WifiP2pNative( + mWifiInjector, mWifiVendorHalMock, mSupplicantP2pIfaceHalMock, mHalDeviceManagerMock, mPropertyServiceMock); + when(mWifiInjector.getWifiCondManager()).thenReturn(mWifiCondManager); + when(mWifiInjector.getWifiNative()).thenReturn(mWifiNative); + + when(mWifiNative.getClientInterfaceNames()).thenReturn(mWifiClientInterfaceNames); + mWifiP2pGroupList.add( createP2pGroup(1, "testGroup1", "passphrase", true, "aa:bb:cc:dd:ee:f0")); mWifiP2pGroupList.add( @@ -423,6 +443,10 @@ public class WifiP2pNativeTest extends WifiBaseTest { .build(); assertTrue(mWifiP2pNative.p2pGroupAdd(config, true)); + for (String intf: mWifiClientInterfaceNames) { + verify(mWifiCondManager).abortScan(eq(intf)); + } + verify(mSupplicantP2pIfaceHalMock).groupAdd( eq(TEST_NETWORK_NAME), eq(TEST_PASSPHRASE), |