summaryrefslogtreecommitdiffstats
path: root/core/tests/ConnectivityManagerTest
diff options
context:
space:
mode:
authorXia Wang <xiaw@google.com>2014-03-03 15:14:08 -0800
committerXia Wang <xiaw@google.com>2014-03-03 15:39:46 -0800
commitdf362d264c5a0204f27da6ee66d741031626c4e5 (patch)
tree2d88fb64fc1621ae635c3707e54826cf3c8ac452 /core/tests/ConnectivityManagerTest
parentd964a746e00c8714758385299d7a2a5c1c204ddf (diff)
downloadframeworks_base-df362d264c5a0204f27da6ee66d741031626c4e5.zip
frameworks_base-df362d264c5a0204f27da6ee66d741031626c4e5.tar.gz
frameworks_base-df362d264c5a0204f27da6ee66d741031626c4e5.tar.bz2
Add timer to wait for screen off
bug#: 13278052 Change-Id: Ic4dc847f3f3fe86750343ffabedb13dbeb4f61a7
Diffstat (limited to 'core/tests/ConnectivityManagerTest')
-rw-r--r--core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/stress/WifiStressTest.java17
1 files changed, 12 insertions, 5 deletions
diff --git a/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/stress/WifiStressTest.java b/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/stress/WifiStressTest.java
index 04ce4b7..91c3093 100644
--- a/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/stress/WifiStressTest.java
+++ b/core/tests/ConnectivityManagerTest/src/com/android/connectivitymanagertest/stress/WifiStressTest.java
@@ -27,6 +27,7 @@ import android.net.wifi.WifiConfiguration.ProxySettings;
import android.net.wifi.WifiManager;
import android.os.Environment;
import android.os.PowerManager;
+import android.os.SystemClock;
import android.provider.Settings;
import android.view.KeyEvent;
import android.test.suitebuilder.annotation.LargeTest;
@@ -52,6 +53,7 @@ public class WifiStressTest
extends ConnectivityManagerTestBase {
private final static String TAG = "WifiStressTest";
+ private final static long SCREEN_OFF_TIMER = 500; //500ms
/**
* Wi-Fi idle time for default sleep policy
*/
@@ -157,11 +159,11 @@ public class WifiStressTest
writeOutput(String.format("average scanning time is %d", averageScanTime));
writeOutput(String.format("ssid appear %d out of %d scan iterations",
ssidAppearInScanResultsCount, i));
- long startTime = System.currentTimeMillis();
+ long startTime = SystemClock.uptimeMillis();
scanResultAvailable = false;
assertTrue("start scan failed", mWifiManager.startScan());
while (true) {
- if ((System.currentTimeMillis() - startTime) >
+ if ((SystemClock.uptimeMillis() - startTime) >
WIFI_SCAN_TIMEOUT) {
fail("Wifi scanning takes more than " + WIFI_SCAN_TIMEOUT + " ms");
}
@@ -172,7 +174,7 @@ public class WifiStressTest
e.printStackTrace();
}
if (scanResultAvailable) {
- long scanTime = (System.currentTimeMillis() - startTime);
+ long scanTime = (SystemClock.uptimeMillis() - startTime);
scanTimeSum += scanTime;
break;
}
@@ -255,8 +257,13 @@ public class WifiStressTest
i, mReconnectIterations));
log("iteration: " + i);
turnScreenOff();
+ // Use clock time since boot for intervals.
+ long start = SystemClock.uptimeMillis();
PowerManager pm =
(PowerManager)mRunner.getContext().getSystemService(Context.POWER_SERVICE);
+ while (pm.isScreenOn() && ((SystemClock.uptimeMillis() - start) < SCREEN_OFF_TIMER)) {
+ sleep(100, "wait for screen off");
+ }
assertFalse(pm.isScreenOn());
sleep(WIFI_IDLE_MS + WIFI_SHUTDOWN_DELAY, "Interruped while wait for wifi to be idle");
assertTrue("Wait for Wi-Fi to idle timeout",
@@ -287,14 +294,14 @@ public class WifiStressTest
mRunner.sendKeyDownUpSync(KeyEvent.KEYCODE_MENU);
// Measure the time for Wi-Fi to get connected
- long startTime = System.currentTimeMillis();
+ long startTime = SystemClock.uptimeMillis();
assertTrue("Wait for Wi-Fi enable timeout after wake up",
waitForWifiState(WifiManager.WIFI_STATE_ENABLED,
SHORT_TIMEOUT));
assertTrue("Wait for Wi-Fi connection timeout after wake up",
waitForNetworkState(ConnectivityManager.TYPE_WIFI, State.CONNECTED,
WIFI_CONNECTION_TIMEOUT));
- long connectionTime = System.currentTimeMillis() - startTime;
+ long connectionTime = SystemClock.uptimeMillis() - startTime;
sum += connectionTime;
log("average reconnection time is: " + sum/(i+1));