diff options
Diffstat (limited to 'jstests/libs/test_background_ops.js')
-rw-r--r-- | jstests/libs/test_background_ops.js | 51 |
1 files changed, 11 insertions, 40 deletions
diff --git a/jstests/libs/test_background_ops.js b/jstests/libs/test_background_ops.js index f0bf0ced476..f08ab644b98 100644 --- a/jstests/libs/test_background_ops.js +++ b/jstests/libs/test_background_ops.js @@ -76,29 +76,7 @@ var getResult = function(mongo, name) { return mongo.getCollection("config.testResult").findOne({_id: name}); }; -/** - * Overrides the parallel shell code in mongo - */ -function startParallelShell(jsCode, port) { - if (TestData) { - jsCode = "TestData = " + tojson(TestData) + ";" + jsCode; - } - - var x; - if (port) { - x = startMongoProgramNoConnect("mongo", "--port", port, "--eval", jsCode); - } else { - x = startMongoProgramNoConnect("mongo", "--eval", jsCode, db ? db.getMongo().host : null); - } - - return function() { - jsTestLog("Waiting for shell " + x + "..."); - waitProgram(x); - jsTestLog("Shell " + x + " finished."); - }; -} - -startParallelOps = function(mongo, proc, args, context) { +var startParallelOps = function(mongo, proc, args, context) { var procName = proc.name + "-" + new ObjectId(); var seed = new ObjectId(new ObjectId().valueOf().split("").reverse().join("")) .getTimestamp() @@ -201,31 +179,24 @@ startParallelOps = function(mongo, proc, args, context) { db = oldDB; - var join = function() { + var join = function(options = {}) { + const {checkExitSuccess = true} = options; + delete options.checkExitSuccess; setFinished(mongo, procName, true); - rawJoin(); + rawJoin(options); + result = getResult(mongo, procName); assert.neq(result, null); - if (result.err) + if (!checkExitSuccess) { + return result; + } else if (checkExitSuccess && result.err) { throw Error("Error in parallel ops " + procName + " : " + tojson(result.err)); - - else + } else { return result.result; - }; - - join.isFinished = function() { - return isFinished(mongo, procName); - }; - - join.setFinished = function(finished) { - return setFinished(mongo, procName, finished); - }; - - join.waitForLock = function(name) { - return waitForLock(mongo, name); + } }; return join; |