diff options
author | Alexander Neben <alexander.neben@mongodb.com> | 2022-08-04 12:43:46 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-08-12 22:50:14 +0000 |
commit | aef78a6bdb3102a331aa89e7c52f91af2d8aae5d (patch) | |
tree | 0771b5ea81d2ace91122b18c08e780d1b6c02c07 /src/mongo/shell/servers.js | |
parent | 6038f1055b2bf9388ebeff5923b7e6edf5a0568f (diff) | |
download | mongo-aef78a6bdb3102a331aa89e7c52f91af2d8aae5d.tar.gz |
SERVER-68119 Standardized mongo lookup
Diffstat (limited to 'src/mongo/shell/servers.js')
-rw-r--r-- | src/mongo/shell/servers.js | 48 |
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); } |