Index: test/cctest/test-cpu-profiler.cc |
diff --git a/test/cctest/test-cpu-profiler.cc b/test/cctest/test-cpu-profiler.cc |
index 2fff4fae02511accc69d01bfca5ce05b4083d293..3f6ed12ae07e1e3aff5eae7a23da7203e1e3478c 100644 |
--- a/test/cctest/test-cpu-profiler.cc |
+++ b/test/cctest/test-cpu-profiler.cc |
@@ -2,6 +2,8 @@ |
// |
// Tests of profiles generator and utilities. |
+#ifdef ENABLE_CPP_PROFILES_PROCESSOR |
+ |
#include "v8.h" |
#include "cpu-profiler-inl.h" |
#include "cctest.h" |
@@ -9,6 +11,7 @@ |
namespace i = v8::internal; |
using i::CodeEntry; |
+using i::CpuProfile; |
using i::CpuProfilesCollection; |
using i::ProfileGenerator; |
using i::ProfileNode; |
@@ -60,7 +63,7 @@ static void EnqueueTickSampleEvent(ProfilerEventsProcessor* proc, |
TEST(CodeEvents) { |
InitializeVM(); |
CpuProfilesCollection profiles; |
- profiles.AddProfile(0); |
+ profiles.StartProfiling("", 1); |
ProfileGenerator generator(&profiles); |
ProfilerEventsProcessor processor(&generator); |
processor.Start(); |
@@ -126,7 +129,7 @@ static int CompareProfileNodes(const T* p1, const T* p2) { |
TEST(TickEvents) { |
CpuProfilesCollection profiles; |
- profiles.AddProfile(0); |
+ profiles.StartProfiling("", 1); |
ProfileGenerator generator(&profiles); |
ProfilerEventsProcessor processor(&generator); |
processor.Start(); |
@@ -152,45 +155,50 @@ TEST(TickEvents) { |
processor.Stop(); |
processor.Join(); |
+ CpuProfile* profile = profiles.StopProfiling(""); |
+ CHECK_NE(NULL, profile); |
// Check call trees. |
- i::List<ProfileNode*> top_down_root_children; |
- profiles.profile()->top_down()->root()->GetChildren(&top_down_root_children); |
- CHECK_EQ(1, top_down_root_children.length()); |
- CHECK_EQ("bbb", top_down_root_children.last()->entry()->name()); |
- i::List<ProfileNode*> top_down_bbb_children; |
- top_down_root_children.last()->GetChildren(&top_down_bbb_children); |
- CHECK_EQ(1, top_down_bbb_children.length()); |
- CHECK_EQ("args_count: 5", top_down_bbb_children.last()->entry()->name()); |
- i::List<ProfileNode*> top_down_stub_children; |
- top_down_bbb_children.last()->GetChildren(&top_down_stub_children); |
- CHECK_EQ(1, top_down_stub_children.length()); |
- CHECK_EQ("ddd", top_down_stub_children.last()->entry()->name()); |
- i::List<ProfileNode*> top_down_ddd_children; |
- top_down_stub_children.last()->GetChildren(&top_down_ddd_children); |
- CHECK_EQ(0, top_down_ddd_children.length()); |
- |
- i::List<ProfileNode*> bottom_up_root_children; |
- profiles.profile()->bottom_up()->root()->GetChildren( |
- &bottom_up_root_children); |
- CHECK_EQ(3, bottom_up_root_children.length()); |
+ const i::List<ProfileNode*>* top_down_root_children = |
+ profile->top_down()->root()->children(); |
+ CHECK_EQ(1, top_down_root_children->length()); |
+ CHECK_EQ("bbb", top_down_root_children->last()->entry()->name()); |
+ const i::List<ProfileNode*>* top_down_bbb_children = |
+ top_down_root_children->last()->children(); |
+ CHECK_EQ(1, top_down_bbb_children->length()); |
+ CHECK_EQ("args_count: 5", top_down_bbb_children->last()->entry()->name()); |
+ const i::List<ProfileNode*>* top_down_stub_children = |
+ top_down_bbb_children->last()->children(); |
+ CHECK_EQ(1, top_down_stub_children->length()); |
+ CHECK_EQ("ddd", top_down_stub_children->last()->entry()->name()); |
+ const i::List<ProfileNode*>* top_down_ddd_children = |
+ top_down_stub_children->last()->children(); |
+ CHECK_EQ(0, top_down_ddd_children->length()); |
+ |
+ const i::List<ProfileNode*>* bottom_up_root_children_unsorted = |
+ profile->bottom_up()->root()->children(); |
+ CHECK_EQ(3, bottom_up_root_children_unsorted->length()); |
+ i::List<ProfileNode*> bottom_up_root_children(3); |
+ bottom_up_root_children.AddAll(*bottom_up_root_children_unsorted); |
bottom_up_root_children.Sort(&CompareProfileNodes); |
CHECK_EQ("args_count: 5", bottom_up_root_children[0]->entry()->name()); |
CHECK_EQ("bbb", bottom_up_root_children[1]->entry()->name()); |
CHECK_EQ("ddd", bottom_up_root_children[2]->entry()->name()); |
- i::List<ProfileNode*> bottom_up_stub_children; |
- bottom_up_root_children[0]->GetChildren(&bottom_up_stub_children); |
- CHECK_EQ(1, bottom_up_stub_children.length()); |
- CHECK_EQ("bbb", bottom_up_stub_children.last()->entry()->name()); |
- i::List<ProfileNode*> bottom_up_bbb_children; |
- bottom_up_root_children[1]->GetChildren(&bottom_up_bbb_children); |
- CHECK_EQ(0, bottom_up_bbb_children.length()); |
- i::List<ProfileNode*> bottom_up_ddd_children; |
- bottom_up_root_children[2]->GetChildren(&bottom_up_ddd_children); |
- CHECK_EQ(1, bottom_up_ddd_children.length()); |
- CHECK_EQ("args_count: 5", bottom_up_ddd_children.last()->entry()->name()); |
- i::List<ProfileNode*> bottom_up_ddd_stub_children; |
- bottom_up_ddd_children.last()->GetChildren(&bottom_up_ddd_stub_children); |
- CHECK_EQ(1, bottom_up_ddd_stub_children.length()); |
- CHECK_EQ("bbb", bottom_up_ddd_stub_children.last()->entry()->name()); |
+ const i::List<ProfileNode*>* bottom_up_stub_children = |
+ bottom_up_root_children[0]->children(); |
+ CHECK_EQ(1, bottom_up_stub_children->length()); |
+ CHECK_EQ("bbb", bottom_up_stub_children->last()->entry()->name()); |
+ const i::List<ProfileNode*>* bottom_up_bbb_children = |
+ bottom_up_root_children[1]->children(); |
+ CHECK_EQ(0, bottom_up_bbb_children->length()); |
+ const i::List<ProfileNode*>* bottom_up_ddd_children = |
+ bottom_up_root_children[2]->children(); |
+ CHECK_EQ(1, bottom_up_ddd_children->length()); |
+ CHECK_EQ("args_count: 5", bottom_up_ddd_children->last()->entry()->name()); |
+ const i::List<ProfileNode*>* bottom_up_ddd_stub_children = |
+ bottom_up_ddd_children->last()->children(); |
+ CHECK_EQ(1, bottom_up_ddd_stub_children->length()); |
+ CHECK_EQ("bbb", bottom_up_ddd_stub_children->last()->entry()->name()); |
} |
+ |
+#endif // ENABLE_CPP_PROFILES_PROCESSOR |