mirror of https://gitee.com/openkylin/nodejs.git
44 lines
1.1 KiB
JavaScript
44 lines
1.1 KiB
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);
|
||
common.allowGlobals(global.embedVars);
|
||
let binary = `out/${common.buildType}/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, ['console.log(embedVars.nön_ascıı)'])
|
||
.stdout.toString().trim(),
|
||
'🏳️🌈');
|
||
|
||
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);
|