[inspector] added a test for crash in wrapping async evaluate result
BUG=chromium:651211 R=dgozman@chromium.org Review-Url: https://codereview.chromium.org/2381693002 Cr-Commit-Position: refs/heads/master@{#39933}
This commit is contained in:
parent
306f83119b
commit
c9391d15ca
@ -133,6 +133,27 @@ InspectorTest.logObject = function(object, title)
|
|||||||
InspectorTest.log(lines.join("\n"));
|
InspectorTest.log(lines.join("\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
InspectorTest.logMessage = function(message)
|
||||||
|
{
|
||||||
|
if (message.id)
|
||||||
|
message.id = 0;
|
||||||
|
|
||||||
|
const nonStableFields = new Set(["objectId", "scriptId", "exceptionId"]);
|
||||||
|
var objects = [ message ];
|
||||||
|
while (objects.length) {
|
||||||
|
var object = objects.shift();
|
||||||
|
for (var key in object) {
|
||||||
|
if (nonStableFields.has(key))
|
||||||
|
object[key] = `<${key}>`;
|
||||||
|
else if (typeof object[key] === "object")
|
||||||
|
objects.push(object[key]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
InspectorTest.logObject(message);
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
InspectorTest.completeTest = quit.bind(null);
|
InspectorTest.completeTest = quit.bind(null);
|
||||||
|
|
||||||
InspectorTest.evaluateInPage = function(string, callback)
|
InspectorTest.evaluateInPage = function(string, callback)
|
||||||
|
@ -0,0 +1,8 @@
|
|||||||
|
Test that Runtime.evaluate correctly process errors during wrapping async result.
|
||||||
|
{
|
||||||
|
error : {
|
||||||
|
code : -32000
|
||||||
|
message : Object couldn't be returned by value
|
||||||
|
}
|
||||||
|
id : 0
|
||||||
|
}
|
15
test/inspector/runtime/evaluate-async-with-wrap-error.js
Normal file
15
test/inspector/runtime/evaluate-async-with-wrap-error.js
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
// Copyright 2016 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.
|
||||||
|
|
||||||
|
print("Test that Runtime.evaluate correctly process errors during wrapping \
|
||||||
|
async result.");
|
||||||
|
|
||||||
|
var evaluateArguments = {
|
||||||
|
expression: "Promise.resolve(Symbol(123))",
|
||||||
|
returnByValue: true,
|
||||||
|
awaitPromise: true
|
||||||
|
};
|
||||||
|
InspectorTest.sendCommandPromise("Runtime.evaluate", evaluateArguments)
|
||||||
|
.then(message => InspectorTest.logMessage(message))
|
||||||
|
.then(_ => InspectorTest.completeTest());
|
Loading…
Reference in New Issue
Block a user