lib: migrate process.binding to internalBinding

Migrate various modules from using process.binding to internalBinding.

PR-URL: https://github.com/nodejs/node/pull/24952
Refs: https://github.com/nodejs/node/issues/22160
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
This commit is contained in:
Beni von Cheni 2018-12-11 02:05:18 -05:00 committed by Ruben Bridgewater
parent 80209cc4c9
commit 53d4e04be5
No known key found for this signature in database
GPG Key ID: F07496B3EB3C1762
12 changed files with 52 additions and 25 deletions

View File

@ -11,7 +11,7 @@ const hooks = initHooks();
hooks.enable(); hooks.enable();
const { internalBinding } = require('internal/test/binding'); const { internalBinding } = require('internal/test/binding');
const { Zlib } = internalBinding('zlib'); const { Zlib } = internalBinding('zlib');
const constants = process.binding('constants').zlib; const constants = internalBinding('constants').zlib;
const handle = new Zlib(constants.DEFLATE); const handle = new Zlib(constants.DEFLATE);

View File

@ -57,7 +57,7 @@ const UDP = internalBinding('udp_wrap').UDP;
if (common.hasCrypto) { // eslint-disable-line node-core/crypto-check if (common.hasCrypto) { // eslint-disable-line node-core/crypto-check
// There are accessor properties in crypto too // There are accessor properties in crypto too
const crypto = process.binding('crypto'); const crypto = internalBinding('crypto');
assert.throws(() => { assert.throws(() => {
crypto.SecureContext.prototype._external; crypto.SecureContext.prototype._external;

View File

@ -1,7 +1,9 @@
// Flags: --expose-internals
'use strict'; 'use strict';
require('../common'); require('../common');
const constants = process.binding('constants'); const { internalBinding } = require('internal/test/binding');
const constants = internalBinding('constants');
const assert = require('assert'); const assert = require('assert');
assert.deepStrictEqual( assert.deepStrictEqual(

View File

@ -9,7 +9,7 @@ if (process.argv[2] === 'child') {
} else { } else {
const internalCp = require('internal/child_process'); const internalCp = require('internal/child_process');
const oldSpawnSync = internalCp.spawnSync; const oldSpawnSync = internalCp.spawnSync;
const { SIGKILL } = process.binding('constants').os.signals; const { SIGKILL } = require('os').constants.signals;
function spawn(killSignal, beforeSpawn) { function spawn(killSignal, beforeSpawn) {
if (beforeSpawn) { if (beforeSpawn) {

View File

@ -2,7 +2,7 @@
const common = require('../common'); const common = require('../common');
const assert = require('assert'); const assert = require('assert');
const spawnSync = require('child_process').spawnSync; const spawnSync = require('child_process').spawnSync;
const signals = process.binding('constants').os.signals; const signals = require('os').constants.signals;
const rootUser = common.isWindows ? false : process.getuid() === 0; const rootUser = common.isWindows ? false : process.getuid() === 0;
const invalidArgTypeError = common.expectsError( const invalidArgTypeError = common.expectsError(

View File

@ -1,7 +1,9 @@
// Flags: --expose_internals
'use strict'; 'use strict';
require('../common'); require('../common');
const binding = process.binding('constants'); const { internalBinding } = require('internal/test/binding');
const binding = internalBinding('constants');
const constants = require('constants'); const constants = require('constants');
const assert = require('assert'); const assert = require('assert');

View File

@ -8,7 +8,7 @@ const assert = require('assert');
const dgram = require('dgram'); const dgram = require('dgram');
const { internalBinding } = require('internal/test/binding'); const { internalBinding } = require('internal/test/binding');
const { UDP } = internalBinding('udp_wrap'); const { UDP } = internalBinding('udp_wrap');
const { UV_UDP_REUSEADDR } = process.binding('constants').os; const { UV_UDP_REUSEADDR } = require('os').constants;
const BUFFER_SIZE = 4096; const BUFFER_SIZE = 4096;

View File

@ -1,3 +1,4 @@
// Flags: --expose-internals
'use strict'; 'use strict';
const common = require('../common'); const common = require('../common');
@ -6,11 +7,12 @@ const fs = require('fs');
const tmpdir = require('../common/tmpdir'); const tmpdir = require('../common/tmpdir');
const binding = process.binding('fs'); const { internalBinding } = require('internal/test/binding');
const binding = internalBinding('fs');
const readdirDir = tmpdir.path; const readdirDir = tmpdir.path;
const files = ['empty', 'files', 'for', 'just', 'testing']; const files = ['empty', 'files', 'for', 'just', 'testing'];
const constants = process.binding('constants').fs; const constants = require('fs').constants;
const types = { const types = {
isDirectory: constants.UV_DIRENT_DIR, isDirectory: constants.UV_DIRENT_DIR,
isFile: constants.UV_DIRENT_FILE, isFile: constants.UV_DIRENT_FILE,

View File

@ -16,7 +16,8 @@ common.expectsError(
common.expectsError( common.expectsError(
() => { () => {
const source = 'module.exports = require("internal/bootstrap/loaders")'; const source = 'module.exports = require("internal/bootstrap/loaders")';
process.binding('natives').owo = source; const { internalBinding } = require('internal/test/binding');
internalBinding('natives').owo = source;
require('owo'); require('owo');
}, { }, {
code: 'MODULE_NOT_FOUND', code: 'MODULE_NOT_FOUND',

View File

@ -1,21 +1,41 @@
// Flags: --no-warnings // Flags: --no-warnings
'use strict'; 'use strict';
require('../common'); const common = require('../common');
const assert = require('assert'); const assert = require('assert');
// Assert that whitelisted internalBinding modules are accessible via // Assert that whitelisted internalBinding modules are accessible via
// process.binding(). // process.binding().
assert(process.binding('uv')); assert(process.binding('async_wrap'));
assert(process.binding('http_parser'));
assert(process.binding('v8'));
assert(process.binding('stream_wrap'));
assert(process.binding('signal_wrap'));
assert(process.binding('contextify'));
assert(process.binding('url'));
assert(process.binding('spawn_sync'));
assert(process.binding('js_stream'));
assert(process.binding('buffer')); assert(process.binding('buffer'));
assert(process.binding('cares_wrap'));
assert(process.binding('constants'));
assert(process.binding('contextify'));
if (common.hasCrypto) { // eslint-disable-line node-core/crypto-check
assert(process.binding('crypto'));
}
assert(process.binding('fs')); assert(process.binding('fs'));
assert(process.binding('fs_event_wrap'));
assert(process.binding('http_parser'));
if (common.hasIntl) {
assert(process.binding('icu'));
}
assert(process.binding('inspector')); assert(process.binding('inspector'));
assert(process.binding('js_stream'));
assert(process.binding('natives'));
assert(process.binding('os')); assert(process.binding('os'));
assert(process.binding('pipe_wrap'));
assert(process.binding('signal_wrap'));
assert(process.binding('spawn_sync'));
assert(process.binding('stream_wrap'));
assert(process.binding('tcp_wrap'));
if (common.hasCrypto) { // eslint-disable-line node-core/crypto-check
assert(process.binding('tls_wrap'));
}
assert(process.binding('tty_wrap'));
assert(process.binding('udp_wrap'));
assert(process.binding('url'));
assert(process.binding('util'));
assert(process.binding('uv'));
assert(process.binding('v8'));
assert(process.binding('zlib'));

View File

@ -2,11 +2,11 @@
const common = require('../common'); const common = require('../common');
const assert = require('assert'); const assert = require('assert');
const constants = process.binding('constants'); const constants = require('fs').constants;
if (common.isLinux) { if (common.isLinux) {
assert('O_NOATIME' in constants.fs); assert('O_NOATIME' in constants);
assert.strictEqual(constants.fs.O_NOATIME, 0x40000); assert.strictEqual(constants.O_NOATIME, 0x40000);
} else { } else {
assert(!('O_NOATIME' in constants.fs)); assert(!('O_NOATIME' in constants));
} }

View File

@ -23,7 +23,7 @@
const common = require('../common'); const common = require('../common');
const assert = require('assert'); const assert = require('assert');
const { internalBinding } = require('internal/test/binding'); const { internalBinding } = require('internal/test/binding');
const JSStream = process.binding('js_stream').JSStream; const JSStream = internalBinding('js_stream').JSStream;
const util = require('util'); const util = require('util');
const vm = require('vm'); const vm = require('vm');
const { previewEntries } = internalBinding('util'); const { previewEntries } = internalBinding('util');