Index: LayoutTests/inspector-protocol/heap-profiler/heap-objects-tracking.html |
diff --git a/LayoutTests/inspector-protocol/heap-profiler/heap-objects-tracking.html b/LayoutTests/inspector-protocol/heap-profiler/heap-objects-tracking.html |
index 8b732f3f05885fb7b1605e5cbb7dbdce65f7383d..230ed4667a07a3e1c8570f61aa537ba69931b437 100644 |
--- a/LayoutTests/inspector-protocol/heap-profiler/heap-objects-tracking.html |
+++ b/LayoutTests/inspector-protocol/heap-profiler/heap-objects-tracking.html |
@@ -26,8 +26,8 @@ function test() |
{ |
InspectorTest.importScript("../../../../inspector-protocol/heap-profiler/resources/heap-snapshot-common.js"); |
- var gotLastSeenObjectIdEvent = false; |
- var gotHeapStatsUpdateEvent = false; |
+ var lastSeenObjectIdEventCount = 0; |
+ var heapStatsUpdateEventCount = 0; |
function trackingStarted() |
{ |
InspectorTest.log("SUCCESS: tracking started"); |
@@ -35,10 +35,8 @@ function test() |
function trackingStopped() |
{ |
- if (gotHeapStatsUpdateEvent) |
- InspectorTest.log("SUCCESS: heapStatsUpdate arrived"); |
- if (gotLastSeenObjectIdEvent) |
- InspectorTest.log("SUCCESS: lastSeenObjectId arrived"); |
+ InspectorTest.log("Number of heapStatsUpdate events >= numbrt of lastSeenObjectId events: " + (heapStatsUpdateEventCount >= lastSeenObjectIdEventCount)); |
+ InspectorTest.log("At least 2 lastSeenObjectId arrived: " + (lastSeenObjectIdEventCount >= 2)); |
InspectorTest.log("SUCCESS: tracking stopped"); |
InspectorTest.completeTest(); |
} |
@@ -46,30 +44,35 @@ function test() |
var fragments = []; |
InspectorTest.eventHandler["HeapProfiler.lastSeenObjectId"] = function(messageObject) |
{ |
- |
- var params = messageObject["params"]; |
- InspectorTest.assert(params, "no params found in event HeapProfiler.lastSeenObjectId"); |
- InspectorTest.assert(params.lastSeenObjectId, "lastSeenObjectId is missing in event HeapProfiler.lastSeenObjectId"); |
- InspectorTest.assert(params.timestamp, "timestamp is missing in event HeapProfiler.lastSeenObjectId"); |
- InspectorTest.assert(fragments.length, "a heap stats fragment didn't arrive before HeapProfiler.lastSeenObjectId"); |
- InspectorTest.sendCommand("HeapProfiler.stopTrackingHeapObjects", {}, trackingStopped); |
- gotLastSeenObjectIdEvent = true; |
+ if (++lastSeenObjectIdEventCount <= 2) { |
+ var params = messageObject["params"]; |
+ InspectorTest.log("HeapProfiler.lastSeenObjectId has params: " + !!params); |
+ InspectorTest.log("HeapProfiler.lastSeenObjectId has params.lastSeenObjectId: " + !!params.lastSeenObjectId); |
+ InspectorTest.log("HeapProfiler.lastSeenObjectId has timestamp: " + !!params.timestamp); |
+ InspectorTest.log("A heap stats fragment did arrive before HeapProfiler.lastSeenObjectId: " + !!fragments.length); |
+ InspectorTest.log(""); |
+ } |
+ if (lastSeenObjectIdEventCount == 2) { |
+ // Wait for two updates and then stop tracing. |
+ InspectorTest.sendCommand("HeapProfiler.stopTrackingHeapObjects", {}, trackingStopped); |
+ } |
} |
InspectorTest.eventHandler["HeapProfiler.heapStatsUpdate"] = function(messageObject) |
{ |
- var params = messageObject["params"]; |
- InspectorTest.assert(params, "no params found in event HeapProfiler.heapStatsUpdate"); |
- var statsUpdate = params.statsUpdate; |
- InspectorTest.assert(statsUpdate, "statsUpdata is missing in event HeapProfiler.heapStatsUpdate"); |
- InspectorTest.assert(statsUpdate.length, "statsUpdate should have non zero length"); |
- InspectorTest.assert(!(statsUpdate.length % 3), "statsUpdate length must be a multiple of three"); |
- InspectorTest.assert(!(statsUpdate.length % 3), "statsUpdate length must be a multiple of three"); |
- InspectorTest.assert(!statsUpdate[0], "statsUpdate: first fragmentIndex in first update has to be zero"); |
- InspectorTest.assert(statsUpdate[1], "statsUpdate: total count of objects should be not zero"); |
- InspectorTest.assert(statsUpdate[2], "statsUpdate: total size of objects should be not zero"); |
- fragments.push(statsUpdate); |
- gotHeapStatsUpdateEvent = true; |
+ var params = messageObject["params"]; |
+ InspectorTest.log("HeapProfiler.heapStatsUpdate has params: " + !!params); |
+ var statsUpdate = params.statsUpdate; |
+ if (++heapStatsUpdateEventCount < 2) { |
+ InspectorTest.log("HeapProfiler.heapStatsUpdate has statsUpdate: " + !!statsUpdate); |
+ InspectorTest.log("statsUpdate length is not zero: " + !!statsUpdate.length); |
+ InspectorTest.log("statsUpdate length is a multiple of three: " + !(statsUpdate.length % 3)); |
+ InspectorTest.log("statsUpdate: first fragmentIndex in first update: " + statsUpdate[0]); |
+ InspectorTest.log("statsUpdate: total count of objects is not zero: " + !!statsUpdate[1]); |
+ InspectorTest.log("statsUpdate: total size of objects is not zero: " + !!statsUpdate[2]); |
+ InspectorTest.log(""); |
+ } |
+ fragments.push(statsUpdate); |
} |
InspectorTest.sendCommand("HeapProfiler.startTrackingHeapObjects", {}, trackingStarted); |