diff options
author | Neal Nguyen <tommyn@google.com> | 2010-10-20 17:43:15 -0700 |
---|---|---|
committer | Neal Nguyen <tommyn@google.com> | 2010-11-01 17:00:17 -0700 |
commit | bd06f02d02e07ca15e420ee9e50e35253646ba64 (patch) | |
tree | 33a6cdb3726103899ef4f8f47d4855130e14b9a5 /core/tests | |
parent | a7fda21c8298d8f316564280d702206147207005 (diff) | |
download | frameworks_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.java | 7 | ||||
-rw-r--r-- | core/tests/coretests/src/android/app/DownloadManagerStressTest.java | 10 |
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; |