diff options
author | Denys Otrishko <shishugi@gmail.com> | 2018-07-11 00:58:01 +0300 |
---|---|---|
committer | Anna Henningsen <anna@addaleax.net> | 2018-07-14 12:04:53 +0200 |
commit | 19e10ec2e2cb3bf5dbe3110ee49e32dcb3d0fdea (patch) | |
tree | 09e1e05340109d79346ae6235b560fdc5bf17439 /test/parallel/test-process-exit-code.js | |
parent | 35326f27fd9693fcf02a2eab5e22c78b0b702508 (diff) | |
download | android-node-v8-19e10ec2e2cb3bf5dbe3110ee49e32dcb3d0fdea.tar.gz android-node-v8-19e10ec2e2cb3bf5dbe3110ee49e32dcb3d0fdea.tar.bz2 android-node-v8-19e10ec2e2cb3bf5dbe3110ee49e32dcb3d0fdea.zip |
test: refactor process/worker exitCode tests
PR-URL: https://github.com/nodejs/node/pull/21739
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Diffstat (limited to 'test/parallel/test-process-exit-code.js')
-rw-r--r-- | test/parallel/test-process-exit-code.js | 131 |
1 files changed, 14 insertions, 117 deletions
diff --git a/test/parallel/test-process-exit-code.js b/test/parallel/test-process-exit-code.js index 20004a9d7d..9059b0b5c2 100644 --- a/test/parallel/test-process-exit-code.js +++ b/test/parallel/test-process-exit-code.js @@ -23,113 +23,18 @@ require('../common'); const assert = require('assert'); -switch (process.argv[2]) { - case 'child1': - return child1(); - case 'child2': - return child2(); - case 'child3': - return child3(); - case 'child4': - return child4(); - case 'child5': - return child5(); - case 'child6': - return child6(); - case 'child7': - return child7(); - case 'child8': - return child8(); - case 'child9': - return child9(); - case undefined: - return parent(); - default: - throw new Error('invalid'); -} - -function child1() { - process.exitCode = 42; - process.on('exit', function(code) { - assert.strictEqual(process.exitCode, 42); - assert.strictEqual(code, 42); - }); -} - -function child2() { - process.exitCode = 99; - process.on('exit', function(code) { - assert.strictEqual(process.exitCode, 42); - assert.strictEqual(code, 42); - }); - process.exit(42); -} - -function child3() { - process.exitCode = 99; - process.on('exit', function(code) { - assert.strictEqual(process.exitCode, 0); - assert.strictEqual(code, 0); - }); - process.exit(0); -} - -function child4() { - process.exitCode = 99; - process.on('exit', function(code) { - if (code !== 1 || process.exitCode !== 1) { - console.log('wrong code! expected 1 for uncaughtException'); - process.exit(99); - } - }); - throw new Error('ok'); -} - -function child5() { - process.exitCode = 95; - process.on('exit', function(code) { - assert.strictEqual(process.exitCode, 95); - assert.strictEqual(code, 95); - process.exitCode = 99; - }); -} - -function child6() { - process.on('exit', function(code) { - assert.strictEqual(process.exitCode, 0); - assert.strictEqual(code, 0); - }); - process.on('uncaughtException', () => {}); - throw new Error('ok'); -} - -function child7() { - process.on('exit', function(code) { - assert.strictEqual(process.exitCode, 97); - assert.strictEqual(code, 97); - }); - process.on('uncaughtException', () => { - process.exitCode = 97; - }); - throw new Error('ok'); -} - -function child8() { - process.on('exit', function(code) { - assert.strictEqual(process.exitCode, 1); - assert.strictEqual(code, 1); - process.exitCode = 98; - }); - throw new Error('ok'); -} +const testCases = require('../fixtures/process-exit-code-cases'); -function child9() { - process.on('exit', function(code) { - assert.strictEqual(process.exitCode, 1); - assert.strictEqual(code, 1); - process.exitCode = 0; - }); - throw new Error('ok'); +if (!process.argv[2]) { + parent(); +} else { + const i = parseInt(process.argv[2]); + if (Number.isNaN(i)) { + console.log('Invalid test case index'); + process.exit(100); + return; + } + testCases[i].func(); } function parent() { @@ -138,22 +43,14 @@ function parent() { const f = __filename; const option = { stdio: [ 0, 1, 'ignore' ] }; - const test = (arg, exit) => { + const test = (arg, name = 'child', exit) => { spawn(node, [f, arg], option).on('exit', (code) => { assert.strictEqual( code, exit, - `wrong exit for ${arg}\nexpected:${exit} but got:${code}`); + `wrong exit for ${arg}-${name}\nexpected:${exit} but got:${code}`); console.log(`ok - ${arg} exited with ${exit}`); }); }; - test('child1', 42); - test('child2', 42); - test('child3', 0); - test('child4', 1); - test('child5', 99); - test('child6', 0); - test('child7', 97); - test('child8', 98); - test('child9', 0); + testCases.forEach((tc, i) => test(i, tc.func.name, tc.result)); } |