<rdar://problem/13228487>
A test case for the performance of some LLDB formatters
Changes and improvements to the testing infrastructure itself
llvm-svn: 177100
diff --git a/lldb/tools/lldb-perf/lib/Metric.cpp b/lldb/tools/lldb-perf/lib/Metric.cpp
index 885413f..3791dd3 100644
--- a/lldb/tools/lldb-perf/lib/Metric.cpp
+++ b/lldb/tools/lldb-perf/lib/Metric.cpp
@@ -19,8 +19,9 @@
{}
template <class T>
-Metric<T>::Metric (const char* n) :
+Metric<T>::Metric (const char* n, const char* d) :
m_name(n ? n : ""),
+m_description(d ? d : ""),
m_dataset ()
{}
@@ -63,10 +64,18 @@
}
template <class T>
+const char*
+Metric<T>::description ()
+{
+ return m_description.c_str();
+}
+
+template <class T>
void Metric<T>::WriteImpl (CFCMutableArray& parent, identity<double>)
{
CFCMutableDictionary dict;
- dict.AddValueCString(CFCString("name").get(),m_name.c_str(), true);
+ dict.AddValueCString(CFCString("name").get(),name(), true);
+ dict.AddValueCString(CFCString("description").get(),description(), true);
dict.AddValueDouble(CFCString("value").get(),this->average(), true);
parent.AppendValue(dict.get(), true);
}
@@ -75,7 +84,8 @@
void Metric<T>::WriteImpl (CFCMutableArray& parent, identity<mach_vm_size_t>)
{
CFCMutableDictionary dict;
- dict.AddValueCString(CFCString("name").get(),m_name.c_str(), true);
+ dict.AddValueCString(CFCString("name").get(),name(), true);
+ dict.AddValueCString(CFCString("description").get(),description(), true);
dict.AddValueUInt64(CFCString("value").get(),this->average(), true);
parent.AppendValue(dict.get(), true);
}