diff options
author | Steve Block <steveblock@google.com> | 2010-09-28 12:13:40 +0100 |
---|---|---|
committer | Steve Block <steveblock@google.com> | 2010-09-28 14:34:01 +0100 |
commit | cb98a3e621b7c56d1367a1bf77cd91dae3feb6da (patch) | |
tree | fe433d125aba8c6acc03b8a694d39ee2f3a81083 | |
parent | 898bfbd865496855c3a6c792f9e0da011ae34854 (diff) | |
download | frameworks_base-cb98a3e621b7c56d1367a1bf77cd91dae3feb6da.zip frameworks_base-cb98a3e621b7c56d1367a1bf77cd91dae3feb6da.tar.gz frameworks_base-cb98a3e621b7c56d1367a1bf77cd91dae3feb6da.tar.bz2 |
Provide a useful message in DumpRenderTree2 GUI when the host server is not running
Bug: 3010758
Change-Id: Ic62f60d96055e7ad1e475215ca384306cdfa859c
3 files changed, 54 insertions, 35 deletions
diff --git a/tests/DumpRenderTree2/src/com/android/dumprendertree2/FsUtils.java b/tests/DumpRenderTree2/src/com/android/dumprendertree2/FsUtils.java index 4438811..4f9a737 100644 --- a/tests/DumpRenderTree2/src/com/android/dumprendertree2/FsUtils.java +++ b/tests/DumpRenderTree2/src/com/android/dumprendertree2/FsUtils.java @@ -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) { @@ -248,4 +247,4 @@ public class FsUtils { Log.e(LOG_TAG, "Couldn't close stream!", e); } } -}
\ No newline at end of file +} diff --git a/tests/DumpRenderTree2/src/com/android/dumprendertree2/TestsListPreloaderThread.java b/tests/DumpRenderTree2/src/com/android/dumprendertree2/TestsListPreloaderThread.java index e0f1450..0e7d47a 100644 --- a/tests/DumpRenderTree2/src/com/android/dumprendertree2/TestsListPreloaderThread.java +++ b/tests/DumpRenderTree2/src/com/android/dumprendertree2/TestsListPreloaderThread.java @@ -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,40 +68,44 @@ 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(); - if (FileFilter.isTestDir(itemName)) { - foldersList.add(folderRelativePath); + List<String> dirRelativePaths = FsUtils.getLayoutTestsDirContents(relativePath, false, true); + if (dirRelativePaths != null) { + for (String dirRelativePath : dirRelativePaths) { + itemName = new File(dirRelativePath).getName(); + if (FileFilter.isTestDir(itemName)) { + directoriesList.add(dirRelativePath); + } } } - for (String testRelativePath : FsUtils.getLayoutTestsDirContents(relativePath, - false, false)) { - itemName = new File(testRelativePath).getName(); - if (FileFilter.isTestFile(itemName)) { - /** We chose to skip all the tests that are expected to crash. */ - if (!mFileFilter.isCrash(testRelativePath)) { - mTestsList.add(testRelativePath); - } else { - /** - * TODO: Summarizer is now in service - figure out how to send the info. - * Previously: mSummarizer.addSkippedTest(relativePath); - */ + 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 choose to skip all the tests that are expected to crash. */ + if (!mFileFilter.isCrash(testRelativePath)) { + mTestsList.add(testRelativePath); + } else { + /** + * TODO: Summarizer is now in service - figure out how to send the info. + * Previously: mSummarizer.addSkippedTest(relativePath); + */ + } } } } diff --git a/tests/DumpRenderTree2/src/com/android/dumprendertree2/ui/DirListActivity.java b/tests/DumpRenderTree2/src/com/android/dumprendertree2/ui/DirListActivity.java index 35de88a..5de69a7 100644 --- a/tests/DumpRenderTree2/src/com/android/dumprendertree2/ui/DirListActivity.java +++ b/tests/DumpRenderTree2/src/com/android/dumprendertree2/ui/DirListActivity.java @@ -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)); } |