Files
node-v0.x-archive/test/mjsunit/test-process-buffering.js
Ryan 7363ccd273 bugfix: Properly exit a process.
This requires that onExit() is not called immediately upon receiving a
SIGCHLD. There could still be data in the pipez. So, instead just set a
flag and invoke the pipe watchers.

Sometimes one will not receive an EOF from pipes because the process was
killed by a SIGTERM, or something. If SIGCHLD has been recved but we are
getting EAGAIN, the pipez need to be closed too.
2009-06-24 13:44:12 +02:00

30 lines
521 B
JavaScript

include("mjsunit.js");
var pwd_called = false;
function pwd (callback) {
var output = "";
var process = new node.Process("pwd");
process.onOutput = function (s) {
if (s) output += s;
};
process.onExit = function(c) {
assertEquals(0, c);
callback(output);
pwd_called = true;
};
}
function onLoad () {
pwd(function (result) {
print(result);
assertTrue(result.length > 1);
assertEquals("\n", result[result.length-1]);
});
}
function onExit () {
assertTrue(pwd_called);
}