v8/test/inspector/runtime/evaluate-with-disable-breaks.js
Benedikt Meurer 7d0f593e8f [inspector] Add "disableBreaks" parameter to "Runtime.evaluate".
This new optional parameter controls whether "Runtime.evaluate" ignores
break points and previous "Debugger.pause" calls while evaluating the
expression. This will be used for live expressions, which should never
interfere with debugging.

Bug: chromium:1001216
Change-Id: Ie37f6616a4a1cae40399b79255ab92fb254d91b5
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1826664
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#64018}
2019-09-27 12:16:01 +00:00

61 lines
1.8 KiB
JavaScript

// Copyright 2019 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
let {session, contextGroup, Protocol} = InspectorTest.start("Tests that Runtime.evaluate can run with breaks disabled.");
session.setupScriptMap();
contextGroup.addScript(`
function f() {
debugger;
} //# sourceURL=test.js`);
Protocol.Runtime.enable();
Protocol.Debugger.enable();
Protocol.Debugger.onPaused(message => {
InspectorTest.log("paused");
Protocol.Debugger.resume();
});
(async function() {
InspectorTest.log("Test disableBreaks: false");
InspectorTest.logMessage(await Protocol.Runtime.evaluate({
expression: "debugger;",
disableBreaks: false
}));
InspectorTest.log("Test disableBreaks: true");
InspectorTest.logMessage(await Protocol.Runtime.evaluate({
expression: "debugger;",
disableBreaks: true
}));
InspectorTest.log("Test calling out with disableBreaks: false");
InspectorTest.logMessage(await Protocol.Runtime.evaluate({
expression: "f();",
disableBreaks: false
}));
InspectorTest.log("Test calling out with disableBreaks: true");
InspectorTest.logMessage(await Protocol.Runtime.evaluate({
expression: "f();",
disableBreaks: true
}));
InspectorTest.log("Test Debugger.pause with disableBreaks: false");
InspectorTest.logMessage(await Protocol.Debugger.pause());
InspectorTest.logMessage(await Protocol.Runtime.evaluate({
expression: "1",
disableBreaks: false
}));
InspectorTest.log("Test Debugger.pause with disableBreaks: true");
InspectorTest.logMessage(await Protocol.Debugger.pause());
InspectorTest.logMessage(await Protocol.Runtime.evaluate({
expression: "1",
disableBreaks: true
}));
InspectorTest.completeTest();
})();