Browse Source

Add failing test for stdout flush on exit

v0.7.4-release
Ryan Dahl 15 years ago
parent
commit
a695065305
  1. 12
      test/mjsunit/fixtures/print-chars.js
  2. 1
      test/mjsunit/test-readdir.js
  3. 44
      test/mjsunit/test-stdout-flush.js

12
test/mjsunit/fixtures/print-chars.js

@ -0,0 +1,12 @@
process.mixin(require("../common"));
var n = parseInt(process.argv[2]);
var s = "";
for (var i = 0; i < n-1; i++) {
s += 'c';
}
puts(s); // \n is the nth char.
process.exit(0);

1
test/mjsunit/test-readdir.js

@ -13,6 +13,7 @@ promise.addCallback(function (files) {
, 'echo.js' , 'echo.js'
, 'multipart.js' , 'multipart.js'
, 'nested-index' , 'nested-index'
, 'print-chars.js'
, 'test_ca.pem' , 'test_ca.pem'
, 'test_cert.pem' , 'test_cert.pem'
, 'test_key.pem' , 'test_key.pem'

44
test/mjsunit/test-stdout-flush.js

@ -0,0 +1,44 @@
process.mixin(require("./common"));
var sub = path.join(fixturesDir, 'print-chars.js');
completedTests = 0;
function test (n, cb) {
var child = process.createChildProcess(process.argv[0], [sub, n]);
var count = 0;
child.addListener("error", function (data){
if (data) {
puts("parent stderr: " + data);
assert.ok(false);
}
});
child.addListener("output", function (data){
if (data) {
count += data.length;
}
});
child.addListener("exit", function (data) {
assert.equal(n, count);
puts(n + " okay");
completedTests++;
if (cb) cb();
});
}
test(5000, function () {
test(50000, function () {
test(500000);
});
});
process.addListener('exit', function () {
assert.equal(3, completedTests);
});
Loading…
Cancel
Save