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

Commit 63e5d79a authored by Neal Nguyen's avatar Neal Nguyen
Browse files

Fixing some flakiness of some DL Manager tests.

Change-Id: Ie9ad4d20b8f980480ce730c7c95876d0954db8b2
parent 4fc04f16
Loading
Loading
Loading
Loading
+13 −7
Original line number Diff line number Diff line
@@ -66,6 +66,7 @@ public class DownloadManagerBaseTest extends InstrumentationTestCase {
    protected MockWebServer mServer = null;
    protected String mFileType = "text/plain";
    protected Context mContext = null;
    protected MultipleDownloadsCompletedReceiver mReceiver = null;
    protected static final int DEFAULT_FILE_SIZE = 130 * 1024;  // 130kb
    protected static final int FILE_BLOCK_READ_SIZE = 1024 * 1024;

@@ -131,7 +132,9 @@ public class DownloadManagerBaseTest extends InstrumentationTestCase {
         */
        @Override
        public void onReceive(Context context, Intent intent) {
            Log.i(LOG_TAG, "Received Notification:");
            if (intent.getAction().equalsIgnoreCase(DownloadManager.ACTION_DOWNLOAD_COMPLETE)) {
                synchronized(this) {
                    ++mNumDownloadsCompleted;
                    Log.i(LOG_TAG, "MultipleDownloadsCompletedReceiver got intent: " +
                            intent.getAction() + " --> total count: " + mNumDownloadsCompleted);
@@ -139,6 +142,7 @@ public class DownloadManagerBaseTest extends InstrumentationTestCase {
                    downloadIds.add(new Long(extras.getLong(DownloadManager.EXTRA_DOWNLOAD_ID)));
                }
            }
        }

        /**
         * Gets the number of times the {@link #onReceive} callback has been called for the
@@ -212,6 +216,7 @@ public class DownloadManagerBaseTest extends InstrumentationTestCase {
        mContext = getInstrumentation().getContext();
        mDownloadManager = (DownloadManager)mContext.getSystemService(Context.DOWNLOAD_SERVICE);
        mServer = new MockWebServer();
        mReceiver = registerNewMultipleDownloadsReceiver();
        // Note: callers overriding this should call mServer.play() with the desired port #
    }

@@ -712,8 +717,9 @@ public class DownloadManagerBaseTest extends InstrumentationTestCase {
            Cursor cursor = mDownloadManager.query(query);

            try {
                // If we've finished the downloads then we're done
                if (cursor.getCount() == 0) {
                // @TODO: there may be a little cleaner way to check for success, perhaps
                // via STATUS_SUCCESSFUL and/or STATUS_FAILED
                if (cursor.getCount() == 0 && mReceiver.numDownloadsCompleted() > 0) {
                    break;
                }
                currentWaitTime = timeoutWait(currentWaitTime, poll, timeoutMillis,
+2 −3
Original line number Diff line number Diff line
@@ -61,7 +61,6 @@ public class DownloadManagerIntegrationTest extends DownloadManagerBaseTest {
            Environment.getRootDirectory().getAbsolutePath();
    private final static String CACHE_DIR =
            Environment.getDownloadCacheDirectory().getAbsolutePath();
    protected MultipleDownloadsCompletedReceiver mReceiver = null;

    /**
     * {@inheritDoc}
@@ -72,7 +71,6 @@ public class DownloadManagerIntegrationTest extends DownloadManagerBaseTest {
        setWiFiStateOn(true);
        mServer.play();
        removeAllCurrentDownloads();
        mReceiver = registerNewMultipleDownloadsReceiver();
    }

    /**
@@ -270,7 +268,7 @@ public class DownloadManagerIntegrationTest extends DownloadManagerBaseTest {
            try {
                verifyInt(cursor, DownloadManager.COLUMN_STATUS, DownloadManager.STATUS_FAILED);
                verifyInt(cursor, DownloadManager.COLUMN_REASON,
                        DownloadManager.ERROR_FILE_ERROR);
                        DownloadManager.ERROR_FILE_ALREADY_EXISTS);
            } finally {
                cursor.close();
            }
@@ -429,6 +427,7 @@ public class DownloadManagerIntegrationTest extends DownloadManagerBaseTest {
                }
            }

            Log.i(LOG_TAG, "Done creating filler file.");
            assertTrue(DOWNLOAD_FILE_SIZE > (fs.getAvailableBlocks() * blockSize));
            byte[] blobData = generateData(DOWNLOAD_FILE_SIZE, DataType.TEXT);
            long dlRequest = doBasicDownload(blobData);