test/server.js asserts on exit that stop() has been called (to detect improper exit)

This commit is contained in:
Jcar
2012-12-20 11:45:06 -08:00
parent b831870576
commit aebfa168e6
2 changed files with 4 additions and 2 deletions

View File

@@ -31,6 +31,7 @@ var Server = function (name, config, verbose) {
this.config = config;
this.started = false;
this.quiet = !verbose;
this.stopping = false; //Not sure if we need this...
};
Server.prototype = new EventEmitter;
@@ -99,6 +100,7 @@ Server.prototype._serverSpawnSync = function() {
this.child.on('exit', function(code, signal) {
// If could not exec: code=127, signal=null
// If regular exit: code=0, signal=null
buster.assert(!self.stopping); //Fail the test if the server is exiting without having called "stop"
if (!self.quiet) console.log("server: spawn: server exited code=%s: signal=%s", code, signal);
});
};
@@ -148,7 +150,7 @@ Server.prototype.start = function () {
// Stop a standalone server.
Server.prototype.stop = function () {
var self = this;
self.stopping = true; //Tell the caller that the server is properly stopping.
if (this.child) {
// Update the on exit to invoke done.
this.child.on('exit', function (code, signal) {