AI 146743: am: CL 146711 Enhancing the test runner. Now it filters BrokenTests and only executes tests
  annotated with SideEffect if the host is running in single test mode.
  Also adding some cleanup mechanism and some logcat logging about memory consumption
  Original author: ursg
  Merged from: //branches/cupcake/...

Automated import of CL 146743
diff --git a/test-runner/android/test/InstrumentationTestRunner.java b/test-runner/android/test/InstrumentationTestRunner.java
index 044f555..d5e64596 100644
--- a/test-runner/android/test/InstrumentationTestRunner.java
+++ b/test-runner/android/test/InstrumentationTestRunner.java
@@ -43,6 +43,8 @@
 import java.io.PrintStream;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
 
 
 /**
@@ -315,6 +317,8 @@
         } else {
             parseTestClasses(testClassesArg, testSuiteBuilder);
         }
+        
+        testSuiteBuilder.addRequirements(getBuilderRequirements());
 
         mTestRunner = getAndroidTestRunner();
         mTestRunner.setContext(getTargetContext());
@@ -331,6 +335,10 @@
         start();
     }
 
+    List<Predicate<TestMethod>> getBuilderRequirements() {
+        return new ArrayList<Predicate<TestMethod>>();
+    }
+
     /**
      * Parses and loads the specified set of test classes 
      * @param testClassArg - comma-separated list of test classes and methods