Skip to content

Commit

Permalink
fs: make process.binding('fs') internal
Browse files Browse the repository at this point in the history
Refs: nodejs#22160

PR-URL: nodejs#22478
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Denys Otrishko <shishugi@gmail.com>

Backport-PR-URL: nodejs#25446
  • Loading branch information
Masashi Hirano authored and BridgeAR committed Jan 16, 2019
1 parent 468ccac commit 43c743d
Show file tree
Hide file tree
Showing 16 changed files with 32 additions and 19 deletions.
2 changes: 1 addition & 1 deletion lib/fs.js
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ const {

const pathModule = require('path');
const { isArrayBufferView } = require('internal/util/types');
const binding = process.binding('fs');
const binding = internalBinding('fs');
const { Buffer, kMaxLength } = require('buffer');
const errors = require('internal/errors');
const {
Expand Down
1 change: 1 addition & 0 deletions lib/internal/bootstrap/loaders.js
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@
'constants',
'contextify',
'crypto',
'fs',
'fs_event_wrap',
'http_parser',
'icu',
Expand Down
2 changes: 1 addition & 1 deletion lib/internal/fs/promises.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ const {
S_IFMT,
S_IFREG
} = internalBinding('constants').fs;
const binding = process.binding('fs');
const binding = internalBinding('fs');
const { Buffer, kMaxLength } = require('buffer');
const {
ERR_FS_FILE_TOO_LARGE,
Expand Down
3 changes: 2 additions & 1 deletion lib/internal/fs/read_file_context.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
'use strict';

const { Buffer } = require('buffer');
const { FSReqCallback, close, read } = process.binding('fs');

const { FSReqCallback, close, read } = internalBinding('fs');

const kReadFileBufferLength = 8 * 1024;

Expand Down
2 changes: 1 addition & 1 deletion lib/internal/fs/streams.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
const {
FSReqCallback,
writeBuffers
} = process.binding('fs');
} = internalBinding('fs');
const {
ERR_INVALID_ARG_TYPE,
ERR_OUT_OF_RANGE
Expand Down
2 changes: 1 addition & 1 deletion lib/internal/fs/watchers.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ const errors = require('internal/errors');
const {
kFsStatsFieldsNumber,
StatWatcher: _StatWatcher
} = process.binding('fs');
} = internalBinding('fs');
const { FSEvent } = internalBinding('fs_event_wrap');
const { UV_ENOSPC } = internalBinding('uv');
const { EventEmitter } = require('events');
Expand Down
2 changes: 1 addition & 1 deletion lib/internal/http2/core.js
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ const {
} = require('internal/timers');
const { isArrayBufferView } = require('internal/util/types');

const { FileHandle } = process.binding('fs');
const { FileHandle } = internalBinding('fs');
const binding = internalBinding('http2');
const {
ShutdownWrap,
Expand Down
2 changes: 1 addition & 1 deletion lib/internal/modules/cjs/loader.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ const { URL } = require('url');
const {
internalModuleReadJSON,
internalModuleStat
} = process.binding('fs');
} = internalBinding('fs');
const { safeGetenv } = internalBinding('util');
const {
makeRequireFunction,
Expand Down
2 changes: 1 addition & 1 deletion lib/internal/net.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
'use strict';

const Buffer = require('buffer').Buffer;
const { writeBuffer } = process.binding('fs');
const { writeBuffer } = internalBinding('fs');
const errors = require('internal/errors');

// IPv4 Segment
Expand Down
2 changes: 1 addition & 1 deletion src/node_file.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2236,4 +2236,4 @@ void Initialize(Local<Object> target,

} // end namespace node

NODE_BUILTIN_MODULE_CONTEXT_AWARE(fs, node::fs::Initialize)
NODE_MODULE_CONTEXT_AWARE_INTERNAL(fs, node::fs::Initialize)
4 changes: 3 additions & 1 deletion test/parallel/test-assert.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// Flags: --expose-internals
// Copyright Joyent, Inc. and other Node contributors.
//
// Permission is hereby granted, free of charge, to any person obtaining a
Expand All @@ -24,6 +25,7 @@
const common = require('../common');
const assert = require('assert');
const { inspect } = require('util');
const { internalBinding } = require('internal/test/binding');
const a = assert;

// Disable colored output to prevent color codes from breaking assertion
Expand Down Expand Up @@ -656,7 +658,7 @@ common.expectsError(

{
// Test caching.
const fs = process.binding('fs');
const fs = internalBinding('fs');
const tmp = fs.close;
fs.close = common.mustCall(tmp, 1);
function throwErr() {
Expand Down
18 changes: 12 additions & 6 deletions test/parallel/test-fs-filehandle.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,8 @@
const common = require('../common');
const assert = require('assert');
const path = require('path');
const fs = process.binding('fs');
const { internalBinding } = require('internal/test/binding');
const fs = internalBinding('fs');
const { stringToFlags } = require('internal/fs/utils');

// Verifies that the FileHandle object is garbage collected and that a
Expand All @@ -18,11 +19,16 @@ let fdnum;
assert.strictEqual(ctx.errno, undefined);
}

common.expectWarning(
'Warning',
`Closing file descriptor ${fdnum} on garbage collection`,
common.noWarnCode
);
common.expectWarning({
'internal/test/binding': [
'These APIs are for internal testing only. Do not use them.',
common.noWarnCode
],
'Warning': [
`Closing file descriptor ${fdnum} on garbage collection`,
common.noWarnCode
]
});

global.gc();

Expand Down
2 changes: 1 addition & 1 deletion test/parallel/test-fs-sync-fd-leak.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ fs.writeSync = function() {
throw new Error('BAM');
};

process.binding('fs').fstat = function(fd, bigint, _, ctx) {
internalBinding('fs').fstat = function(fd, bigint, _, ctx) {
ctx.errno = UV_EBADF;
ctx.syscall = 'fstat';
};
Expand Down
4 changes: 3 additions & 1 deletion test/parallel/test-module-binding.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
// Flags: --expose-internals
'use strict';
require('../common');
const fixtures = require('../common/fixtures');
const { internalModuleReadJSON } = process.binding('fs');
const { internalBinding } = require('internal/test/binding');
const { internalModuleReadJSON } = internalBinding('fs');
const { readFileSync } = require('fs');
const { strictEqual } = require('assert');

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,4 @@ assert(process.binding('url'));
assert(process.binding('spawn_sync'));
assert(process.binding('js_stream'));
assert(process.binding('buffer'));
assert(process.binding('fs'));
2 changes: 1 addition & 1 deletion test/sequential/test-async-wrap-getasyncid.js
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ if (common.hasCrypto) { // eslint-disable-line node-core/crypto-check


{
const binding = process.binding('fs');
const binding = internalBinding('fs');
const path = require('path');

const FSReqCallback = binding.FSReqCallback;
Expand Down

0 comments on commit 43c743d

Please sign in to comment.