test: fix test-abort-backtrace in shared lib build

When using shared lib build, the binary path in the stack frames points
to shared lib. Change the checking criteria in the test case to match
that.

Refs: https://github.com/nodejs/node/issues/18535

Signed-off-by: Yihong Wang <yh.wang@ibm.com>

PR-URL: https://github.com/nodejs/node/pull/19213
Refs: https://github.com/nodejs/node/issues/18535
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
Yihong Wang 2018-03-07 13:34:10 -08:00 committed by Ruben Bridgewater
parent e0bd2f31e5
commit b325b5b435
No known key found for this signature in database
GPG Key ID: F07496B3EB3C1762
2 changed files with 9 additions and 2 deletions

View File

@ -19,7 +19,8 @@ if (process.argv[2] === 'child') {
}
if (!common.isWindows) {
if (!frames.some((frame) => frame.includes(`[${process.execPath}]`))) {
const { getBinaryPath } = require('../common/shared-lib-util');
if (!frames.some((frame) => frame.includes(`[${getBinaryPath()}]`))) {
assert.fail(`Some frames should include the binary name:\n${stderr}`);
}
}

View File

@ -28,7 +28,7 @@ exports.addLibraryPath = function(env) {
path.dirname(process.execPath);
};
// Get the full path of shared lib
// Get the full path of shared lib.
exports.getSharedLibPath = function() {
if (common.isWindows) {
return path.join(path.dirname(process.execPath), 'node.dll');
@ -41,3 +41,9 @@ exports.getSharedLibPath = function() {
`libnode.${process.config.variables.shlib_suffix}`);
}
};
// Get the binary path of stack frames.
exports.getBinaryPath = function() {
return process.config.variables.node_shared ?
exports.getSharedLibPath() : process.execPath;
};