Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit af35b8f4 authored by Neal Nguyen's avatar Neal Nguyen Committed by Android Git Automerger
Browse files

am bd06f02d: Cleaning up some more flakiness in DownloadManager tests.

* commit 'bd06f02d':
  Cleaning up some more flakiness in DownloadManager tests.
parents ea8400b4 bd06f02d
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -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;
+6 −4
Original line number Diff line number Diff line
@@ -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;