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

Commit f5aadcaa authored by Tony Huang's avatar Tony Huang
Browse files

Fix flaky test cases and OEM device failed test cases

1. Add NPE check on receiver and fix some logic to fix some flaky tests.
2. Use DEVICE_NAME rather than Build.MODEL to get storage root name.

Bug: 143499864
Test: atest DocumentsUIGoogleTests
Change-Id: I71d934c593560a7822d6fe7523b92c227c738e22
Merged-In: I71d934c593560a7822d6fe7523b92c227c738e22
parent b55034da
Loading
Loading
Loading
Loading
+17 −8
Original line number Diff line number Diff line
@@ -26,7 +26,6 @@ import android.content.Intent;
import android.content.IntentFilter;
import android.content.res.Resources;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.os.RemoteException;
import android.os.SystemClock;
@@ -78,9 +77,11 @@ public class FileCopyUiTest extends ActivityTest<FilesActivity> {
                    mErrorReason = intent.getStringExtra(
                            TestNotificationService.EXTRA_ERROR_REASON);
                }
                if (mCountDownLatch != null) {
                    mCountDownLatch.countDown();
                }
            }
        }
    };

    private CountDownLatch mCountDownLatch;
@@ -101,6 +102,8 @@ public class FileCopyUiTest extends ActivityTest<FilesActivity> {

    private int mPreTestStayAwakeValue;

    private String mDeviceLabel;

    public FileCopyUiTest() {
        super(FilesActivity.class);
    }
@@ -124,6 +127,11 @@ public class FileCopyUiTest extends ActivityTest<FilesActivity> {
                Settings.Global.STAY_ON_WHILE_PLUGGED_IN);
        device.executeShellCommand("settings put global stay_on_while_plugged_in 3");

        mDeviceLabel = Settings.Global.getString(context.getContentResolver(),
                Settings.Global.DEVICE_NAME);
        // If null or empty, use default name.
        mDeviceLabel = TextUtils.isEmpty(mDeviceLabel) ? "Internal Storage" : mDeviceLabel;

        // If Internal Storage is not shown, turn on.
        State state = ((FilesActivity) getActivity()).getDisplayState();
        if (!state.showAdvanced) {
@@ -161,7 +169,7 @@ public class FileCopyUiTest extends ActivityTest<FilesActivity> {
    @Override
    public void tearDown() throws Exception {
        // Delete created files
        deleteDocuments(Build.MODEL);
        deleteDocuments(mDeviceLabel);
        deleteDocuments(mSdCardLabel);

        if (mIsVirtualSdCard) {
@@ -172,6 +180,7 @@ public class FileCopyUiTest extends ActivityTest<FilesActivity> {
                + mPreTestStayAwakeValue);

        context.unregisterReceiver(mReceiver);
        mCountDownLatch = null;
        try {
            bots.notifications.setNotificationAccess(getActivity(), false);
        } catch (Exception e) {
@@ -389,24 +398,24 @@ public class FileCopyUiTest extends ActivityTest<FilesActivity> {
    @HugeLongTest
    public void testCopyDocuments_FromSdCard() throws Exception {
        createDocuments(mSdCardLabel, mSdCardRoot, mStorageDocsHelper);
        copyFiles(mSdCardLabel, Build.MODEL);
        copyFiles(mSdCardLabel, mDeviceLabel);

        // Check that original folder exists
        bots.roots.openRoot(mSdCardLabel);
        bots.directory.assertDocumentsPresent(TARGET_FOLDER);

        // Check that copied files exist
        assertFilesCopied(Build.MODEL, mPrimaryRoot, mStorageDocsHelper);
        assertFilesCopied(mDeviceLabel, mPrimaryRoot, mStorageDocsHelper);
    }

    // Copy Internal Storage -> SD Card //
    @HugeLongTest
    public void testCopyDocuments_ToSdCard() throws Exception {
        createDocuments(Build.MODEL, mPrimaryRoot, mStorageDocsHelper);
        copyFiles(Build.MODEL, mSdCardLabel);
        createDocuments(mDeviceLabel, mPrimaryRoot, mStorageDocsHelper);
        copyFiles(mDeviceLabel, mSdCardLabel);

        // Check that original folder exists
        bots.roots.openRoot(Build.MODEL);
        bots.roots.openRoot(mDeviceLabel);
        bots.directory.assertDocumentsPresent(TARGET_FOLDER);

        // Check that copied files exist
+4 −4
Original line number Diff line number Diff line
@@ -66,9 +66,11 @@ public class FileDeleteUiTest extends ActivityTest<FilesActivity> {
                    mErrorReason = intent.getStringExtra(
                            TestNotificationService.EXTRA_ERROR_REASON);
                }
                if (mCountDownLatch != null) {
                    mCountDownLatch.countDown();
                }
            }
        }
    };

    private CountDownLatch mCountDownLatch;
@@ -111,10 +113,8 @@ public class FileDeleteUiTest extends ActivityTest<FilesActivity> {

    @Override
    public void tearDown() throws Exception {
        mCountDownLatch.countDown();
        mCountDownLatch = null;

        context.unregisterReceiver(mReceiver);
        mCountDownLatch = null;
        try {
            bots.notifications.setNotificationAccess(getActivity(), false);
        } catch (Exception e) {