Revision: 5936
Author: [email protected]
Date: Tue Dec  7 06:10:41 2010
Log: Fix RecordStackTraceAtStartProfiling test.

Review URL: http://codereview.chromium.org/5598008
http://code.google.com/p/v8/source/detail?r=5936

Modified:
 /branches/bleeding_edge/test/cctest/cctest.status
 /branches/bleeding_edge/test/cctest/test-profile-generator.cc

=======================================
--- /branches/bleeding_edge/test/cctest/cctest.status Tue Dec 7 03:59:50 2010 +++ /branches/bleeding_edge/test/cctest/cctest.status Tue Dec 7 06:10:41 2010
@@ -42,9 +42,6 @@
 # when snapshot is on, so I am marking it PASS || FAIL
 test-heap-profiler/HeapSnapshotsDiff: PASS || FAIL

-# BUG(3260336): Flaky test. May be timing related.
-test-profile-generator/RecordStackTraceAtStartProfiling: PASS || FAIL
-
 # These tests always fail.  They are here to test test.py.  If
 # they don't fail then test.py has failed.
 test-serialize/TestThatAlwaysFails: FAIL
=======================================
--- /branches/bleeding_edge/test/cctest/test-profile-generator.cc Tue Dec 7 03:31:57 2010 +++ /branches/bleeding_edge/test/cctest/test-profile-generator.cc Tue Dec 7 06:10:41 2010
@@ -782,12 +782,16 @@
       CpuProfiler::GetProfile(NULL, 0);
   const ProfileTree* topDown = profile->top_down();
   const ProfileNode* current = topDown->root();
+  const_cast<ProfileNode*>(current)->Print(0);
   // The tree should look like this:
   //  (root)
   //   (anonymous function)
   //     a
   //       b
   //         c
+  // There can also be:
+  //           startProfiling
+  // if the sampler managed to get a tick.
   current = PickChild(current, "(anonymous function)");
   CHECK_NE(NULL, const_cast<ProfileNode*>(current));
   current = PickChild(current, "a");
@@ -796,7 +800,12 @@
   CHECK_NE(NULL, const_cast<ProfileNode*>(current));
   current = PickChild(current, "c");
   CHECK_NE(NULL, const_cast<ProfileNode*>(current));
-  CHECK_EQ(0, current->children()->length());
+  CHECK(current->children()->length() == 0 ||
+        current->children()->length() == 1);
+  if (current->children()->length() == 1) {
+    current = PickChild(current, "startProfiling");
+    CHECK_EQ(0, current->children()->length());
+  }
 }


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to