Fixed IndexOutofBoundException, improved how memory information is captured (run GC first)
diff --git a/tests/DumpRenderTree/src/com/android/dumprendertree/LayoutTestsAutoTest.java b/tests/DumpRenderTree/src/com/android/dumprendertree/LayoutTestsAutoTest.java
index caef861..f169a26 100644
--- a/tests/DumpRenderTree/src/com/android/dumprendertree/LayoutTestsAutoTest.java
+++ b/tests/DumpRenderTree/src/com/android/dumprendertree/LayoutTestsAutoTest.java
@@ -223,7 +223,10 @@
     }
     
     private String getExpectedResultFile(String test) {
-        String shortName = test.substring(0, test.lastIndexOf('.'));
+        int pos = test.lastIndexOf('.');
+        if(pos == -1)
+            return null;
+        String shortName = test.substring(0, pos);
         return shortName + "-expected.txt";          
     }
 
@@ -303,6 +306,10 @@
         });
 
         String resultFile = getResultFile(test);
+        if(resultFile == null) {
+            //simply ignore this test
+            return;
+        }
         if (mRebaselineResults) {
             String expectedResultFile = getExpectedResultFile(test);
             File f = new File(expectedResultFile);
diff --git a/tests/DumpRenderTree/src/com/android/dumprendertree/LoadTestsAutoTest.java b/tests/DumpRenderTree/src/com/android/dumprendertree/LoadTestsAutoTest.java
index 81cf3a8..c792e8e 100644
--- a/tests/DumpRenderTree/src/com/android/dumprendertree/LoadTestsAutoTest.java
+++ b/tests/DumpRenderTree/src/com/android/dumprendertree/LoadTestsAutoTest.java
@@ -69,11 +69,14 @@
 
         TestShellActivity activity = (TestShellActivity) getActivity();
 
+        Log.v(LOGTAG, "About to run tests, calling gc first...");
+        Runtime.getRuntime().runFinalization();
+        Runtime.getRuntime().gc();
+        Runtime.getRuntime().gc();
+
         // Run tests
         runTestAndWaitUntilDone(activity, runner.mTestPath, runner.mTimeoutInMillis);
 
-        // TODO(fqian): let am instrumentation pass in the command line, currently
-        // am instrument does not allow spaces in the command.
         dumpMemoryInfo();
 
         // Kill activity
@@ -82,6 +85,11 @@
 
     private void dumpMemoryInfo() {
         try {
+            Log.v(LOGTAG, "About to dump meminfo, calling gc first...");
+            Runtime.getRuntime().runFinalization();
+            Runtime.getRuntime().gc();
+            Runtime.getRuntime().gc();
+
             Log.v(LOGTAG, "Dumping memory information.");
 
             FileOutputStream out = new FileOutputStream(LOAD_TEST_RESULT, true);