summaryrefslogtreecommitdiffstats
path: root/core/tests
diff options
context:
space:
mode:
authorNeal Nguyen <tommyn@google.com>2010-10-20 17:43:15 -0700
committerNeal Nguyen <tommyn@google.com>2010-11-01 17:00:17 -0700
commitbd06f02d02e07ca15e420ee9e50e35253646ba64 (patch)
tree33a6cdb3726103899ef4f8f47d4855130e14b9a5 /core/tests
parenta7fda21c8298d8f316564280d702206147207005 (diff)
downloadframeworks_base-bd06f02d02e07ca15e420ee9e50e35253646ba64.zip
frameworks_base-bd06f02d02e07ca15e420ee9e50e35253646ba64.tar.gz
frameworks_base-bd06f02d02e07ca15e420ee9e50e35253646ba64.tar.bz2
Cleaning up some more flakiness in DownloadManager tests.
A couple of logic fixes (synchronization, poll time), and adding a little more test logging info. Change-Id: I8da71f87fd1e211913f84ec517762dca81f87292
Diffstat (limited to 'core/tests')
-rw-r--r--core/tests/coretests/src/android/app/DownloadManagerBaseTest.java7
-rw-r--r--core/tests/coretests/src/android/app/DownloadManagerStressTest.java10
2 files changed, 11 insertions, 6 deletions
diff --git a/core/tests/coretests/src/android/app/DownloadManagerBaseTest.java b/core/tests/coretests/src/android/app/DownloadManagerBaseTest.java
index 340137c..8df37ad 100644
--- a/core/tests/coretests/src/android/app/DownloadManagerBaseTest.java
+++ b/core/tests/coretests/src/android/app/DownloadManagerBaseTest.java
@@ -83,6 +83,7 @@ public class DownloadManagerBaseTest extends InstrumentationTestCase {
protected static final int WAIT_FOR_DOWNLOAD_POLL_TIME = 1 * 1000; // 1 second
protected static final int MAX_WAIT_FOR_DOWNLOAD_TIME = 5 * 60 * 1000; // 5 minutes
+ protected static final int MAX_WAIT_FOR_LARGE_DOWNLOAD_TIME = 15 * 60 * 1000; // 15 minutes
// Just a few popular file types used to return from a download
protected enum DownloadFileType {
@@ -180,7 +181,7 @@ public class DownloadManagerBaseTest extends InstrumentationTestCase {
* @return A Set<Long> with the ids of the completed downloads.
*/
public Set<Long> getDownloadIds() {
- synchronized(downloadIds) {
+ synchronized(this) {
Set<Long> returnIds = new HashSet<Long>(downloadIds);
return returnIds;
}
@@ -224,6 +225,7 @@ public class DownloadManagerBaseTest extends InstrumentationTestCase {
ConnectivityManager connManager = (ConnectivityManager)mContext.getSystemService(
Context.CONNECTIVITY_SERVICE);
NetworkInfo info = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
+ Log.i(LOG_TAG, "WiFi Connection state is currently: " + info.isConnected());
return info.isConnected();
}
}
@@ -511,6 +513,7 @@ public class DownloadManagerBaseTest extends InstrumentationTestCase {
* @param enable true if it should be enabled, false if it should be disabled
*/
protected void setWiFiStateOn(boolean enable) throws Exception {
+ Log.i(LOG_TAG, "Setting WiFi State to: " + enable);
WifiManager manager = (WifiManager)mContext.getSystemService(Context.WIFI_SERVICE);
manager.setWifiEnabled(enable);
@@ -528,7 +531,7 @@ public class DownloadManagerBaseTest extends InstrumentationTestCase {
while (receiver.getWiFiIsOn() != enable && !timedOut) {
try {
- receiver.wait(DEFAULT_MAX_WAIT_TIME);
+ receiver.wait(DEFAULT_WAIT_POLL_TIME);
if (SystemClock.elapsedRealtime() > timeoutTime) {
timedOut = true;
diff --git a/core/tests/coretests/src/android/app/DownloadManagerStressTest.java b/core/tests/coretests/src/android/app/DownloadManagerStressTest.java
index ddf138f..e0b28d0 100644
--- a/core/tests/coretests/src/android/app/DownloadManagerStressTest.java
+++ b/core/tests/coretests/src/android/app/DownloadManagerStressTest.java
@@ -24,7 +24,6 @@ import android.app.DownloadManager.Request;
import android.database.Cursor;
import android.net.Uri;
import android.os.ParcelFileDescriptor;
-import android.test.suitebuilder.annotation.LargeTest;
import android.util.Log;
@@ -38,6 +37,7 @@ public class DownloadManagerStressTest extends DownloadManagerBaseTest {
public void setUp() throws Exception {
super.setUp();
mServer.play(0);
+ setWiFiStateOn(true);
removeAllCurrentDownloads();
}
@@ -71,7 +71,8 @@ public class DownloadManagerStressTest extends DownloadManagerBaseTest {
}
// wait for the download to complete or timeout
- waitForDownloadsOrTimeout(WAIT_FOR_DOWNLOAD_POLL_TIME, MAX_WAIT_FOR_DOWNLOAD_TIME);
+ waitForDownloadsOrTimeout(WAIT_FOR_DOWNLOAD_POLL_TIME,
+ MAX_WAIT_FOR_LARGE_DOWNLOAD_TIME);
cursor = mDownloadManager.query(new Query());
assertEquals(NUM_FILES, cursor.getCount());
Log.i(LOG_TAG, "Verified number of downloads in download manager is what we expect.");
@@ -130,10 +131,11 @@ public class DownloadManagerStressTest extends DownloadManagerBaseTest {
}
/**
- * Tests trying to download a large file (~300M bytes) when there's not enough space in cache
+ * Tests trying to download a large file (~600M bytes) when there's not enough space in cache
*/
public void testInsufficientSpace() throws Exception {
- long fileSize = 300000000L;
+ // @TODO: Rework this to fill up cache partition with a dynamically calculated size
+ long fileSize = 600000000L;
File largeFile = createFileOnSD(null, fileSize, DataType.TEXT, null);
Cursor cursor = null;