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

@@ -9,7 +9,7 @@ var alpha;
buster.testCase("Standalone server startup", {
"server start and stop" : function (done) {
alpha = Server.from_config("alpha",true);
alpha = Server.from_config("alpha"); //ADD ,true for verbosity
alpha
.on('started', function () {

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) {