WebKit Bugzilla
Attachment 369702 Details for
Bug 197442
: REGRESSION (r242741) [Mac WK1 Debug] Layout Test inspector/timeline/exception-in-injected-script-while-recording.html is a flaky crash
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-197442-20190513001843.patch (text/plain), 11.93 KB, created by
Devin Rousso
on 2019-05-13 00:18:43 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Devin Rousso
Created:
2019-05-13 00:18:43 PDT
Size:
11.93 KB
patch
obsolete
>diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index cfb54ec997b3dd6aad439fff10d08c9023f86465..de1de5294a63903a1ecb7d990f66410d3945901b 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,21 @@ >+2019-05-13 Devin Rousso <drousso@apple.com> >+ >+ REGRESSION (r242741) [Mac WK1 Debug] Layout Test inspector/timeline/exception-in-injected-script-while-recording.html is a flaky crash >+ https://bugs.webkit.org/show_bug.cgi?id=197442 >+ <rdar://problem/50354090> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Ever since r198774, we don't allow a timeline recording to be active at the same time as the >+ debugger being paused. As such, these tests are unnecessary. >+ >+ * inspector/timeline/debugger-paused-while-recording.html: Removed. >+ * inspector/timeline/debugger-paused-while-recording-expected.txt: Removed. >+ * inspector/timeline/exception-in-injected-script-while-recording.html: Removed. >+ * inspector/timeline/exception-in-injected-script-while-recording-expected.txt: Removed. >+ * inspector/timeline/resources/timeline-helper.js: Removed. >+ * TestExpectations: >+ > 2019-05-11 Simon Fraser <simon.fraser@apple.com> > > Backing-sharing layers with transforms render incorrectly >diff --git a/LayoutTests/TestExpectations b/LayoutTests/TestExpectations >index 56507276137ec28dcc49fa1d925354f3c8b59cce..3bb50952c15936ae4f31df0d4a8f2760d68af736 100644 >--- a/LayoutTests/TestExpectations >+++ b/LayoutTests/TestExpectations >@@ -532,9 +532,6 @@ webkit.org/b/129639 inspector/dom/dom-search-crash.html [ Skip ] > webkit.org/b/128736 inspector/debugger/setBreakpoint-dfg.html [ Failure Pass ] > webkit.org/b/134982 inspector/debugger/setBreakpoint-dfg-and-modify-local.html [ Failure Pass ] > >-webkit.org/b/142208 inspector/timeline/debugger-paused-while-recording.html [ Skip ] >-webkit.org/b/142208 inspector/timeline/exception-in-injected-script-while-recording.html [ Skip ] >- > # This test is fast enough in release but quite slow in debug builds. > [ Debug ] inspector/debugger/debugger-stack-overflow.html [ Skip ] > [ Debug ] inspector/canvas/recording-2d.html [ Slow ] >diff --git a/LayoutTests/inspector/timeline/debugger-paused-while-recording-expected.txt b/LayoutTests/inspector/timeline/debugger-paused-while-recording-expected.txt >deleted file mode 100644 >index c01db32220264187698f0f69da54616429c967b9..0000000000000000000000000000000000000000 >--- a/LayoutTests/inspector/timeline/debugger-paused-while-recording-expected.txt >+++ /dev/null >@@ -1,8 +0,0 @@ >-Testing that profiling data is correctly generated and attached to Timeline records when the debugger pauses and resumes while capturing timelines. >- >-Added a breakpoint inside hook(). >-Debugger paused; resuming... >-Debugger resumed; stopping timeline capture. >-Timeline capturing stopped. Inspecting the active recording.... >-TimerFired timeline record has profile attached: TRUE >- >diff --git a/LayoutTests/inspector/timeline/debugger-paused-while-recording.html b/LayoutTests/inspector/timeline/debugger-paused-while-recording.html >deleted file mode 100644 >index 915ab09bd93294c0b32da395ca53c85974621b28..0000000000000000000000000000000000000000 >--- a/LayoutTests/inspector/timeline/debugger-paused-while-recording.html >+++ /dev/null >@@ -1,85 +0,0 @@ >-<!doctype html> >-<html> >-<head> >-<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline'"> >-<script src="../../http/tests/inspector/resources/inspector-test.js"></script> >-<script src="./resources/timeline-helper.js"></script> >-<script> >-function installTimer() >-{ >- setTimeout(function() { >- callFunction(mul, add(1, 3), 3); >- hook(); >- }); >-} >- >-function add(a, b) >-{ >- TestPage.addResult("Calling add(): " + a + " + " + b); >- return a + b; >-} >- >-function mul(a, b) >-{ >- TestPage.addResult("Calling mul(): " + a + " * " + b); >- return a * b; >-} >- >-function test() >-{ >- // First, set up the breakpoint, start timeline capturing, and trigger execution of installTimer(). >- WI.debuggerManager.addEventListener(WI.DebuggerManager.Event.ScriptAdded, function(event) { >- var scriptObject = event.data.script; >- >- if (!/timeline-helper\.js$/.test(scriptObject.url)) >- return; >- >- var location = scriptObject.createSourceCodeLocation(17, 0); // Inside timeline-helper.js:hook() >- var breakpoint = new WI.Breakpoint(location); >- WI.debuggerManager.addBreakpoint(breakpoint); >- InspectorTest.addResult("Added a breakpoint inside hook().") >- >- WI.timelineManager.startCapturing(); >- InspectorTest.evaluateInPage("installTimer()"); >- }); >- >- // Second, the debugger will pause during timeline capturing. Resume, then stop timeline capturing. >- WI.debuggerManager.addEventListener(WI.DebuggerManager.Event.Paused, function(event) { >- InspectorTest.addResult("Debugger paused; resuming..."); >- >- WI.debuggerManager.resume().then(function() { >- InspectorTest.addResult("Debugger resumed; stopping timeline capture."); >- WI.timelineManager.stopCapturing(); >- }) >- }); >- >- // When timeline capturing stops, inspect the resulting timeline records for a profile. >- WI.timelineManager.addEventListener(WI.TimelineManager.Event.CapturingStateChanged, (event) => { >- if (WI.timelineManager.capturingState !== WI.TimelineManager.CapturingState.Inactive) >- return; >- >- var recording = WI.timelineManager.activeRecording; >- var scriptTimeline = recording.timelines.get(WI.TimelineRecord.Type.Script); >- console.assert(scriptTimeline); >- >- InspectorTest.addResult("Timeline capturing stopped. Inspecting the active recording...."); >- >- for (var record of scriptTimeline.records) { >- if (record.eventType !== WI.ScriptTimelineRecord.EventType.TimerFired) >- continue; >- >- var result = record.profile ? "TRUE" : "FALSE"; >- InspectorTest.addResult("TimerFired timeline record has profile attached: " + result); >- } >- >- InspectorTest.completeTest(); >- }); >- >- InspectorTest.reloadPage(); >-} >-</script> >-</head> >-<body onload="runTest()"> >- <p>Testing that profiling data is correctly generated and attached to Timeline records when the debugger pauses and resumes while capturing timelines.</p> >-</body> >-</html> >diff --git a/LayoutTests/inspector/timeline/exception-in-injected-script-while-recording-expected.txt b/LayoutTests/inspector/timeline/exception-in-injected-script-while-recording-expected.txt >deleted file mode 100644 >index 2a77e38389c0c5dc51a70fd973fdafbd82d54f03..0000000000000000000000000000000000000000 >--- a/LayoutTests/inspector/timeline/exception-in-injected-script-while-recording-expected.txt >+++ /dev/null >@@ -1,9 +0,0 @@ >-Testing that an injected script, run while the debugger is paused and the timeline profiler is enabled, should not loop forever if it has an exception thrown. >- >-Added a breakpoint inside hook(). >-Debugger paused; >-An exception was thrown from the injected script. >-Debugger resumed; stopping timeline capture. >-Timeline capturing stopped. Inspecting the active recording.... >-TimerFired timeline record has profile attached: TRUE >- >diff --git a/LayoutTests/inspector/timeline/exception-in-injected-script-while-recording.html b/LayoutTests/inspector/timeline/exception-in-injected-script-while-recording.html >deleted file mode 100644 >index 1b52bc02a649858aaeb4adb6f071cd35f10f1133..0000000000000000000000000000000000000000 >--- a/LayoutTests/inspector/timeline/exception-in-injected-script-while-recording.html >+++ /dev/null >@@ -1,91 +0,0 @@ >-<!doctype html> >-<html> >-<head> >-<meta http-equiv="Content-Security-Policy" content="script-src 'self' 'unsafe-inline'"> >-<script src="../../http/tests/inspector/resources/inspector-test.js"></script> >-<script src="./resources/timeline-helper.js"></script> >-<script> >-function installTimer() >-{ >- setTimeout(function() { >- callFunction(mul, add(1, 3), 3); >- hook(); >- }); >-} >- >-function add(a, b) >-{ >- TestPage.addResult("Calling add(): " + a + " + " + b); >- return a + b; >-} >- >-function mul(a, b) >-{ >- TestPage.addResult("Calling mul(): " + a + " * " + b); >- return a * b; >-} >- >-function test() >-{ >- // First, set up the breakpoint, start timeline capturing, and trigger execution of installTimer(). >- WI.debuggerManager.addEventListener(WI.DebuggerManager.Event.ScriptAdded, function(event) { >- var scriptObject = event.data.script; >- >- if (!/timeline-helper\.js$/.test(scriptObject.url)) >- return; >- >- var location = scriptObject.createSourceCodeLocation(17, 0); // Inside timeline-helper.js:hook() >- var breakpoint = new WI.Breakpoint(location); >- WI.debuggerManager.addBreakpoint(breakpoint); >- InspectorTest.addResult("Added a breakpoint inside hook().") >- >- WI.timelineManager.startCapturing(); >- InspectorTest.evaluateInPage("installTimer()"); >- }); >- >- // Second, the debugger will pause during timeline capturing. Resume, then stop timeline capturing. >- WI.debuggerManager.addEventListener(WI.DebuggerManager.Event.Paused, function(event) { >- InspectorTest.addResult("Debugger paused;"); >- checkIfExceptionLoopsForever(); >- }); >- >- function checkIfExceptionLoopsForever() { >- WI.runtimeManager.evaluateInInspectedWindow("({}).x.x", {objectGroup: "test", includeCommandLineAPI: true, doNotPauseOnExceptionsAndMuteConsole: true}, function(result, wasThrown) { >- InspectorTest.addResult("An exception was " + (wasThrown ? "" : "not ") + "thrown from the injected script."); >- WI.debuggerManager.resume().then(function() { >- InspectorTest.addResult("Debugger resumed; stopping timeline capture."); >- WI.timelineManager.stopCapturing(); >- }); >- }); >- } >- >- // When timeline capturing stops, inspect the resulting timeline records for a profile. >- WI.timelineManager.addEventListener(WI.TimelineManager.Event.CapturingStateChanged, (event) => { >- if (WI.timelineManager.capturingState !== WI.TimelineManager.CapturingState.Inactive) >- return; >- >- var recording = WI.timelineManager.activeRecording; >- var scriptTimeline = recording.timelines.get(WI.TimelineRecord.Type.Script); >- console.assert(scriptTimeline); >- >- InspectorTest.addResult("Timeline capturing stopped. Inspecting the active recording...."); >- >- for (var record of scriptTimeline.records) { >- if (record.eventType !== WI.ScriptTimelineRecord.EventType.TimerFired) >- continue; >- >- var result = record.profile ? "TRUE" : "FALSE"; >- InspectorTest.addResult("TimerFired timeline record has profile attached: " + result); >- } >- >- InspectorTest.completeTest(); >- }); >- >- InspectorTest.reloadPage(); >-} >-</script> >-</head> >-<body onload="runTest()"> >- <p>Testing that an injected script, run while the debugger is paused and the timeline profiler is enabled, should not loop forever if it has an exception thrown.</p> >-</body> >-</html> >diff --git a/LayoutTests/inspector/timeline/resources/timeline-helper.js b/LayoutTests/inspector/timeline/resources/timeline-helper.js >deleted file mode 100644 >index c2eaf58942a7e349ea66a1ee85179767a7f9e421..0000000000000000000000000000000000000000 >--- a/LayoutTests/inspector/timeline/resources/timeline-helper.js >+++ /dev/null >@@ -1,19 +0,0 @@ >-// WARNING: some tests blindly set breakpoints in this file by line number. >-// So, if you modify the code, make sure to adjust any createSourceCodeLocation >-// calls from tests in the ../ directory. Callsites should include a description >-// of the function/statement to set a breakpoint at, so that it's easy to fix them. >- >-function callFunction(fn) >-{ >- if (!(fn instanceof Function)) >- return; >- >- var argsArray = Array.prototype.slice.call(arguments); >- Array.prototype.splice.call(argsArray, 0, 1); >- fn.call(this, argsArray); >-} >- >-function hook() >-{ >- return 42; >-}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 197442
: 369702