mirror of https://github.com/nodejs/node.git
test: remove isGlibc from common
The `common.isGlibc()` function is called exactly once from only one test. There's no reason for it to be in `require('../common')` at the current time. If it ends up needing to be used by multiple tests, it can easily be moved into it's own common sub-module (e.g. `require('../common/isglibc')` ... for now tho, just move it into the one test that uses it and simplify the implementation a bit to remove unnecessary caching. PR-URL: https://github.com/nodejs/node/pull/22443 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
This commit is contained in:
parent
3ba54e4cc8
commit
2d64a51270
|
@ -6,6 +6,7 @@ const fs = require('fs');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const cp = require('child_process');
|
const cp = require('child_process');
|
||||||
const { Worker } = require('worker_threads');
|
const { Worker } = require('worker_threads');
|
||||||
|
const { spawnSync } = require('child_process');
|
||||||
|
|
||||||
// This is a sibling test to test/addons/uv-handle-leak.
|
// This is a sibling test to test/addons/uv-handle-leak.
|
||||||
|
|
||||||
|
@ -49,9 +50,25 @@ if (process.argv[2] === 'child') {
|
||||||
// Close callback: 0x7f2df31de220 CloseCallback(uv_handle_s*) [...]
|
// Close callback: 0x7f2df31de220 CloseCallback(uv_handle_s*) [...]
|
||||||
// Data: 0x42
|
// Data: 0x42
|
||||||
|
|
||||||
|
function isGlibc() {
|
||||||
|
try {
|
||||||
|
const lddOut = spawnSync('ldd', [process.execPath]).stdout;
|
||||||
|
const libcInfo = lddOut.toString().split('\n').map(
|
||||||
|
(line) => line.match(/libc\.so.+=>\s*(\S+)\s/)).filter((info) => info);
|
||||||
|
if (libcInfo.length === 0)
|
||||||
|
return false;
|
||||||
|
const nmOut = spawnSync('nm', ['-D', libcInfo[0][1]]).stdout;
|
||||||
|
if (/gnu_get_libc_version/.test(nmOut))
|
||||||
|
return true;
|
||||||
|
} catch {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if (!(common.isFreeBSD ||
|
if (!(common.isFreeBSD ||
|
||||||
common.isAIX ||
|
common.isAIX ||
|
||||||
(common.isLinux && !common.isGlibc()) ||
|
(common.isLinux && !isGlibc()) ||
|
||||||
common.isWindows)) {
|
common.isWindows)) {
|
||||||
assert(stderr.includes('ExampleOwnerClass'), stderr);
|
assert(stderr.includes('ExampleOwnerClass'), stderr);
|
||||||
assert(stderr.includes('CloseCallback'), stderr);
|
assert(stderr.includes('CloseCallback'), stderr);
|
||||||
|
|
|
@ -66,23 +66,6 @@ exports.isOpenBSD = process.platform === 'openbsd';
|
||||||
exports.isLinux = process.platform === 'linux';
|
exports.isLinux = process.platform === 'linux';
|
||||||
exports.isOSX = process.platform === 'darwin';
|
exports.isOSX = process.platform === 'darwin';
|
||||||
|
|
||||||
let isGlibc;
|
|
||||||
exports.isGlibc = () => {
|
|
||||||
if (isGlibc !== undefined)
|
|
||||||
return isGlibc;
|
|
||||||
try {
|
|
||||||
const lddOut = spawnSync('ldd', [process.execPath]).stdout;
|
|
||||||
const libcInfo = lddOut.toString().split('\n').map(
|
|
||||||
(line) => line.match(/libc\.so.+=>\s*(\S+)\s/)).filter((info) => info);
|
|
||||||
if (libcInfo.length === 0)
|
|
||||||
return isGlibc = false;
|
|
||||||
const nmOut = spawnSync('nm', ['-D', libcInfo[0][1]]).stdout;
|
|
||||||
if (/gnu_get_libc_version/.test(nmOut))
|
|
||||||
return isGlibc = true;
|
|
||||||
} catch {}
|
|
||||||
return isGlibc = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.enoughTestMem = os.totalmem() > 0x70000000; /* 1.75 Gb */
|
exports.enoughTestMem = os.totalmem() > 0x70000000; /* 1.75 Gb */
|
||||||
const cpus = os.cpus();
|
const cpus = os.cpus();
|
||||||
exports.enoughTestCpu = Array.isArray(cpus) &&
|
exports.enoughTestCpu = Array.isArray(cpus) &&
|
||||||
|
|
|
@ -13,7 +13,6 @@ const {
|
||||||
isOpenBSD,
|
isOpenBSD,
|
||||||
isLinux,
|
isLinux,
|
||||||
isOSX,
|
isOSX,
|
||||||
isGlibc,
|
|
||||||
enoughTestMem,
|
enoughTestMem,
|
||||||
enoughTestCpu,
|
enoughTestCpu,
|
||||||
rootDir,
|
rootDir,
|
||||||
|
@ -71,7 +70,6 @@ export {
|
||||||
isOpenBSD,
|
isOpenBSD,
|
||||||
isLinux,
|
isLinux,
|
||||||
isOSX,
|
isOSX,
|
||||||
isGlibc,
|
|
||||||
enoughTestMem,
|
enoughTestMem,
|
||||||
enoughTestCpu,
|
enoughTestCpu,
|
||||||
rootDir,
|
rootDir,
|
||||||
|
|
Loading…
Reference in New Issue