summaryrefslogtreecommitdiff
path: root/test/sequential
diff options
context:
space:
mode:
authorMarcus Scott <mmmrscott@gmail.com>2018-10-16 14:16:17 +0000
committerJames M Snell <jasnell@gmail.com>2018-11-09 16:11:51 -0800
commite492f92ec5a89f6cfd3da7fdb9db14c8d2cf9d0a (patch)
tree604caeb617763ed2640226476d15b15dc903f838 /test/sequential
parentc17fef7ffb8c6db8af13cd2bbffecbbc452c1718 (diff)
downloadandroid-node-v8-e492f92ec5a89f6cfd3da7fdb9db14c8d2cf9d0a.tar.gz
android-node-v8-e492f92ec5a89f6cfd3da7fdb9db14c8d2cf9d0a.tar.bz2
android-node-v8-e492f92ec5a89f6cfd3da7fdb9db14c8d2cf9d0a.zip
test: move test-fs-watch-system-limit from sequential to pummel
PR-URL: https://github.com/nodejs/node/pull/23692 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'test/sequential')
-rw-r--r--test/sequential/test-fs-watch-system-limit.js67
1 files changed, 0 insertions, 67 deletions
diff --git a/test/sequential/test-fs-watch-system-limit.js b/test/sequential/test-fs-watch-system-limit.js
deleted file mode 100644
index 8b9cb62ad0..0000000000
--- a/test/sequential/test-fs-watch-system-limit.js
+++ /dev/null
@@ -1,67 +0,0 @@
-'use strict';
-const common = require('../common');
-const assert = require('assert');
-const child_process = require('child_process');
-const fs = require('fs');
-const stream = require('stream');
-
-if (!common.isLinux)
- common.skip('The fs watch limit is OS-dependent');
-if (!common.enoughTestCpu)
- common.skip('This test is resource-intensive');
-
-try {
- // Ensure inotify limit is low enough for the test to actually exercise the
- // limit with small enough resources.
- const limit = Number(
- fs.readFileSync('/proc/sys/fs/inotify/max_user_watches', 'utf8'));
- if (limit > 16384)
- common.skip('inotify limit is quite large');
-} catch (e) {
- if (e.code === 'ENOENT')
- common.skip('the inotify /proc subsystem does not exist');
- // Fail on other errors.
- throw e;
-}
-
-const processes = [];
-const gatherStderr = new stream.PassThrough();
-gatherStderr.setEncoding('utf8');
-gatherStderr.setMaxListeners(Infinity);
-
-let finished = false;
-function spawnProcesses() {
- for (let i = 0; i < 10; ++i) {
- const proc = child_process.spawn(
- process.execPath,
- [ '-e',
- `process.chdir(${JSON.stringify(__dirname)});
- for (const file of fs.readdirSync('.'))
- fs.watch(file, () => {});`
- ], { stdio: ['inherit', 'inherit', 'pipe'] });
- proc.stderr.pipe(gatherStderr);
- processes.push(proc);
- }
-
- setTimeout(() => {
- if (!finished && processes.length < 200)
- spawnProcesses();
- }, 100);
-}
-
-spawnProcesses();
-
-let accumulated = '';
-gatherStderr.on('data', common.mustCallAtLeast((chunk) => {
- accumulated += chunk;
- if (accumulated.includes('Error:') && !finished) {
- assert(
- accumulated.includes('ENOSPC: System limit for number ' +
- 'of file watchers reached') ||
- accumulated.includes('EMFILE: '),
- accumulated);
- console.log(`done after ${processes.length} processes, cleaning up`);
- finished = true;
- processes.forEach((proc) => proc.kill());
- }
-}, 1));