summaryrefslogtreecommitdiff
path: root/test/disabled
diff options
context:
space:
mode:
authorChad Rhyner <chadrhyner@gmail.com>2012-11-23 20:49:42 -0800
committerBen Noordhuis <info@bnoordhuis.nl>2012-11-27 07:18:00 +0100
commit8fc578b631d032778d49c65f9de48c946d01f902 (patch)
tree4ce80ded77d099809bc173068b4acba6190310d5 /test/disabled
parent0c9bee49fb27d4b7f6148ecbfa85c826bda9a8ab (diff)
downloadnode-new-8fc578b631d032778d49c65f9de48c946d01f902.tar.gz
test: disable eio-race tests
Disabled the following unit tests: * test-eio-race.js * test-eio-race2.js * test-eio-race4.js These tests are known to fail on busy boxes due to being timing sensitive, and are deemed not meaningful tests. See https://github.com/joyent/node/issues/4272 Fixes #4272.
Diffstat (limited to 'test/disabled')
-rw-r--r--test/disabled/test-eio-race.js85
-rw-r--r--test/disabled/test-eio-race2.js43
-rw-r--r--test/disabled/test-eio-race4.js42
3 files changed, 170 insertions, 0 deletions
diff --git a/test/disabled/test-eio-race.js b/test/disabled/test-eio-race.js
new file mode 100644
index 0000000000..558d09a9cf
--- /dev/null
+++ b/test/disabled/test-eio-race.js
@@ -0,0 +1,85 @@
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+var common = require('../common');
+var assert = require('assert');
+
+var count = 100;
+var fs = require('fs');
+
+// person.jpg is 57kb. We just need some file that is sufficently large.
+var filename = require('path').join(common.fixturesDir, 'person.jpg');
+
+function tryToKillEventLoop() {
+ console.log('trying to kill event loop ...');
+
+ fs.stat(__filename, function(err) {
+ if (err) {
+ throw new Exception('first fs.stat failed');
+ } else {
+ fs.stat(__filename, function(err) {
+ if (err) {
+ throw new Exception('second fs.stat failed');
+ } else {
+ console.log('could not kill event loop, retrying...');
+
+ setTimeout(function() {
+ if (--count) {
+ tryToKillEventLoop();
+ } else {
+ console.log('done trying to kill event loop');
+ process.exit(0);
+ }
+ }, 1);
+ }
+ });
+ }
+ });
+}
+
+// Generate a lot of thread pool events
+var pos = 0;
+fs.open(filename, 'r', 0666, function(err, fd) {
+ if (err) throw err;
+
+ function readChunk() {
+ fs.read(fd, 1024, 0, 'binary', function(err, chunk, bytesRead) {
+ if (err) throw err;
+ if (chunk) {
+ pos += bytesRead;
+ //console.log(pos);
+ readChunk();
+ } else {
+ fs.closeSync(fd);
+ throw new Exception("Shouldn't get EOF");
+ }
+ });
+ }
+ readChunk();
+});
+
+tryToKillEventLoop();
+
+process.on('exit', function() {
+ console.log('done with test');
+ assert.ok(pos > 10000);
+});
diff --git a/test/disabled/test-eio-race2.js b/test/disabled/test-eio-race2.js
new file mode 100644
index 0000000000..df63a3150d
--- /dev/null
+++ b/test/disabled/test-eio-race2.js
@@ -0,0 +1,43 @@
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+var common = require('../common');
+var assert = require('assert');
+var path = require('path');
+var testTxt = path.join(common.fixturesDir, 'x.txt');
+var fs = require('fs');
+
+setTimeout(function() {
+ // put this in a timeout, just so it doesn't get bunched up with the
+ // require() calls..
+ var N = 30;
+ for (var i = 0; i < N; i++) {
+ console.log('start ' + i);
+ fs.readFile(testTxt, function(err, data) {
+ if (err) {
+ console.log('error! ' + e);
+ process.exit(1);
+ } else {
+ console.log('finish');
+ }
+ });
+ }
+}, 100);
diff --git a/test/disabled/test-eio-race4.js b/test/disabled/test-eio-race4.js
new file mode 100644
index 0000000000..8eaeda2171
--- /dev/null
+++ b/test/disabled/test-eio-race4.js
@@ -0,0 +1,42 @@
+// Copyright Joyent, Inc. and other Node contributors.
+//
+// Permission is hereby granted, free of charge, to any person obtaining a
+// copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to permit
+// persons to whom the Software is furnished to do so, subject to the
+// following conditions:
+//
+// The above copyright notice and this permission notice shall be included
+// in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
+// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
+// USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+var common = require('../common');
+var assert = require('assert');
+var fs = require('fs');
+var N = 100;
+var j = 0;
+
+for (var i = 0; i < N; i++) {
+ // these files don't exist
+ fs.stat('does-not-exist-' + i, function(err) {
+ if (err) {
+ j++; // only makes it to about 17
+ console.log('finish ' + j);
+ } else {
+ throw new Error('this shouldn\'t be called');
+ }
+ });
+}
+
+process.on('exit', function() {
+ assert.equal(N, j);
+});