mirror of https://github.com/lukechilds/node.git
Ryan Dahl
15 years ago
4 changed files with 74 additions and 23 deletions
@ -0,0 +1,9 @@ |
|||
require("../common"); |
|||
Buffer = require("buffer").Buffer; |
|||
|
|||
var n = parseInt(process.argv[2]); |
|||
|
|||
b = new Buffer(n); |
|||
for (var i = 0; i < n; i++) { b[i] = 100; } |
|||
|
|||
process.stdout.write(b); |
@ -1,2 +0,0 @@ |
|||
var sys = require('sys'); |
|||
sys.puts('test'); |
@ -1,19 +1,52 @@ |
|||
require('../common'); |
|||
var path = require('path') |
|||
, childProccess = require('child_process') |
|||
, fs = require('fs') |
|||
, stdoutScript = path.join(path.dirname(__dirname), 'fixtures/stdout.js') |
|||
, tmpFile = path.join(path.dirname(__dirname), 'fixtures/stdout.txt') |
|||
, cmd = process.argv[0]+' '+stdoutScript+' > '+tmpFile; |
|||
|
|||
try { |
|||
path = require('path'); |
|||
childProccess = require('child_process'); |
|||
fs = require('fs'); |
|||
scriptString = path.join(fixturesDir, 'print-chars.js'); |
|||
scriptBuffer = path.join(fixturesDir, 'print-chars-from-buffer.js'); |
|||
tmpFile = path.join(fixturesDir, 'stdout.txt'); |
|||
|
|||
function test (size, useBuffer, cb) { |
|||
var cmd = process.argv[0] |
|||
+ ' ' |
|||
+ (useBuffer ? scriptBuffer : scriptString) |
|||
+ ' ' |
|||
+ size |
|||
+ ' > ' |
|||
+ tmpFile |
|||
; |
|||
|
|||
try { |
|||
fs.unlinkSync(tmpFile); |
|||
} catch (e) {} |
|||
} catch (e) {} |
|||
|
|||
print(size + ' chars to ' + tmpFile + '...'); |
|||
|
|||
childProccess.exec(cmd, function(err) { |
|||
childProccess.exec(cmd, function(err) { |
|||
if (err) throw err; |
|||
|
|||
var data = fs.readFileSync(tmpFile); |
|||
assert.equal(data, "test\n"); |
|||
puts('done!'); |
|||
|
|||
var stat = fs.statSync(tmpFile); |
|||
|
|||
puts(tmpFile + ' has ' + stat.size + ' bytes'); |
|||
|
|||
assert.equal(size, stat.size); |
|||
fs.unlinkSync(tmpFile); |
|||
|
|||
cb(); |
|||
}); |
|||
} |
|||
|
|||
finished = false; |
|||
test(1024*1024, false, function () { |
|||
puts("Done printing with string"); |
|||
test(1024*1024, true, function () { |
|||
puts("Done printing with buffer"); |
|||
finished = true; |
|||
}); |
|||
}); |
|||
|
|||
process.addListener('exit', function () { |
|||
assert.ok(finished); |
|||
}); |
Loading…
Reference in new issue