Files
xahaud/test/server.js
2012-09-15 15:45:33 -07:00

61 lines
1.2 KiB
JavaScript

// Manage test servers
// Provide servers
//
// Servers are created in tmp/server/$server
//
console.log("server.js>");
var config = require("./config.js");
var utils = require("./utils.js");
var fs = require("fs");
var path = require("path");
var util = require("util");
// var child = require("child");
var serverPath = function(name) {
return "tmp/server/" + name;
};
// Return a server's newcoind.cfg as string.
var serverConfig = function(name) {
var cfg = config.servers[name];
return Object.keys(cfg).map(function (o) {
return util.format("[%s]\n%s\n", o, cfg[o]);
}).join("");
};
var writeConfig = function(name, done) {
fs.writeFile(path.join(serverPath(name), "newcoind.cfg"), serverConfig(name), 'utf8', done);
};
var makeBase = function(name, done) {
var path = serverPath(name);
console.log("start> %s: %s", name, path);
// Reset the server directory, build it if needed.
utils.resetPath(path, parseInt('0777', 8), function (e) {
if (e) {
throw e;
}
else {
writeConfig(name, done);
}
});
console.log("start< %s", name);
};
var start = function(name, done) {
makeBase(name, done);
};
exports.start = start;
console.log("server.js<");
// vim:ts=4