summaryrefslogtreecommitdiff
path: root/src/mongo/shell/servers.js
diff options
context:
space:
mode:
authorAlexander Neben <alexander.neben@mongodb.com>2022-08-04 12:43:46 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-08-12 22:50:14 +0000
commitaef78a6bdb3102a331aa89e7c52f91af2d8aae5d (patch)
tree0771b5ea81d2ace91122b18c08e780d1b6c02c07 /src/mongo/shell/servers.js
parent6038f1055b2bf9388ebeff5923b7e6edf5a0568f (diff)
downloadmongo-aef78a6bdb3102a331aa89e7c52f91af2d8aae5d.tar.gz
SERVER-68119 Standardized mongo lookup
Diffstat (limited to 'src/mongo/shell/servers.js')
-rw-r--r--src/mongo/shell/servers.js48
1 files changed, 34 insertions, 14 deletions
diff --git a/src/mongo/shell/servers.js b/src/mongo/shell/servers.js
index 769586308fe..16b1abdfc8f 100644
--- a/src/mongo/shell/servers.js
+++ b/src/mongo/shell/servers.js
@@ -72,15 +72,42 @@ var createMongoArgs = function(binaryName, args) {
return fullArgs;
};
+// A path.join-like thing for paths that must work
+// on Windows (\-separated) and *nix (/-separated).
+function pathJoin(...parts) {
+ const separator = _isWindows() ? '\\' : '/';
+ return parts.join(separator);
+}
+
MongoRunner = function() {};
MongoRunner.dataDir = "/data/db";
MongoRunner.dataPath = "/data/db/";
-MongoRunner.mongodPath = "mongod";
-MongoRunner.mongosPath = "mongos";
-MongoRunner.mongoqPath = "mongoqd";
-MongoRunner.mongoShellPath = "mongo";
+function getMongoSuffixPath(binary_name) {
+ let installDir = _getEnv("INSTALL_DIR");
+ if (installDir && !jsTestOptions().inEvergreen) {
+ return pathJoin(installDir, binary_name);
+ }
+ return binary_name;
+}
+
+MongoRunner.getMongodPath = function() {
+ return getMongoSuffixPath("mongod");
+};
+
+MongoRunner.getMongosPath = function() {
+ return getMongoSuffixPath("mongos");
+};
+
+MongoRunner.getMongoqPath = function() {
+ return getMongoSuffixPath("mongoqd");
+};
+
+MongoRunner.getMongoShellPath = function() {
+ let shellPath = getMongoSuffixPath("mongo");
+ return shellPath;
+};
MongoRunner.VersionSub = function(pattern, version) {
this.pattern = pattern;
@@ -99,13 +126,6 @@ function getPids() {
return pids;
}
-// A path.join-like thing for paths that must work
-// on Windows (\-separated) and *nix (/-separated).
-function pathJoin(...parts) {
- const separator = _isWindows() ? '\\' : '/';
- return parts.join(separator);
-}
-
// Internal state to determine if the hang analyzer should be enabled or not.
// Accessible via global setter/getter defined below.
let _hangAnalyzerEnabled = true;
@@ -977,7 +997,7 @@ MongoRunner.runMongod = function(opts) {
}
}
- var mongodProgram = MongoRunner.mongodPath;
+ var mongodProgram = MongoRunner.getMongodPath();
opts = MongoRunner.arrOptions(mongodProgram, opts);
}
@@ -1015,7 +1035,7 @@ MongoRunner.runMongos = function(opts) {
runId = opts.runId;
waitForConnect = opts.waitForConnect;
env = opts.env;
- var mongosProgram = MongoRunner.mongosPath;
+ var mongosProgram = MongoRunner.getMongosPath();
opts = MongoRunner.arrOptions(mongosProgram, opts);
}
@@ -1052,7 +1072,7 @@ MongoRunner.runMongoq = function(opts) {
runId = opts.runId;
waitForConnect = opts.waitForConnect;
env = opts.env;
- var mongoqProgram = MongoRunner.mongoqPath;
+ var mongoqProgram = MongoRunner.getMongoqPath();
opts = MongoRunner.arrOptions(mongoqProgram, opts);
}