Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorForrest L Norvell <forrest@npmjs.com>2014-10-15 08:50:01 +0400
committerForrest L Norvell <forrest@npmjs.com>2014-10-15 08:50:01 +0400
commitf096c250441b031d758f03afbe8d2321f94c7703 (patch)
tree02ca397998afab33ec8f47f47a47f699b638020c /node_modules/graceful-fs
parent2620216da485e7c6740c74611f2491f728816517 (diff)
graceful-fs@3.0.4
Add a bunch of additional tests, skip the unfortunate complications of graceful-fs@3.0.3.
Diffstat (limited to 'node_modules/graceful-fs')
-rw-r--r--node_modules/graceful-fs/package.json24
-rw-r--r--node_modules/graceful-fs/test/max-open.js69
-rw-r--r--node_modules/graceful-fs/test/readdir-sort.js1
-rw-r--r--node_modules/graceful-fs/test/write-then-read.js45
4 files changed, 129 insertions, 10 deletions
diff --git a/node_modules/graceful-fs/package.json b/node_modules/graceful-fs/package.json
index a77f90c7d..57ce64885 100644
--- a/node_modules/graceful-fs/package.json
+++ b/node_modules/graceful-fs/package.json
@@ -6,7 +6,7 @@
},
"name": "graceful-fs",
"description": "A drop-in replacement for fs, making various improvements.",
- "version": "3.0.2",
+ "version": "3.0.4",
"repository": {
"type": "git",
"url": "git://github.com/isaacs/node-graceful-fs.git"
@@ -38,15 +38,20 @@
"EACCESS"
],
"license": "BSD",
- "gitHead": "0caa11544c0c9001db78bf593cf0c5805d149a41",
+ "devDependencies": {
+ "mkdirp": "^0.5.0",
+ "rimraf": "^2.2.8",
+ "tap": "^0.4.13"
+ },
+ "gitHead": "d3fd03247ccc4fa8a3eee399307fd266c70efb06",
"bugs": {
"url": "https://github.com/isaacs/node-graceful-fs/issues"
},
"homepage": "https://github.com/isaacs/node-graceful-fs",
- "_id": "graceful-fs@3.0.2",
- "_shasum": "2cb5bf7f742bea8ad47c754caeee032b7e71a577",
- "_from": "graceful-fs@~3.0.0",
- "_npmVersion": "1.4.14",
+ "_id": "graceful-fs@3.0.4",
+ "_shasum": "a0306d9b0940e0fc512d33b5df1014e88e0637a3",
+ "_from": "graceful-fs@>=3.0.4 <4.0.0",
+ "_npmVersion": "1.4.28",
"_npmUser": {
"name": "isaacs",
"email": "i@izs.me"
@@ -58,8 +63,9 @@
}
],
"dist": {
- "shasum": "2cb5bf7f742bea8ad47c754caeee032b7e71a577",
- "tarball": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.2.tgz"
+ "shasum": "a0306d9b0940e0fc512d33b5df1014e88e0637a3",
+ "tarball": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.4.tgz"
},
- "_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.2.tgz"
+ "_resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.4.tgz",
+ "readme": "ERROR: No README data found!"
}
diff --git a/node_modules/graceful-fs/test/max-open.js b/node_modules/graceful-fs/test/max-open.js
new file mode 100644
index 000000000..44d52679b
--- /dev/null
+++ b/node_modules/graceful-fs/test/max-open.js
@@ -0,0 +1,69 @@
+var test = require('tap').test
+var fs = require('../')
+
+test('open lots of stuff', function (t) {
+ // Get around EBADF from libuv by making sure that stderr is opened
+ // Otherwise Darwin will refuse to give us a FD for stderr!
+ process.stderr.write('')
+
+ // How many parallel open()'s to do
+ var n = 1024
+ var opens = 0
+ var fds = []
+ var going = true
+ var closing = false
+ var doneCalled = 0
+
+ for (var i = 0; i < n; i++) {
+ go()
+ }
+
+ function go() {
+ opens++
+ fs.open(__filename, 'r', function (er, fd) {
+ if (er) throw er
+ fds.push(fd)
+ if (going) go()
+ })
+ }
+
+ // should hit ulimit pretty fast
+ setTimeout(function () {
+ going = false
+ t.equal(opens - fds.length, n)
+ done()
+ }, 100)
+
+
+ function done () {
+ if (closing) return
+ doneCalled++
+
+ if (fds.length === 0) {
+ //console.error('done called %d times', doneCalled)
+ // First because of the timeout
+ // Then to close the fd's opened afterwards
+ // Then this time, to complete.
+ // Might take multiple passes, depending on CPU speed
+ // and ulimit, but at least 3 in every case.
+ t.ok(doneCalled >= 3)
+ return t.end()
+ }
+
+ closing = true
+ setTimeout(function () {
+ // console.error('do closing again')
+ closing = false
+ done()
+ }, 100)
+
+ // console.error('closing time')
+ var closes = fds.slice(0)
+ fds.length = 0
+ closes.forEach(function (fd) {
+ fs.close(fd, function (er) {
+ if (er) throw er
+ })
+ })
+ }
+})
diff --git a/node_modules/graceful-fs/test/readdir-sort.js b/node_modules/graceful-fs/test/readdir-sort.js
index fe005aa7a..cb63a6846 100644
--- a/node_modules/graceful-fs/test/readdir-sort.js
+++ b/node_modules/graceful-fs/test/readdir-sort.js
@@ -14,7 +14,6 @@ test("readdir reorder", function (t) {
g.readdir("whatevers", function (er, files) {
if (er)
throw er
- console.error(files)
t.same(files, [ "a", "b", "z" ])
t.end()
})
diff --git a/node_modules/graceful-fs/test/write-then-read.js b/node_modules/graceful-fs/test/write-then-read.js
new file mode 100644
index 000000000..3a3db54b0
--- /dev/null
+++ b/node_modules/graceful-fs/test/write-then-read.js
@@ -0,0 +1,45 @@
+var fs = require('../');
+var rimraf = require('rimraf');
+var mkdirp = require('mkdirp');
+var test = require('tap').test;
+var p = require('path').resolve(__dirname, 'files');
+
+// Make sure to reserve the stderr fd
+process.stderr.write('');
+
+var num = 4097;
+var paths = new Array(num);
+
+test('make files', function (t) {
+ rimraf.sync(p);
+ mkdirp.sync(p);
+
+ for (var i = 0; i < num; ++i) {
+ paths[i] = 'files/file-' + i;
+ fs.writeFileSync(paths[i], 'content');
+ }
+
+ t.end();
+})
+
+test('read files', function (t) {
+ // now read them
+ var done = 0;
+ for (var i = 0; i < num; ++i) {
+ fs.readFile(paths[i], function(err, data) {
+ if (err)
+ throw err;
+
+ ++done;
+ if (done === num) {
+ t.pass('success');
+ t.end()
+ }
+ });
+ }
+});
+
+test('cleanup', function (t) {
+ rimraf.sync(p);
+ t.end();
+});