mirror of https://github.com/nodejs/node.git
34 lines
907 B
JavaScript
34 lines
907 B
JavaScript
|
'use strict';
|
||
|
const common = require('../common');
|
||
|
const fixtures = require('../common/fixtures');
|
||
|
const assert = require('assert');
|
||
|
const child_process = require('child_process');
|
||
|
const path = require('path');
|
||
|
|
||
|
common.allowGlobals(global.require);
|
||
|
let binary = process.features.debug ?
|
||
|
'out/Debug/embedtest' : 'out/Release/embedtest';
|
||
|
if (common.isWindows) {
|
||
|
binary += '.exe';
|
||
|
}
|
||
|
binary = path.resolve(__dirname, '..', '..', binary);
|
||
|
|
||
|
assert.strictEqual(
|
||
|
child_process.spawnSync(binary, ['console.log(42)'])
|
||
|
.stdout.toString().trim(),
|
||
|
'42');
|
||
|
|
||
|
assert.strictEqual(
|
||
|
child_process.spawnSync(binary, ['throw new Error()']).status,
|
||
|
1);
|
||
|
|
||
|
assert.strictEqual(
|
||
|
child_process.spawnSync(binary, ['process.exitCode = 8']).status,
|
||
|
8);
|
||
|
|
||
|
|
||
|
const fixturePath = JSON.stringify(fixtures.path('exit.js'));
|
||
|
assert.strictEqual(
|
||
|
child_process.spawnSync(binary, [`require(${fixturePath})`, 92]).status,
|
||
|
92);
|