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

Commit cb98a3e6 authored by Steve Block's avatar Steve Block
Browse files

Provide a useful message in DumpRenderTree2 GUI when the host server is not running

Bug: 3010758
Change-Id: Ic62f60d96055e7ad1e475215ca384306cdfa859c
parent 898bfbd8
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -223,10 +223,9 @@ public class FsUtils {
        try {
            return getHttpClient().execute(httpRequest, handler);
        } catch (IOException e) {
            Log.e(LOG_TAG, "url=" + url, e);
            Log.e(LOG_TAG, "getLayoutTestsDirContents(): HTTP GET failed for URL " + url);
            return null;
        }

        return new LinkedList<String>();
    }

    public static void closeInputStream(InputStream inputStream) {
+29 −24
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ import android.os.Message;
import java.io.File;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;

/**
 * A Thread that is responsible for generating a lists of tests to run.
@@ -35,7 +36,7 @@ public class TestsListPreloaderThread extends Thread {
    private FileFilter mFileFilter;

    /**
     * A relative path to the folder with the tests we want to run or particular test.
     * A relative path to the directory with the tests we want to run or particular test.
     * Used up to and including preloadTests().
     */
    private String mRelativePath;
@@ -67,33 +68,36 @@ public class TestsListPreloaderThread extends Thread {
    }

    /**
     * Loads all the tests from the given folders and all the subfolders
     * Loads all the tests from the given directories and all the subdirectories
     * into mTestsList.
     *
     * @param dirRelativePath
     */
    private void loadTestsFromUrl(String dirRelativePath) {
        LinkedList<String> foldersList = new LinkedList<String>();
        foldersList.add(dirRelativePath);
    private void loadTestsFromUrl(String rootRelativePath) {
        LinkedList<String> directoriesList = new LinkedList<String>();
        directoriesList.add(rootRelativePath);

        String relativePath;
        String itemName;
        while (!foldersList.isEmpty()) {
            relativePath = foldersList.removeFirst();
        while (!directoriesList.isEmpty()) {
            relativePath = directoriesList.removeFirst();

            for (String folderRelativePath : FsUtils.getLayoutTestsDirContents(relativePath,
                    false, true)) {
                itemName = new File(folderRelativePath).getName();
            List<String> dirRelativePaths = FsUtils.getLayoutTestsDirContents(relativePath, false, true);
            if (dirRelativePaths != null) {
                for (String dirRelativePath : dirRelativePaths) {
                    itemName = new File(dirRelativePath).getName();
                    if (FileFilter.isTestDir(itemName)) {
                    foldersList.add(folderRelativePath);
                        directoriesList.add(dirRelativePath);
                    }
                }
            }

            for (String testRelativePath : FsUtils.getLayoutTestsDirContents(relativePath,
                    false, false)) {
            List<String> testRelativePaths = FsUtils.getLayoutTestsDirContents(relativePath, false, false);
            if (testRelativePaths != null) {
                for (String testRelativePath : testRelativePaths) {
                    itemName = new File(testRelativePath).getName();
                    if (FileFilter.isTestFile(itemName)) {
                    /** We chose to skip all the tests that are expected to crash. */
                        /** We choose to skip all the tests that are expected to crash. */
                        if (!mFileFilter.isCrash(testRelativePath)) {
                            mTestsList.add(testRelativePath);
                        } else {
@@ -107,3 +111,4 @@ public class TestsListPreloaderThread extends Thread {
            }
        }
    }
}
+22 −7
Original line number Diff line number Diff line
@@ -45,6 +45,7 @@ import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;

import java.io.File;
import java.util.ArrayList;
@@ -69,6 +70,9 @@ public class DirListActivity extends ListActivity {
    private static final int MSG_LOADED_ITEMS = 0;
    private static final int MSG_SHOW_PROGRESS_DIALOG = 1;

    private static final CharSequence NO_RESPONSE_MESSAGE =
            "No response from host when getting directory contents. Is the host server running?";

    /** Initialized lazily before first sProgressDialog.show() */
    private static ProgressDialog sProgressDialog;

@@ -349,13 +353,18 @@ public class DirListActivity extends ListActivity {
            @Override
            public void handleMessage(Message msg) {
                if (msg.what == MSG_LOADED_ITEMS) {
                    setListAdapter(new DirListAdapter(DirListActivity.this,
                            (ListItem[])msg.obj));
                    delayedDialogHandler.removeMessages(MSG_SHOW_PROGRESS_DIALOG);
                    setTitle(shortenTitle(mCurrentDirPath));
                    delayedDialogHandler.removeMessages(MSG_SHOW_PROGRESS_DIALOG);
                    if (sProgressDialog != null) {
                        sProgressDialog.dismiss();
                    }
                    if (msg.obj == null) {
                        Toast.makeText(DirListActivity.this, NO_RESPONSE_MESSAGE,
                                Toast.LENGTH_LONG).show();
                    } else {
                        setListAdapter(new DirListAdapter(DirListActivity.this,
                                (ListItem[])msg.obj));
                    }
                }
            }
        }).start();
@@ -389,15 +398,21 @@ public class DirListActivity extends ListActivity {
        List<ListItem> subDirs = new ArrayList<ListItem>();
        List<ListItem> subFiles = new ArrayList<ListItem>();

        for (String dirRelativePath : FsUtils.getLayoutTestsDirContents(dirPath, false,
                true)) {
        List<String> dirRelativePaths = FsUtils.getLayoutTestsDirContents(dirPath, false, true);
        if (dirRelativePaths == null) {
            return null;
        }
        for (String dirRelativePath : dirRelativePaths) {
            if (FileFilter.isTestDir(new File(dirRelativePath).getName())) {
                subDirs.add(new ListItem(dirRelativePath, true));
            }
        }

        for (String testRelativePath : FsUtils.getLayoutTestsDirContents(dirPath, false,
                false)) {
        List<String> testRelativePaths = FsUtils.getLayoutTestsDirContents(dirPath, false, false);
        if (testRelativePaths == null) {
            return null;
        }
        for (String testRelativePath : testRelativePaths) {
            if (FileFilter.isTestFile(new File(testRelativePath).getName())) {
                subFiles.add(new ListItem(testRelativePath, false));
            }