diff options
author | Mia Li <nnia@google.com> | 2022-07-20 09:12:44 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2022-07-20 09:12:44 +0000 |
commit | 0388bdeac65311ae0898285b0e09d91d30c4922d (patch) | |
tree | 8aafb87e1b043de05b54bd520c3c03de3aed7933 | |
parent | 48a5b895394b1bd6dcb6c80854990ff81210575d (diff) | |
parent | c60d4ee26f3aae9e7a91fd9ca39d95583b1fcbf9 (diff) | |
download | cts-0388bdeac65311ae0898285b0e09d91d30c4922d.tar.gz |
Merge "wifi: add wait for P2P state" into tm-mainline-prod
-rw-r--r-- | tests/tests/wifi/src/android/net/wifi/cts/ConcurrencyTest.java | 76 |
1 files changed, 27 insertions, 49 deletions
diff --git a/tests/tests/wifi/src/android/net/wifi/cts/ConcurrencyTest.java b/tests/tests/wifi/src/android/net/wifi/cts/ConcurrencyTest.java index f7322dde5e1..464fb4c40b8 100644 --- a/tests/tests/wifi/src/android/net/wifi/cts/ConcurrencyTest.java +++ b/tests/tests/wifi/src/android/net/wifi/cts/ConcurrencyTest.java @@ -274,6 +274,29 @@ public class ConcurrencyTest extends WifiJUnit3TestBase { new LinkedList<Integer>(Arrays.asList(waitSingleSync))); } + private NetworkInfo.DetailedState waitForNextNetworkState() { + assertTrue(waitForBroadcasts(MySync.NETWORK_INFO)); + assertNotNull(mMySync.expectedNetworkInfo); + return mMySync.expectedNetworkInfo.getDetailedState(); + } + + private boolean waitForConnectedNetworkState() { + // The possible orders of network states are: + // * IDLE > CONNECTING > CONNECTED for lazy initialization + // * DISCONNECTED > CONNECTING > CONNECTED for previous group removal + // * CONNECTING > CONNECTED + NetworkInfo.DetailedState state = waitForNextNetworkState(); + if (state == NetworkInfo.DetailedState.IDLE + || state == NetworkInfo.DetailedState.DISCONNECTED) { + state = waitForNextNetworkState(); + } + if (state != NetworkInfo.DetailedState.CONNECTING) { + return false; + } + state = waitForNextNetworkState(); + return state == NetworkInfo.DetailedState.CONNECTED; + } + private boolean waitForServiceResponse(MyResponse waitResponse) { synchronized (waitResponse) { long timeout = System.currentTimeMillis() + TIMEOUT_MSEC; @@ -508,21 +531,7 @@ public class ConcurrencyTest extends WifiJUnit3TestBase { mWifiP2pManager.createGroup(mWifiP2pChannel, mActionListener); assertTrue(waitForServiceResponse(mMyResponse)); assertTrue(mMyResponse.success); - - // The first network state might be IDLE due to - // lazy initialization, but not CONNECTED. - for (int i = 0; i < 2; i++) { - assertTrue(waitForBroadcasts(MySync.NETWORK_INFO)); - assertNotNull(mMySync.expectedNetworkInfo); - if (NetworkInfo.DetailedState.CONNECTED == - mMySync.expectedNetworkInfo.getDetailedState()) { - break; - } - assertEquals(NetworkInfo.DetailedState.IDLE, - mMySync.expectedNetworkInfo.getDetailedState()); - } - assertEquals(NetworkInfo.DetailedState.CONNECTED, - mMySync.expectedNetworkInfo.getDetailedState()); + assertTrue(waitForConnectedNetworkState()); resetResponse(mMyResponse); mWifiP2pManager.requestNetworkInfo(mWifiP2pChannel, @@ -660,21 +669,7 @@ public class ConcurrencyTest extends WifiJUnit3TestBase { mWifiP2pManager.createGroup(mWifiP2pChannel, mActionListener); assertTrue(waitForServiceResponse(mMyResponse)); assertTrue(mMyResponse.success); - - // The first network state might be IDLE due to - // lazy initialization, but not CONNECTED. - for (int i = 0; i < 2; i++) { - assertTrue(waitForBroadcasts(MySync.NETWORK_INFO)); - assertNotNull(mMySync.expectedNetworkInfo); - if (NetworkInfo.DetailedState.CONNECTED == - mMySync.expectedNetworkInfo.getDetailedState()) { - break; - } - assertEquals(NetworkInfo.DetailedState.IDLE, - mMySync.expectedNetworkInfo.getDetailedState()); - } - assertEquals(NetworkInfo.DetailedState.CONNECTED, - mMySync.expectedNetworkInfo.getDetailedState()); + assertTrue(waitForConnectedNetworkState()); resetResponse(mMyResponse); mWifiP2pManager.removeGroup(mWifiP2pChannel, mActionListener); @@ -707,10 +702,7 @@ public class ConcurrencyTest extends WifiJUnit3TestBase { mWifiP2pManager.createGroup(mWifiP2pChannel, mActionListener); assertTrue(waitForServiceResponse(mMyResponse)); assertTrue(mMyResponse.success); - assertTrue(waitForBroadcasts(MySync.NETWORK_INFO)); - assertNotNull(mMySync.expectedNetworkInfo); - assertEquals(NetworkInfo.DetailedState.CONNECTED, - mMySync.expectedNetworkInfo.getDetailedState()); + assertTrue(waitForConnectedNetworkState()); resetResponse(mMyResponse); mWifiP2pManager.removeGroup(mWifiP2pChannel, mActionListener); @@ -812,21 +804,7 @@ public class ConcurrencyTest extends WifiJUnit3TestBase { mWifiP2pManager.createGroup(mWifiP2pChannel, mActionListener); assertTrue(waitForServiceResponse(mMyResponse)); assertTrue(mMyResponse.success); - - // The first network state might be IDLE due to - // lazy initialization, but not CONNECTED. - for (int i = 0; i < 2; i++) { - assertTrue(waitForBroadcasts(MySync.NETWORK_INFO)); - assertNotNull(mMySync.expectedNetworkInfo); - if (NetworkInfo.DetailedState.CONNECTED - == mMySync.expectedNetworkInfo.getDetailedState()) { - break; - } - assertEquals(NetworkInfo.DetailedState.IDLE, - mMySync.expectedNetworkInfo.getDetailedState()); - } - assertEquals(NetworkInfo.DetailedState.CONNECTED, - mMySync.expectedNetworkInfo.getDetailedState()); + assertTrue(waitForConnectedNetworkState()); resetResponse(mMyResponse); MacAddress peerMacAddress = MacAddress.fromString(mTestWifiP2pPeerConfig.deviceAddress); |