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 Joseph Pecoraro.
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:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@245362 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 976a1a0..d7439ac 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,21 @@
+2019-05-15 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 Joseph Pecoraro.
+
+ 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-15 Zalan Bujtas <zalan@apple.com>
Do not create a shape object outside of the layout context
diff --git a/LayoutTests/TestExpectations b/LayoutTests/TestExpectations
index 2a348f7..bc1ce8b 100644
--- a/LayoutTests/TestExpectations
+++ b/LayoutTests/TestExpectations
@@ -534,9 +534,6 @@
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 c01db32..0000000
--- 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 915ab09..0000000
--- 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 2a77e38..0000000
--- 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 1b52bc0..0000000
--- 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 c2eaf58..0000000
--- 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;
-}