--- /dev/null
+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);
--- /dev/null
+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);
+});