Merge "Fix WiFi test:" into jb-mr1.1-dev
This commit is contained in:
@ -60,13 +60,14 @@ public class ConnectivityManagerTestActivity extends Activity {
|
|||||||
|
|
||||||
public static final String LOG_TAG = "ConnectivityManagerTestActivity";
|
public static final String LOG_TAG = "ConnectivityManagerTestActivity";
|
||||||
public static final int WAIT_FOR_SCAN_RESULT = 10 * 1000; //10 seconds
|
public static final int WAIT_FOR_SCAN_RESULT = 10 * 1000; //10 seconds
|
||||||
public static final int WIFI_SCAN_TIMEOUT = 50 * 1000;
|
public static final int WIFI_SCAN_TIMEOUT = 50 * 1000; // 50 seconds
|
||||||
public static final int SHORT_TIMEOUT = 5 * 1000;
|
public static final int SHORT_TIMEOUT = 5 * 1000; // 5 seconds
|
||||||
public static final long LONG_TIMEOUT = 50 * 1000;
|
public static final long LONG_TIMEOUT = 50 * 1000; // 50 seconds
|
||||||
|
public static final long WIFI_CONNECTION_TIMEOUT = 5 * 60 * 1000; // 5 minutes
|
||||||
// 2 minutes timer between wifi stop and start
|
// 2 minutes timer between wifi stop and start
|
||||||
public static final long WIFI_STOP_START_INTERVAL = 2 * 60 * 1000;
|
public static final long WIFI_STOP_START_INTERVAL = 2 * 60 * 1000; // 2 minutes
|
||||||
// Set ping test timer to be 3 minutes
|
// Set ping test timer to be 3 minutes
|
||||||
public static final long PING_TIMER = 3 * 60 *1000;
|
public static final long PING_TIMER = 3 * 60 *1000; // 3 minutes
|
||||||
public static final int SUCCESS = 0; // for Wifi tethering state change
|
public static final int SUCCESS = 0; // for Wifi tethering state change
|
||||||
public static final int FAILURE = 1;
|
public static final int FAILURE = 1;
|
||||||
public static final int INIT = -1;
|
public static final int INIT = -1;
|
||||||
@ -573,7 +574,7 @@ public class ConnectivityManagerTestActivity extends Activity {
|
|||||||
String ssid = config.SSID;
|
String ssid = config.SSID;
|
||||||
config.SSID = convertToQuotedString(ssid);
|
config.SSID = convertToQuotedString(ssid);
|
||||||
|
|
||||||
//If Wifi is not enabled, enable it
|
// If Wifi is not enabled, enable it
|
||||||
if (!mWifiManager.isWifiEnabled()) {
|
if (!mWifiManager.isWifiEnabled()) {
|
||||||
log("Wifi is not enabled, enable it");
|
log("Wifi is not enabled, enable it");
|
||||||
mWifiManager.setWifiEnabled(true);
|
mWifiManager.setWifiEnabled(true);
|
||||||
@ -584,17 +585,7 @@ public class ConnectivityManagerTestActivity extends Activity {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean foundApInScanResults = false;
|
// Save network configuration and connect to network without scanning
|
||||||
for (int retry = 0; retry < 5; retry++) {
|
|
||||||
List<ScanResult> netList = mWifiManager.getScanResults();
|
|
||||||
if (netList != null) {
|
|
||||||
log("size of scan result list: " + netList.size());
|
|
||||||
for (int i = 0; i < netList.size(); i++) {
|
|
||||||
ScanResult sr= netList.get(i);
|
|
||||||
if (sr.SSID.equals(ssid)) {
|
|
||||||
log("found " + ssid + " in the scan result list");
|
|
||||||
log("retry: " + retry);
|
|
||||||
foundApInScanResults = true;
|
|
||||||
mWifiManager.connect(config,
|
mWifiManager.connect(config,
|
||||||
new WifiManager.ActionListener() {
|
new WifiManager.ActionListener() {
|
||||||
public void onSuccess() {
|
public void onSuccess() {
|
||||||
@ -603,40 +594,7 @@ public class ConnectivityManagerTestActivity extends Activity {
|
|||||||
log("connect failure " + reason);
|
log("connect failure " + reason);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (foundApInScanResults) {
|
|
||||||
return true;
|
return true;
|
||||||
} else {
|
|
||||||
// Start an active scan
|
|
||||||
mWifiManager.startScanActive();
|
|
||||||
mScanResultIsAvailable = false;
|
|
||||||
long startTime = System.currentTimeMillis();
|
|
||||||
while (!mScanResultIsAvailable) {
|
|
||||||
if ((System.currentTimeMillis() - startTime) > WIFI_SCAN_TIMEOUT) {
|
|
||||||
log("wait for scan results timeout");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
// wait for the scan results to be available
|
|
||||||
synchronized (this) {
|
|
||||||
// wait for the scan result to be available
|
|
||||||
try {
|
|
||||||
this.wait(WAIT_FOR_SCAN_RESULT);
|
|
||||||
} catch (InterruptedException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
if ((mWifiManager.getScanResults() == null) ||
|
|
||||||
(mWifiManager.getScanResults().size() <= 0)) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
mScanResultIsAvailable = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -184,7 +184,7 @@ public class ConnectivityManagerMobileTest extends
|
|||||||
ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
||||||
log("wifi state is enabled");
|
log("wifi state is enabled");
|
||||||
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
|
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
|
||||||
ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
ConnectivityManagerTestActivity.WIFI_CONNECTION_TIMEOUT));
|
||||||
if (!mWifiOnlyFlag) {
|
if (!mWifiOnlyFlag) {
|
||||||
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_MOBILE,
|
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_MOBILE,
|
||||||
State.DISCONNECTED, ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
State.DISCONNECTED, ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
||||||
@ -217,7 +217,7 @@ public class ConnectivityManagerMobileTest extends
|
|||||||
assertTrue(cmActivity.waitForWifiState(WifiManager.WIFI_STATE_ENABLED,
|
assertTrue(cmActivity.waitForWifiState(WifiManager.WIFI_STATE_ENABLED,
|
||||||
ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
||||||
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
|
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
|
||||||
ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
ConnectivityManagerTestActivity.WIFI_CONNECTION_TIMEOUT));
|
||||||
|
|
||||||
sleep(ConnectivityManagerTestActivity.SHORT_TIMEOUT);
|
sleep(ConnectivityManagerTestActivity.SHORT_TIMEOUT);
|
||||||
// Disable Wifi
|
// Disable Wifi
|
||||||
@ -257,7 +257,7 @@ public class ConnectivityManagerMobileTest extends
|
|||||||
|
|
||||||
// Wait for Wifi to be connected and mobile to be disconnected
|
// Wait for Wifi to be connected and mobile to be disconnected
|
||||||
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
|
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
|
||||||
ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
ConnectivityManagerTestActivity.WIFI_CONNECTION_TIMEOUT));
|
||||||
if (!mWifiOnlyFlag) {
|
if (!mWifiOnlyFlag) {
|
||||||
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_MOBILE,
|
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_MOBILE,
|
||||||
State.DISCONNECTED, ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
State.DISCONNECTED, ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
||||||
@ -282,7 +282,7 @@ public class ConnectivityManagerMobileTest extends
|
|||||||
cmActivity.connectToWifi(mTestAccessPoint));
|
cmActivity.connectToWifi(mTestAccessPoint));
|
||||||
|
|
||||||
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
|
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
|
||||||
ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
ConnectivityManagerTestActivity.WIFI_CONNECTION_TIMEOUT));
|
||||||
|
|
||||||
// Wait for a few seconds to avoid the state that both Mobile and Wifi is connected
|
// Wait for a few seconds to avoid the state that both Mobile and Wifi is connected
|
||||||
sleep(ConnectivityManagerTestActivity.SHORT_TIMEOUT);
|
sleep(ConnectivityManagerTestActivity.SHORT_TIMEOUT);
|
||||||
@ -420,7 +420,7 @@ public class ConnectivityManagerMobileTest extends
|
|||||||
assertTrue("failed to connect to " + mTestAccessPoint,
|
assertTrue("failed to connect to " + mTestAccessPoint,
|
||||||
cmActivity.connectToWifi(mTestAccessPoint));
|
cmActivity.connectToWifi(mTestAccessPoint));
|
||||||
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
|
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
|
||||||
ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
ConnectivityManagerTestActivity.WIFI_CONNECTION_TIMEOUT));
|
||||||
|
|
||||||
// validate state and broadcast
|
// validate state and broadcast
|
||||||
if (!cmActivity.validateNetworkStates(ConnectivityManager.TYPE_WIFI)) {
|
if (!cmActivity.validateNetworkStates(ConnectivityManager.TYPE_WIFI)) {
|
||||||
@ -454,7 +454,7 @@ public class ConnectivityManagerMobileTest extends
|
|||||||
cmActivity.connectToWifi(mTestAccessPoint));
|
cmActivity.connectToWifi(mTestAccessPoint));
|
||||||
|
|
||||||
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
|
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
|
||||||
ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
ConnectivityManagerTestActivity.WIFI_CONNECTION_TIMEOUT));
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Thread.sleep(ConnectivityManagerTestActivity.SHORT_TIMEOUT);
|
Thread.sleep(ConnectivityManagerTestActivity.SHORT_TIMEOUT);
|
||||||
@ -484,7 +484,7 @@ public class ConnectivityManagerMobileTest extends
|
|||||||
cmActivity.setAirplaneMode(getInstrumentation().getContext(), false);
|
cmActivity.setAirplaneMode(getInstrumentation().getContext(), false);
|
||||||
|
|
||||||
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
|
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
|
||||||
ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
ConnectivityManagerTestActivity.WIFI_CONNECTION_TIMEOUT));
|
||||||
if (!mWifiOnlyFlag) {
|
if (!mWifiOnlyFlag) {
|
||||||
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_MOBILE,
|
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_MOBILE,
|
||||||
State.DISCONNECTED, ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
State.DISCONNECTED, ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
||||||
@ -509,7 +509,7 @@ public class ConnectivityManagerMobileTest extends
|
|||||||
assertTrue(cmActivity.waitForWifiState(WifiManager.WIFI_STATE_ENABLED,
|
assertTrue(cmActivity.waitForWifiState(WifiManager.WIFI_STATE_ENABLED,
|
||||||
ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
||||||
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
|
assertTrue(cmActivity.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
|
||||||
ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
ConnectivityManagerTestActivity.WIFI_CONNECTION_TIMEOUT));
|
||||||
assertNotNull("Not associated with any AP",
|
assertNotNull("Not associated with any AP",
|
||||||
cmActivity.mWifiManager.getConnectionInfo().getBSSID());
|
cmActivity.mWifiManager.getConnectionInfo().getBSSID());
|
||||||
|
|
||||||
|
@ -118,7 +118,7 @@ public class WifiConnectionTest
|
|||||||
|
|
||||||
// step 2: verify Wifi state and network state;
|
// step 2: verify Wifi state and network state;
|
||||||
assertTrue(mAct.waitForNetworkState(ConnectivityManager.TYPE_WIFI,
|
assertTrue(mAct.waitForNetworkState(ConnectivityManager.TYPE_WIFI,
|
||||||
State.CONNECTED, 6 * ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
State.CONNECTED, ConnectivityManagerTestActivity.WIFI_CONNECTION_TIMEOUT));
|
||||||
|
|
||||||
// step 3: verify the current connected network is the given SSID
|
// step 3: verify the current connected network is the given SSID
|
||||||
assertNotNull("Wifi connection returns null", mAct.mWifiManager.getConnectionInfo());
|
assertNotNull("Wifi connection returns null", mAct.mWifiManager.getConnectionInfo());
|
||||||
|
@ -248,7 +248,7 @@ public class WifiStressTest
|
|||||||
assertTrue(mAct.waitForWifiState(WifiManager.WIFI_STATE_ENABLED,
|
assertTrue(mAct.waitForWifiState(WifiManager.WIFI_STATE_ENABLED,
|
||||||
ConnectivityManagerTestActivity.SHORT_TIMEOUT));
|
ConnectivityManagerTestActivity.SHORT_TIMEOUT));
|
||||||
assertTrue(mAct.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
|
assertTrue(mAct.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
|
||||||
ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
ConnectivityManagerTestActivity.WIFI_CONNECTION_TIMEOUT));
|
||||||
// Run ping test to verify the data connection
|
// Run ping test to verify the data connection
|
||||||
assertTrue("Wi-Fi is connected, but no data connection.", mAct.pingTest(null));
|
assertTrue("Wi-Fi is connected, but no data connection.", mAct.pingTest(null));
|
||||||
|
|
||||||
@ -302,7 +302,7 @@ public class WifiStressTest
|
|||||||
ConnectivityManagerTestActivity.SHORT_TIMEOUT));
|
ConnectivityManagerTestActivity.SHORT_TIMEOUT));
|
||||||
assertTrue("Wait for Wi-Fi connection timeout after wake up",
|
assertTrue("Wait for Wi-Fi connection timeout after wake up",
|
||||||
mAct.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
|
mAct.waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
|
||||||
6 * ConnectivityManagerTestActivity.LONG_TIMEOUT));
|
ConnectivityManagerTestActivity.WIFI_CONNECTION_TIMEOUT));
|
||||||
long connectionTime = System.currentTimeMillis() - startTime;
|
long connectionTime = System.currentTimeMillis() - startTime;
|
||||||
sum += connectionTime;
|
sum += connectionTime;
|
||||||
log("average reconnection time is: " + sum/(i+1));
|
log("average reconnection time is: " + sum/(i+1));
|
||||||
|
Reference in New Issue
Block a user