summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEnrico Granata <egranata@apple.com>2013-04-02 21:31:18 +0000
committerEnrico Granata <egranata@apple.com>2013-04-02 21:31:18 +0000
commit4e969282fd60e439149ac8e58b39eb60495758d8 (patch)
tree8d1b412a78d52d6a1f45ea1e0c6c52a692862a64
parentd83bfce6d48d5f1c99198ce8106129bfd7a4ea2a (diff)
downloadbcm5719-llvm-4e969282fd60e439149ac8e58b39eb60495758d8.tar.gz
bcm5719-llvm-4e969282fd60e439149ac8e58b39eb60495758d8.zip
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
-rw-r--r--lldb/tools/lldb-perf/lib/TestCase.cpp14
-rw-r--r--lldb/tools/lldb-perf/lib/TestCase.h8
-rw-r--r--lldb/tools/lldb-perf/lib/Xcode.cpp4
3 files changed, 22 insertions, 4 deletions
diff --git a/lldb/tools/lldb-perf/lib/TestCase.cpp b/lldb/tools/lldb-perf/lib/TestCase.cpp
index c4b01998c23..ac8c402ac8b 100644
--- a/lldb/tools/lldb-perf/lib/TestCase.cpp
+++ b/lldb/tools/lldb-perf/lib/TestCase.cpp
@@ -117,6 +117,15 @@ TestCase::Launch (lldb::SBLaunchInfo &launch_info)
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 @@ TestCase::Loop ()
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 @@ TestCase::Run (TestCase& test, int argc, const char** argv)
test.Loop();
Results results;
test.WriteResults(results);
+ return RUN_SUCCESS;
}
+ else
+ return RUN_SETUP_ERROR;
}
diff --git a/lldb/tools/lldb-perf/lib/TestCase.h b/lldb/tools/lldb-perf/lib/TestCase.h
index d9a7c9fa8a0..3d2e0e94fbc 100644
--- a/lldb/tools/lldb-perf/lib/TestCase.h
+++ b/lldb/tools/lldb-perf/lib/TestCase.h
@@ -83,6 +83,9 @@ public:
bool
Launch (lldb::SBLaunchInfo &launch_info);
+ bool
+ Launch (std::initializer_list<const char*> args = {});
+
void
Loop();
@@ -113,7 +116,7 @@ public:
return MemoryMeasurement<A> (a,name, description);
}
- static void
+ static int
Run (TestCase& test, int argc, const char** argv);
virtual bool
@@ -158,6 +161,9 @@ public:
return m_step;
}
+ static const int RUN_SUCCESS = 0;
+ static const int RUN_SETUP_ERROR = 100;
+
protected:
lldb::SBDebugger m_debugger;
lldb::SBTarget m_target;
diff --git a/lldb/tools/lldb-perf/lib/Xcode.cpp b/lldb/tools/lldb-perf/lib/Xcode.cpp
index c095ea407c1..7b35e1c8cb5 100644
--- a/lldb/tools/lldb-perf/lib/Xcode.cpp
+++ b/lldb/tools/lldb-perf/lib/Xcode.cpp
@@ -33,7 +33,7 @@ Xcode::FetchVariable (SBValue value, uint32_t expand, bool verbose)
auto count = value.GetNumChildren();
for (int i = 0; i < count; i++)
{
- SBValue child(value.GetChildAtIndex(i,value.IsDynamic() ? lldb::eDynamicCanRunTarget : lldb::eNoDynamicValues, true));
+ SBValue child(value.GetChildAtIndex(i, lldb::eDynamicCanRunTarget, true));
FetchVariable (child,expand-1,verbose);
}
}
@@ -117,7 +117,7 @@ Xcode::RunExpression (SBFrame frame, const char* expression, bool po, bool verbo
{
auto descr = value.GetObjectDescription();
if (descr)
- printf("%s\n",descr);
+ printf("po = %s\n",descr);
}
}
OpenPOWER on IntegriCloud