summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteve Block <steveblock@google.com>2010-09-28 12:13:40 +0100
committerSteve Block <steveblock@google.com>2010-09-28 14:34:01 +0100
commitcb98a3e621b7c56d1367a1bf77cd91dae3feb6da (patch)
treefe433d125aba8c6acc03b8a694d39ee2f3a81083
parent898bfbd865496855c3a6c792f9e0da011ae34854 (diff)
downloadframeworks_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
-rw-r--r--tests/DumpRenderTree2/src/com/android/dumprendertree2/FsUtils.java7
-rw-r--r--tests/DumpRenderTree2/src/com/android/dumprendertree2/TestsListPreloaderThread.java53
-rw-r--r--tests/DumpRenderTree2/src/com/android/dumprendertree2/ui/DirListActivity.java29
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));
}