summaryrefslogtreecommitdiff
path: root/jstests/libs/test_background_ops.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/libs/test_background_ops.js')
-rw-r--r--jstests/libs/test_background_ops.js51
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;