diff options
author | Denys Otrishko <shishugi@gmail.com> | 2018-12-26 14:14:29 +0200 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2018-12-31 01:28:48 +0100 |
commit | 9b60bcb3b92cb499e0ca16682260c403ac4b164e (patch) | |
tree | 779fee907e4586ec8e97c784fc083966f33d89ef /test/sequential | |
parent | 9c2b14013bfa9e44dcb38602b2b57e4b8698b7b4 (diff) | |
download | android-node-v8-9b60bcb3b92cb499e0ca16682260c403ac4b164e.tar.gz android-node-v8-9b60bcb3b92cb499e0ca16682260c403ac4b164e.tar.bz2 android-node-v8-9b60bcb3b92cb499e0ca16682260c403ac4b164e.zip |
test: slightly refactor test-child-process-execsync
* move `start` time to the point of execution (avoids counting 'throws'
tests towards 'timeout' test case)
* scope cmd/ret values where possible
* use `filter` instead of manual if/return
PR-URL: https://github.com/nodejs/node/pull/25227
Refs: https://github.com/nodejs/node/issues/24921
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'test/sequential')
-rw-r--r-- | test/sequential/test-child-process-execsync.js | 50 |
1 files changed, 27 insertions, 23 deletions
diff --git a/test/sequential/test-child-process-execsync.js b/test/sequential/test-child-process-execsync.js index 8e4200dbe9..d6b6fff968 100644 --- a/test/sequential/test-child-process-execsync.js +++ b/test/sequential/test-child-process-execsync.js @@ -28,10 +28,7 @@ const { execFileSync, execSync, spawnSync } = require('child_process'); const TIMER = 200; const SLEEP = 2000; -const start = Date.now(); const execOpts = { encoding: 'utf8', shell: true }; -let err; -let caught = false; // Verify that stderr is not accessed when a bad shell is used assert.throws( @@ -43,9 +40,11 @@ assert.throws( /spawnSync bad_shell ENOENT/ ); -let cmd, ret; +let caught = false; +let ret, err; +const start = Date.now(); try { - cmd = `"${process.execPath}" -e "setTimeout(function(){}, ${SLEEP});"`; + const cmd = `"${process.execPath}" -e "setTimeout(function(){}, ${SLEEP});"`; ret = execSync(cmd, { timeout: TIMER }); } catch (e) { caught = true; @@ -69,28 +68,32 @@ const msgBuf = Buffer.from(`${msg}\n`); // console.log ends every line with just '\n', even on Windows. -cmd = `"${process.execPath}" -e "console.log('${msg}');"`; +const cmd = `"${process.execPath}" -e "console.log('${msg}');"`; -ret = execSync(cmd); - -assert.strictEqual(ret.length, msgBuf.length); -assert.deepStrictEqual(ret, msgBuf); - -ret = execSync(cmd, { encoding: 'utf8' }); +{ + const ret = execSync(cmd); + assert.strictEqual(ret.length, msgBuf.length); + assert.deepStrictEqual(ret, msgBuf); +} -assert.strictEqual(ret, `${msg}\n`); +{ + const ret = execSync(cmd, { encoding: 'utf8' }); + assert.strictEqual(ret, `${msg}\n`); +} const args = [ '-e', `console.log("${msg}");` ]; -ret = execFileSync(process.execPath, args); - -assert.deepStrictEqual(ret, msgBuf); - -ret = execFileSync(process.execPath, args, { encoding: 'utf8' }); +{ + const ret = execFileSync(process.execPath, args); + assert.deepStrictEqual(ret, msgBuf); +} -assert.strictEqual(ret, `${msg}\n`); +{ + const ret = execFileSync(process.execPath, args, { encoding: 'utf8' }); + assert.strictEqual(ret, `${msg}\n`); +} // Verify that the cwd option works. // See https://github.com/nodejs/node-v0.x-archive/issues/7824. @@ -133,10 +136,11 @@ assert.strictEqual(ret, `${msg}\n`); assert.strictEqual(err.message, msg); assert.strictEqual(err.status, 1); assert.strictEqual(typeof err.pid, 'number'); - spawnSyncKeys.forEach((key) => { - if (key === 'pid') return; - assert.deepStrictEqual(err[key], spawnSyncResult[key]); - }); + spawnSyncKeys + .filter((key) => key !== 'pid') + .forEach((key) => { + assert.deepStrictEqual(err[key], spawnSyncResult[key]); + }); return true; }); } |