Title: [254835] trunk/LayoutTests
Revision
254835
Author
[email protected]
Date
2020-01-20 13:00:35 -0800 (Mon, 20 Jan 2020)

Log Message

inspector/heap/getRemoteObject.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=156077
<rdar://problem/25469998>

Reviewed by Darin Adler.

Instead of blindly assuming that the first object is the `window` global object, iterate all
the objects found by `WI.HeapSnapshotProxy.prototype.instancesWithClassName` and check that
we see at least one `window` global object.

* inspector/heap/getRemoteObject.html:
* inspector/heap/getRemoteObject-expected.txt:
* platform/mac-wk2/TestExpectations:

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (254834 => 254835)


--- trunk/LayoutTests/ChangeLog	2020-01-20 20:51:24 UTC (rev 254834)
+++ trunk/LayoutTests/ChangeLog	2020-01-20 21:00:35 UTC (rev 254835)
@@ -1,5 +1,21 @@
 2020-01-20  Devin Rousso  <[email protected]>
 
+        inspector/heap/getRemoteObject.html is a flaky failure
+        https://bugs.webkit.org/show_bug.cgi?id=156077
+        <rdar://problem/25469998>
+
+        Reviewed by Darin Adler.
+
+        Instead of blindly assuming that the first object is the `window` global object, iterate all
+        the objects found by `WI.HeapSnapshotProxy.prototype.instancesWithClassName` and check that
+        we see at least one `window` global object.
+
+        * inspector/heap/getRemoteObject.html:
+        * inspector/heap/getRemoteObject-expected.txt:
+        * platform/mac-wk2/TestExpectations:
+
+2020-01-20  Devin Rousso  <[email protected]>
+
         REGRESSION (r250655?): [ Mac Debug ] inspector/runtime/promise-native-getter.html is a flaky timeout
         https://bugs.webkit.org/show_bug.cgi?id=206303
         <rdar://problem/58612520>

Modified: trunk/LayoutTests/inspector/heap/getRemoteObject-expected.txt (254834 => 254835)


--- trunk/LayoutTests/inspector/heap/getRemoteObject-expected.txt	2020-01-20 20:51:24 UTC (rev 254834)
+++ trunk/LayoutTests/inspector/heap/getRemoteObject-expected.txt	2020-01-20 21:00:35 UTC (rev 254835)
@@ -9,8 +9,6 @@
 -- Running test case: GetRemoteObjectForWindow
 PASS: Should not have an error creating a snapshot.
 PASS: Should should include at least one 'Window' instance.
-PASS: Should not have an error getting remote object.
-Window
 
 -- Running test case: GetRemoteObjectBadIdentifier
 PASS: Should not have an error creating a snapshot.

Modified: trunk/LayoutTests/inspector/heap/getRemoteObject.html (254834 => 254835)


--- trunk/LayoutTests/inspector/heap/getRemoteObject.html	2020-01-20 20:51:24 UTC (rev 254834)
+++ trunk/LayoutTests/inspector/heap/getRemoteObject.html	2020-01-20 21:00:35 UTC (rev 254835)
@@ -36,16 +36,25 @@
                 let workerProxy = WI.HeapSnapshotWorkerProxy.singleton();
                 workerProxy.createSnapshot(snapshotStringData, ({objectId, snapshot: serializedSnapshot}) => {
                     let snapshot = WI.HeapSnapshotProxy.deserialize(objectId, serializedSnapshot);
-                    snapshot.instancesWithClassName("Window", (windows) => {
-                        let heapSnapshotNode = windows[0];
-                        InspectorTest.expectThat(heapSnapshotNode, "Should should include at least one 'Window' instance.");
+                    snapshot.instancesWithClassName("Window", (windowHeapSnapshotNodes) => {
+                        if (!windowHeapSnapshotNodes.length) {
+                            reject("Should should include at least one 'Window' instance.");
+                            return;
+                        }
 
-                        HeapAgent.getRemoteObject(heapSnapshotNode.id, "test", (error, remoteObjectPayload) => {
-                            InspectorTest.expectThat(!error, "Should not have an error getting remote object.");
-                            let remoteObject = WI.RemoteObject.fromPayload(remoteObjectPayload);
-                            InspectorTest.log(remoteObject.description);
+                        Promise.all(windowHeapSnapshotNodes.map((windowHeapSnapshotNode) => HeapAgent.getRemoteObject(windowHeapSnapshotNode.id, "test")))
+                        .then((remoteObjectPayloads) => {
+                            let sawWindowGlobalObject = false;
+
+                            for (let {result} of remoteObjectPayloads) {
+                                let remoteObject = WI.RemoteObject.fromPayload(result);
+                                if (remoteObject.type === "object" && remoteObject.description === "Window")
+                                    sawWindowGlobalObject = true;
+                            }
+
+                            InspectorTest.expectTrue(sawWindowGlobalObject, "Should should include at least one 'Window' instance.");
                             resolve();
-                        });
+                        }, reject);
                     });
                 });
             });

Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (254834 => 254835)


--- trunk/LayoutTests/platform/mac-wk2/TestExpectations	2020-01-20 20:51:24 UTC (rev 254834)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations	2020-01-20 21:00:35 UTC (rev 254835)
@@ -364,8 +364,6 @@
 
 webkit.org/b/155312 inspector/heap/getPreview.html [ Pass Timeout ]
 
-webkit.org/b/156077 inspector/heap/getRemoteObject.html [ Skip ]
-
 # Video fullscreen is not implemented for mac wk2 in webkittestrunner
 media/media-fullscreen-loop-inline.html [ Skip ]
 media/media-fullscreen-pause-inline.html [ Skip ]
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to