fix(node): node:test reports correct location (#20025)

Also removed some noisy output that caused test flakiness.
This commit is contained in:
Bartek Iwańczuk 2023-08-02 17:11:04 +02:00 committed by GitHub
parent 1cb16683bc
commit d9c85e016f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 31 additions and 36 deletions

View file

@ -677,11 +677,21 @@ function test(
// Delete this prop in case the user passed it. It's used to detect steps.
delete testDesc.parent;
const jsError = core.destructureError(new Error());
testDesc.location = {
fileName: jsError.frames[1].fileName,
lineNumber: jsError.frames[1].lineNumber,
columnNumber: jsError.frames[1].columnNumber,
};
let location;
for (let i = 0; i < jsError.frames.length; i++) {
const filename = jsError.frames[i].fileName;
if (filename.startsWith("ext:") || filename.startsWith("node:")) {
continue;
}
location = {
fileName: jsError.frames[i].fileName,
lineNumber: jsError.frames[i].lineNumber,
columnNumber: jsError.frames[i].columnNumber,
};
break;
}
testDesc.location = location;
testDesc.fn = wrapTest(testDesc);
const { id, origin } = ops.op_register_test(testDesc);