summaryrefslogtreecommitdiff
path: root/test/parallel/test-fs-readfile-error.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/parallel/test-fs-readfile-error.js')
-rw-r--r--test/parallel/test-fs-readfile-error.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/parallel/test-fs-readfile-error.js b/test/parallel/test-fs-readfile-error.js
new file mode 100644
index 0000000000..86a2be4e1b
--- /dev/null
+++ b/test/parallel/test-fs-readfile-error.js
@@ -0,0 +1,34 @@
+'use strict';
+var common = require('../common');
+var assert = require('assert');
+var exec = require('child_process').exec;
+var path = require('path');
+
+// `fs.readFile('/')` does not fail on FreeBSD, because you can open and read
+// the directory there.
+if (process.platform === 'freebsd') {
+ common.skip('platform not supported.');
+ return;
+}
+
+function test(env, cb) {
+ var filename = path.join(common.fixturesDir, 'test-fs-readfile-error.js');
+ var execPath = '"' + process.execPath + '" "' + filename + '"';
+ var options = { env: Object.assign(process.env, env) };
+ exec(execPath, options, function(err, stdout, stderr) {
+ assert(err);
+ assert.equal(stdout, '');
+ assert.notEqual(stderr, '');
+ cb('' + stderr);
+ });
+}
+
+test({ NODE_DEBUG: '' }, common.mustCall(function(data) {
+ assert(/EISDIR/.test(data));
+ assert(!/test-fs-readfile-error/.test(data));
+}));
+
+test({ NODE_DEBUG: 'fs' }, common.mustCall(function(data) {
+ assert(/EISDIR/.test(data));
+ assert(/test-fs-readfile-error/.test(data));
+}));