Do not output XFAIL/XPASS.

The parser for treehugger does not understand these output values and
they are hard to understand.

Also, add a list description to make it clear what tests are failing and
why.

Test: Unit tests pass.
Test: Verify that bionic unit tests pass in treehugger.
Change-Id: I7911f96c5e7f9270ea97038435502bbd79d65d66
diff --git a/Isolate.h b/Isolate.h
index a0d7891..fc5166a 100644
--- a/Isolate.h
+++ b/Isolate.h
@@ -45,6 +45,15 @@
   int Run();
 
  private:
+  struct ResultsType {
+    const char* color;
+    const char* prefix;
+    const char* list_desc;
+    const char* title;
+    bool (*match_func)(const Test&);
+    void (*print_func)(const Options&, const Test&);
+  };
+
   size_t CheckTestsFinished();
 
   void CheckTestsTimeout();
@@ -61,9 +70,7 @@
 
   void PrintFooter(uint64_t elapsed_time_ns);
 
-  void PrintResults(size_t total, const char* color, const char* prefix, const char* title,
-                    std::string* footer, bool (*match_func)(const Test&),
-                    void (*print_func)(const Options&, const Test&));
+  void PrintResults(size_t total, const ResultsType& results, std::string* footer);
 
   void WriteXmlResults(uint64_t elapsed_time_ns, time_t start_time);
 
@@ -71,7 +78,6 @@
     return std::get<0>(test) + std::get<1>(test);
   }
 
- private:
   const Options& options_;
   const std::vector<const char*>& child_args_;
 
@@ -99,6 +105,11 @@
   std::map<size_t, std::unique_ptr<Test>> finished_;
 
   static constexpr useconds_t MIN_USECONDS_WAIT = 1000;
+
+  static ResultsType SlowResults;
+  static ResultsType XpassFailResults;
+  static ResultsType FailResults;
+  static ResultsType TimeoutResults;
 };
 
 }  // namespace gtest_extras