2015-05-19 13:00:06 +02:00
|
|
|
'use strict';
|
2010-12-05 22:15:30 +03:00
|
|
|
var common = require('../common');
|
2010-12-04 15:20:34 -08:00
|
|
|
var assert = require('assert');
|
2010-03-17 14:00:17 -07:00
|
|
|
|
|
|
|
var spawn = require('child_process').spawn;
|
2011-02-18 13:44:20 -08:00
|
|
|
|
|
|
|
var env = {
|
|
|
|
'HELLO': 'WORLD'
|
|
|
|
};
|
2016-02-08 21:12:09 +08:00
|
|
|
Object.setPrototypeOf(env, {
|
2011-02-18 13:44:20 -08:00
|
|
|
'FOO': 'BAR'
|
2016-02-08 21:12:09 +08:00
|
|
|
});
|
2011-02-18 13:44:20 -08:00
|
|
|
|
2016-01-28 23:02:57 -08:00
|
|
|
var child;
|
2015-07-29 17:18:04 +05:30
|
|
|
if (common.isWindows) {
|
2016-01-28 23:02:57 -08:00
|
|
|
child = spawn('cmd.exe', ['/c', 'set'], {env: env});
|
2011-08-01 13:43:38 -07:00
|
|
|
} else {
|
2016-01-28 23:02:57 -08:00
|
|
|
child = spawn('/usr/bin/env', [], {env: env});
|
2011-08-01 13:43:38 -07:00
|
|
|
}
|
|
|
|
|
2010-03-17 14:00:17 -07:00
|
|
|
|
2010-12-05 22:15:30 +03:00
|
|
|
var response = '';
|
2010-03-03 10:45:58 -08:00
|
|
|
|
2010-03-17 14:00:17 -07:00
|
|
|
child.stdout.setEncoding('utf8');
|
|
|
|
|
2011-10-15 01:08:36 +02:00
|
|
|
child.stdout.on('data', function(chunk) {
|
2010-12-05 22:15:30 +03:00
|
|
|
console.log('stdout: ' + chunk);
|
2010-03-17 14:00:17 -07:00
|
|
|
response += chunk;
|
2010-03-03 10:45:58 -08:00
|
|
|
});
|
|
|
|
|
2011-10-15 01:08:36 +02:00
|
|
|
process.on('exit', function() {
|
2010-12-05 22:15:30 +03:00
|
|
|
assert.ok(response.indexOf('HELLO=WORLD') >= 0);
|
2011-02-18 13:44:20 -08:00
|
|
|
assert.ok(response.indexOf('FOO=BAR') >= 0);
|
2010-03-03 10:45:58 -08:00
|
|
|
});
|