Misc fixes:
- make an overload of Launch() that takes an init list of const char* if all you need to tweak in the launch info are the command-line arguments
- make Run() return an int that you can use as an exit-code
- make dynamic values work properly when recursing in FetchVariables()
- make the po output more obvious in verbose mode

llvm-svn: 178578
diff --git a/lldb/tools/lldb-perf/lib/TestCase.cpp b/lldb/tools/lldb-perf/lib/TestCase.cpp
index c4b0199..ac8c402 100644
--- a/lldb/tools/lldb-perf/lib/TestCase.cpp
+++ b/lldb/tools/lldb-perf/lib/TestCase.cpp
@@ -117,6 +117,15 @@
     return false;
 }
 
+bool
+TestCase::Launch (std::initializer_list<const char*> args)
+{
+    std::vector<const char*> args_vect(args);
+    args_vect.push_back(NULL);
+    lldb::SBLaunchInfo launch_info((const char**)&args_vect[0]);
+    return Launch(launch_info);
+}
+
 void
 TestCase::SetVerbose (bool b)
 {
@@ -296,7 +305,7 @@
 	if (GetVerbose()) printf("I am gonna die at step %d\n",m_step);
 }
 
-void
+int
 TestCase::Run (TestCase& test, int argc, const char** argv)
 {
     if (test.Setup(argc, argv))
@@ -304,6 +313,9 @@
         test.Loop();
         Results results;
         test.WriteResults(results);
+        return RUN_SUCCESS;
     }
+    else
+        return RUN_SETUP_ERROR;
 }