mirror of
https://github.com/nodejs/node.git
synced 2025-05-02 22:31:35 +00:00

These are the core changes that allow AIX to compile. There are still some test failures as there are some patches needed for libuv and npm that we'll need to contribute through those communities but this set allows node to be built on AIX and pass most of the core tests The change in js2c is because AIX does not support $ in identifier names. See the discussion/agreement in https://github.com/nodejs/node/issues/2272 PR-URL: https://github.com/nodejs/node/pull/2364 Reviewed-By: Ben Noordhuis <ben@strongloop.com> Reviewed-By: Rod Vagg <r@va.gg>
40 lines
1.1 KiB
JavaScript
40 lines
1.1 KiB
JavaScript
'use strict';
|
|
var common = require('../common');
|
|
var assert = require('assert');
|
|
var path = require('path');
|
|
|
|
// simulate `cat readfile.js | node readfile.js`
|
|
|
|
if (common.isWindows || common.isAix) {
|
|
console.log(`1..0 # Skipped: No /dev/stdin on ${process.platform}.`);
|
|
return;
|
|
}
|
|
|
|
var fs = require('fs');
|
|
|
|
if (process.argv[2] === 'child') {
|
|
process.stdout.write(fs.readFileSync('/dev/stdin', 'utf8'));
|
|
return;
|
|
}
|
|
|
|
var filename = path.join(common.tmpDir, '/readfilesync_pipe_large_test.txt');
|
|
var dataExpected = new Array(1000000).join('a');
|
|
common.refreshTmpDir();
|
|
fs.writeFileSync(filename, dataExpected);
|
|
|
|
var exec = require('child_process').exec;
|
|
var f = JSON.stringify(__filename);
|
|
var node = JSON.stringify(process.execPath);
|
|
var cmd = 'cat ' + filename + ' | ' + node + ' ' + f + ' child';
|
|
exec(cmd, { maxBuffer: 1000000 }, function(err, stdout, stderr) {
|
|
if (err) console.error(err);
|
|
assert(!err, 'it exits normally');
|
|
assert(stdout === dataExpected, 'it reads the file and outputs it');
|
|
assert(stderr === '', 'it does not write to stderr');
|
|
console.log('ok');
|
|
});
|
|
|
|
process.on('exit', function() {
|
|
fs.unlinkSync(filename);
|
|
});
|