Code coverage report for api/shellPromise.js

Statements: 100% (12 / 12)      Branches: 100% (2 / 2)      Functions: 100% (2 / 2)      Lines: 100% (12 / 12)      Ignored: none     

All files » api/ » shellPromise.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28  1 1 1   1 2       2 2   2     1   1     1       2    
/* globals __dirname */
var Q = require("q");
var childProcess = require("child_process");
var serverInternalPath = new RegExp(__dirname.replace(/lib$/g, "") + "[^.]*/", "g");
 
exports.execute = function(command) {
	var deferred,
		localProcess;
 
	// console.log(command);
	deferred = Q.defer();
	localProcess = childProcess.exec(command, function(error, stdout) {
		// console.log("in result childProcess");
		if (error !== null) {
			// console.log("rejecting childProcess error", error);
			// console.log(error.message)
			var message = error.message.replace(serverInternalPath, "");
			// console.log("message", message)
			deferred.reject(new Error(message));
		} else {
			// console.log("resolving childProcess stdout", stdout);
			deferred.resolve(stdout);
		}
	});
 
	return deferred.promise;
};