Commit 921381bc authored by machenbach's avatar machenbach Committed by Commit bot

Revert of [wasm] Also test structured stack trace (patchset #4 id:60001 of...

Revert of [wasm] Also test structured stack trace (patchset #4 id:60001 of https://codereview.chromium.org/1875153002/ )

Reason for revert:
Breaks:
https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20custom%20snapshot%20-%20debug/builds/6322

Original issue's description:
> [wasm] Also test structured stack trace
>
> This extends the wasm test case which only checks the "simple"
> string-variant of the stack trace.
> It checks the return values of the getFunctionName, getLineNumber,
> getFileName and toString methods.
>
> R=ahaas@chromium.org, jfb@chromium.org, titzer@chromium.org
> BUG=

TBR=ahaas@chromium.org,jfb@chromium.org,titzer@chromium.org,clemensh@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review URL: https://codereview.chromium.org/1903293002

Cr-Commit-Position: refs/heads/master@{#35670}
parent 0fd76cc2
......@@ -114,9 +114,6 @@ var assertUnreachable;
var assertOptimized;
var assertUnoptimized;
// Assert that a string contains another expected substring.
var assertContains;
(function () { // Scope for utility functions.
......@@ -419,12 +416,6 @@ var assertContains;
throw new MjsUnitAssertionError(message);
};
assertContains = function(sub, value, name_opt) {
if (value == null ? (sub != null) : value.indexOf(sub) == -1) {
fail("contains '" + String(sub) + "'", value, name_opt);
}
};
var OptimizationStatusImpl = undefined;
var OptimizationStatus = function(fun, sync_opt) {
......
......@@ -2,75 +2,39 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// clang-format off
// Flags: --expose-wasm
load("test/mjsunit/wasm/wasm-constants.js");
load("test/mjsunit/wasm/wasm-module-builder.js");
var expected = "Error\n" +
// The line numbers below will change as this test gains / loses lines..
" at STACK (stack.js:24:11)\n" + // --
" at <WASM> (<anonymous>)\n" + // TODO(jfb): wasm stack here.
" at testStack (stack.js:38:18)\n" + // --
" at stack.js:40:3"; // --
// The stack trace contains file path, only keep "stack.js".
function stripPath(s) {
return s.replace(/[^ (]*stack\.js/g, "stack.js");
}
function verifyStack(frames, expected) {
assertEquals(expected.length, frames.length, "number of frames mismatch");
expected.forEach(function(exp, i) {
assertEquals(exp[0], frames[i].getFunctionName(),
"["+i+"].getFunctionName()");
assertEquals(exp[1], frames[i].getLineNumber(),
"["+i+"].getLineNumber()");
assertContains(exp[2], frames[i].getFileName(),
"["+i+"].getFileName()");
assertContains(exp[3], frames[i].toString(),
"["+i+"].toString()");
});
}
var stack;
function STACK() {
var e = new Error();
stack = e.stack;
}
var builder = new WasmModuleBuilder();
builder.addImport("func", [kAstStmt]);
(function testStack() {
var builder = new WasmModuleBuilder();
builder.addFunction("main", [kAstStmt])
.addBody([kExprCallImport, 0])
.exportAs("main");
builder.addImport("func", [kAstStmt]);
var module = builder.instantiate({func: STACK});
builder.addFunction(undefined, [kAstStmt])
.addBody([kExprCallImport, 0])
.exportAs("main");
(function testSimpleStack() {
var expected_string = "Error\n" +
// The line numbers below will change as this test gains / loses lines..
" at STACK (stack.js:33:11)\n" + // --
" at <WASM> (<anonymous>)\n" + // TODO(jfb): wasm stack here.
" at testSimpleStack (stack.js:55:18)\n" + // --
" at stack.js:57:3"; // --
module.exports.main();
assertEquals(expected_string, stripPath(stack));
})();
// For the remaining tests, collect the Callsite objects instead of just a
// string:
Error.prepareStackTrace = function(error, frames) {
return frames;
};
(function testStackFrames() {
var module = builder.instantiate({func: STACK});
module.exports.main();
// TODO(clemensh): add a isWasm() method or similar, and test it
verifyStack(stack, [
// function line file toString
[ "STACK", 33, "stack.js", "stack.js:33:11"],
[ "<WASM>", null, null, "<WASM>"],
["testStackFrames", 66, "stack.js", "stack.js:66:18"],
[ null, 76, "stack.js", "stack.js:76:3"]
]);
assertEquals(expected, stripPath(stack));
})();
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment