summaryrefslogtreecommitdiff
path: root/jstests
diff options
context:
space:
mode:
Diffstat (limited to 'jstests')
-rw-r--r--jstests/auth/auth1.js3
-rw-r--r--jstests/auth/auth3.js8
-rw-r--r--jstests/auth/localhostAuthBypass.js26
-rw-r--r--jstests/auth/logout_reconnect.js5
-rw-r--r--jstests/auth/server-4892.js23
-rw-r--r--jstests/disk/directoryperdb.js5
-rw-r--r--jstests/disk/filesize.js12
-rw-r--r--jstests/disk/killall.js8
-rw-r--r--jstests/disk/norepeat.js61
-rw-r--r--jstests/disk/repair.js41
-rw-r--r--jstests/disk/repair2.js95
-rw-r--r--jstests/disk/repair3.js33
-rw-r--r--jstests/disk/repair4.js17
-rw-r--r--jstests/dur/checksum.js2
-rw-r--r--jstests/dur/dropdb.js2
-rw-r--r--jstests/dur/dur_jscore_passthrough.js3
-rw-r--r--jstests/fail_point/fail_point.js2
-rw-r--r--jstests/gle/get_last_error.js7
-rw-r--r--jstests/libs/slow_weekly_util.js5
-rw-r--r--jstests/libs/ssl_test.js5
-rw-r--r--jstests/noPassthrough/dir_per_db_and_split.js13
-rw-r--r--jstests/noPassthrough/directoryperdb.js6
-rw-r--r--jstests/noPassthrough/split_collections_and_indexes.js12
-rw-r--r--jstests/noPassthrough/ttl_capped.js7
-rw-r--r--jstests/noPassthrough/wt_nojournal_fsync.js1
-rw-r--r--jstests/noPassthroughWithMongod/httpinterface.js9
-rw-r--r--jstests/noPassthroughWithMongod/index_no_retry.js10
-rw-r--r--jstests/noPassthroughWithMongod/index_retry.js10
-rw-r--r--jstests/noPassthroughWithMongod/ipv6_connection_string_validation.js10
-rw-r--r--jstests/noPassthroughWithMongod/server7428.js10
-rw-r--r--jstests/noPassthroughWithMongod/sharding_rs_arb1.js3
-rw-r--r--jstests/noPassthroughWithMongod/unix_socket1.js7
-rw-r--r--jstests/replsets/initial_sync3.js14
-rw-r--r--jstests/replsets/stepdown.js6
-rw-r--r--jstests/replsets/tags.js2
-rw-r--r--jstests/replsets/tags2.js2
-rw-r--r--jstests/replsets/tags_with_reconfig.js2
-rw-r--r--jstests/sharding/addshard2.js47
-rw-r--r--jstests/sharding/addshard3.js6
-rw-r--r--jstests/sharding/addshard4.js4
-rw-r--r--jstests/sharding/auth.js100
-rw-r--r--jstests/sharding/csrs_upgrade.js6
-rw-r--r--jstests/sharding/diffservers1.js10
-rw-r--r--jstests/sharding/names.js4
-rw-r--r--jstests/sharding/remove2.js5
-rw-r--r--jstests/sharding/sync_cluster_config/configdb_str.js4
-rw-r--r--jstests/sharding/sync_cluster_config/rs_stepdown_and_pooling.js4
-rw-r--r--jstests/sharding/sync_cluster_config/sync7.js2
-rw-r--r--jstests/sharding/version1.js4
-rw-r--r--jstests/sharding/version2.js17
-rw-r--r--jstests/ssl/set_parameter_ssl.js32
-rw-r--r--jstests/ssl/ssl_cert_password.js18
-rw-r--r--jstests/ssl/ssl_fips.js7
-rw-r--r--jstests/ssl/ssl_hostname_validation.js27
-rw-r--r--jstests/ssl/x509_client.js6
-rw-r--r--jstests/sslSpecial/set_parameter_nossl.js12
-rw-r--r--jstests/tool/oplog_all_ops.js10
57 files changed, 414 insertions, 398 deletions
diff --git a/jstests/auth/auth1.js b/jstests/auth/auth1.js
index 32628e8bf57..a15d4a46995 100644
--- a/jstests/auth/auth1.js
+++ b/jstests/auth/auth1.js
@@ -3,12 +3,9 @@
function setupTest() {
print("START auth1.js");
-
- port = allocatePorts( 1 )[ 0 ];
baseName = "jstests_auth_auth1";
m = MongoRunner.runMongod({auth: "",
- port: port,
nohttpinterface: "",
bind_ip: "127.0.0.1",
useHostname: false});
diff --git a/jstests/auth/auth3.js b/jstests/auth/auth3.js
index 2f28111da24..fde160d06ce 100644
--- a/jstests/auth/auth3.js
+++ b/jstests/auth/auth3.js
@@ -1,4 +1,8 @@
-var conn = MongoRunner.runMongod({auth : "", port : 31001});
+(function() {
+
+'use strict'
+
+var conn = MongoRunner.runMongod({ auth: "" });
var admin = conn.getDB("admin");
var errorCodeUnauthorized = 13;
@@ -24,3 +28,5 @@ conn.getDB("admin").auth("foo","bar");
assert("inprog" in admin.currentOp());
assert("info" in admin.killOp(123));
assert.eq(admin.fsyncUnlock().errmsg, "not locked");
+
+})();
diff --git a/jstests/auth/localhostAuthBypass.js b/jstests/auth/localhostAuthBypass.js
index b3b40598015..1b07456fbe3 100644
--- a/jstests/auth/localhostAuthBypass.js
+++ b/jstests/auth/localhostAuthBypass.js
@@ -7,8 +7,6 @@ var baseName = "auth_server-6591";
var dbpath = MongoRunner.dataPath + baseName;
var username = "foo";
var password = "bar";
-var port = allocatePorts(1)[0];
-var host = "localhost:" + port;
load("jstests/libs/host_ipaddr.js");
@@ -101,18 +99,18 @@ var authenticate = function(mongo) {
mongo.getDB("admin").auth(username, password);
};
-var shutdown = function(mongo) {
+var shutdown = function(conn) {
print("============ shutting down.");
- MongoRunner.stopMongod(port, /*signal*/false, { auth: { user: username, pwd: password}});
+ MongoRunner.stopMongod(conn.port, /*signal*/false, { auth: { user: username, pwd: password}});
};
var runTest = function(useHostName) {
print("==========================");
print("starting mongod: useHostName=" + useHostName);
print("==========================");
- MongoRunner.runMongod({auth: "", port: port, dbpath: dbpath, useHostName: useHostName});
+ var conn = MongoRunner.runMongod({auth: "", dbpath: dbpath, useHostName: useHostName});
- var mongo = new Mongo(host);
+ var mongo = new Mongo("localhost:" + conn.port);
assertCannotRunCommands(mongo);
@@ -125,7 +123,7 @@ var runTest = function(useHostName) {
assertCanRunCommands(mongo);
print("============ reconnecting with new client.");
- mongo = new Mongo(host);
+ mongo = new Mongo("localhost:" + conn.port);
assertCannotRunCommands(mongo);
@@ -133,26 +131,26 @@ var runTest = function(useHostName) {
assertCanRunCommands(mongo);
- shutdown(mongo);
+ shutdown(conn);
};
-var runNonlocalTest = function(hostPort) {
+var runNonlocalTest = function(host) {
print("==========================");
- print("starting mongod: non-local host access "+hostPort);
+ print("starting mongod: non-local host access " + host);
print("==========================");
- MongoRunner.runMongod({auth: "", port: port, dbpath: dbpath});
+ var conn = MongoRunner.runMongod({auth: "", dbpath: dbpath});
- var mongo = new Mongo(hostPort);
+ var mongo = new Mongo(host + ":" + conn.port);
assertCannotRunCommands(mongo);
assert.throws(function() { mongo.getDB("admin").createUser
({ user:username, pwd: password, roles: jsTest.adminUserRoles }); });
assert.throws(function() { mongo.getDB("$external").createUser
({ user:username, pwd: password, roles: jsTest.adminUserRoles }); });
- shutdown(mongo);
+ shutdown(conn);
};
runTest(false);
runTest(true);
-runNonlocalTest(get_ipaddr()+":"+port);
+runNonlocalTest(get_ipaddr());
diff --git a/jstests/auth/logout_reconnect.js b/jstests/auth/logout_reconnect.js
index 20d46836780..119284ce9d4 100644
--- a/jstests/auth/logout_reconnect.js
+++ b/jstests/auth/logout_reconnect.js
@@ -4,11 +4,8 @@
* It is a regression test for SERVER-8798.
*/
-port = allocatePorts( 1 )[ 0 ];
-
-conn = MongoRunner.runMongod({
+var conn = MongoRunner.runMongod({
auth : "",
- port : port,
remember : true
});
diff --git a/jstests/auth/server-4892.js b/jstests/auth/server-4892.js
index 12fc0d8c067..3053fcab4dc 100644
--- a/jstests/auth/server-4892.js
+++ b/jstests/auth/server-4892.js
@@ -7,24 +7,25 @@
var baseName = 'jstests_auth_server4892';
var dbpath = MongoRunner.dataPath + baseName;
-var port = allocatePorts( 1 )[ 0 ];
-var mongod_common_args = [
- '--port', port, '--dbpath', dbpath, '--bind_ip', '127.0.0.1', '--nohttpinterface' ];
+resetDbpath(dbpath);
+var mongodCommonArgs = {
+ dbpath: dbpath,
+ noCleanData: true,
+};
/*
* Start an instance of mongod, pass it as a parameter to operation(), then stop the instance of
* mongod before unwinding or returning out of with_mongod().
*
- * extra_mongod_args are extra arguments to pass on the mongod command line, in an Array.
+ * 'extraMongodArgs' are extra arguments to pass on the mongod command line, as an object.
*/
-function with_mongod( extra_mongod_args, operation ) {
- var mongod = startMongoProgram.apply(
- null, ['mongod'].concat( mongod_common_args, extra_mongod_args ) );
+function withMongod(extraMongodArgs, operation) {
+ var mongod = MongoRunner.runMongod(Object.merge(mongodCommonArgs, extraMongodArgs));
try {
operation( mongod );
} finally {
- MongoRunner.stopMongod( port );
+ MongoRunner.stopMongod( mongod.port );
}
}
@@ -42,9 +43,7 @@ function expectNumLiveCursors(mongod, expectedNumLiveCursors) {
+ expectedNumLiveCursors + ")");
}
-resetDbpath( dbpath );
-
-with_mongod( ['--noauth'], function setupTest( mongod ) {
+withMongod({noauth: ""}, function setupTest(mongod) {
var admin, somedb, conn;
conn = new Mongo( mongod.host );
admin = conn.getDB( 'admin' );
@@ -59,7 +58,7 @@ with_mongod( ['--noauth'], function setupTest( mongod ) {
admin.logout();
} );
-with_mongod( ['--auth'], function runTest( mongod ) {
+withMongod({auth: ""}, function runTest(mongod) {
var conn = new Mongo( mongod.host );
var somedb = conn.getDB( 'somedb' );
somedb.auth('frim', 'fram');
diff --git a/jstests/disk/directoryperdb.js b/jstests/disk/directoryperdb.js
index 157efbd07b6..b6e2ab5f9e5 100644
--- a/jstests/disk/directoryperdb.js
+++ b/jstests/disk/directoryperdb.js
@@ -1,9 +1,6 @@
var baseDir = "jstests_disk_directoryper";
var baseName = "directoryperdb"
-port = allocatePorts( 1 )[ 0 ];
-dbpath = MongoRunner.dataPath + baseDir + "/";
-
-
+var dbpath = MongoRunner.dataPath + baseDir + "/";
var storageEngine = db.serverStatus().storageEngine.name;
// The pattern which matches the names of database files
diff --git a/jstests/disk/filesize.js b/jstests/disk/filesize.js
index 77295c7b4bd..bb1291c0777 100644
--- a/jstests/disk/filesize.js
+++ b/jstests/disk/filesize.js
@@ -1,9 +1,8 @@
-// test for SERVER-7430: Warning about smallfiles should include filename
-var port = allocatePorts( 1 )[ 0 ];
+// Test for SERVER-7430: Warning about smallfiles should include filename
var baseName = "filesize";
// Start mongod with --smallfiles
-var m = MongoRunner.runMongod({bind_ip: "127.0.0.1", nojournal: "", smallfiles: ""});
+var m = MongoRunner.runMongod({nojournal: "", smallfiles: ""});
var db = m.getDB( baseName );
@@ -14,7 +13,12 @@ if (db.serverBuildInfo().bits == 32) {
// Restart mongod without --smallFiles
MongoRunner.stopMongod(m);
m = MongoRunner.runMongod({
- restart: true, cleanData: false, dbpath: m.dbpath, bind_ip: "127.0.0.1", nojournal: ""});
+ restart: true,
+ cleanData: false,
+ dbpath: m.dbpath,
+ port: m.port,
+ nojournal: "",
+ });
db = m.getDB( baseName );
var log = db.adminCommand( { getLog : "global" } ).log
diff --git a/jstests/disk/killall.js b/jstests/disk/killall.js
index ba294a53504..beb3e99e778 100644
--- a/jstests/disk/killall.js
+++ b/jstests/disk/killall.js
@@ -6,19 +6,17 @@
* would not result in a zero return code.
*/
-var port = allocatePorts( 1 )[ 0 ]
-
var baseName = "jstests_disk_killall";
var dbpath = MongoRunner.dataPath + baseName;
-var mongod = MongoRunner.runMongod({port: port, dbpath: dbpath});
+var mongod = MongoRunner.runMongod({dbpath: dbpath});
var db = mongod.getDB( "test" );
var collection = db.getCollection( baseName );
assert.writeOK(collection.insert({}));
var awaitShell = startParallelShell(
"db." + baseName + ".count( { $where: function() { while( 1 ) { ; } } } )",
- port);
+ mongod.port);
sleep( 1000 );
/**
@@ -36,7 +34,7 @@ exitCode = awaitShell({checkExitSuccess: false});
assert.neq(0, exitCode, "expected shell to exit abnormally due to mongod being terminated");
mongod = MongoRunner.runMongod({
- port: port,
+ port: mongod.port,
restart: true,
cleanData: false,
dbpath: mongod.dbpath
diff --git a/jstests/disk/norepeat.js b/jstests/disk/norepeat.js
deleted file mode 100644
index 1379ff1af20..00000000000
--- a/jstests/disk/norepeat.js
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
-baseName = "jstests_disk_norepeat";
-
-ports = allocatePorts( 1 );
-m = startMongod( "--port", ports[ 0 ], "--deDupMem", "200", "--dbpath", MongoRunner.dataPath + baseName, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
-
-t = m.getDB( baseName ).getCollection( baseName );
-
-t.drop();
-t.ensureIndex( { i: 1 } );
-for( i = 0; i < 3; ++i ) {
- t.save( { i: i } );
-}
-
-c = t.find().hint( { i: 1 } ).limit( 2 );
-assert.eq( 0, c.next().i );
-t.update( { i: 0 }, { i: 3 } );
-assert.eq( 1, c.next().i );
-assert.eq( 2, c.next().i );
-assert.throws( function() { c.next() }, [], "unexpected: object found" );
-
-// now force upgrade to disk storage
-
-t.drop();
-t.ensureIndex( { i: 1 } );
-for( i = 0; i < 10; ++i ) {
- t.save( { i: i } );
-}
-// apparently this means we also request 2 in subsequent getMore's
-c = t.find().hint( {i:1} ).limit( 2 );
-assert.eq( 0, c.next().i );
-t.update( { i: 0 }, { i: 10 } );
-for( i = 1; i < 10; ++i ) {
- if ( i == 7 ) {
- t.update( { i: 6 }, { i: 11 } );
- t.update( { i: 9 }, { i: 12 } );
- }
- if ( i == 9 ) {
- i = 12;
- }
- assert.eq( i, c.next().i );
-}
-assert.throws( function() { c.next() }, [], "unexpected: object found" );
-
-m.getDB( "local" ).getCollectionNames().forEach( function( x ) { assert( !x.match( /^temp/ ), "temp collection found" ); } );
-
-t.drop();
-m.getDB( baseName ).createCollection( baseName, { capped:true, size:100000, autoIndexId:false } );
-t = m.getDB( baseName ).getCollection( baseName );
-t.insert( {_id:"a"} );
-t.insert( {_id:"a"} );
-t.insert( {_id:"a"} );
-
-c = t.find().limit( 2 );
-assert.eq( "a", c.next()._id );
-assert.eq( "a", c.next()._id );
-assert.eq( "a", c.next()._id );
-assert( !c.hasNext() );
-
-assert( t.validate().valid );
-*/
diff --git a/jstests/disk/repair.js b/jstests/disk/repair.js
index 0a92658252b..699dbabf0d8 100644
--- a/jstests/disk/repair.js
+++ b/jstests/disk/repair.js
@@ -1,15 +1,17 @@
// check --repairpath and --repair
var baseName = "jstests_disk_repair";
-
-port = allocatePorts( 1 )[ 0 ];
-dbpath = MongoRunner.dataPath + baseName + "/";
-repairpath = dbpath + "repairDir/"
+var dbpath = MongoRunner.dataPath + baseName + "/";
+var repairpath = dbpath + "repairDir/"
resetDbpath( dbpath );
resetDbpath( repairpath );
-m = startMongoProgram( "mongod", "--port", port, "--dbpath", dbpath, "--repairpath", repairpath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
+var m = MongoRunner.runMongod({
+ dbpath: dbpath,
+ repairpath: repairpath,
+ noCleanData: true,
+});
db = m.getDB( baseName );
db[ baseName ].save( {} );
assert.commandWorked( db.runCommand( {repairDatabase:1, backupOriginalFiles:true} ) );
@@ -22,26 +24,39 @@ function check() {
assert.eq.automsg( "1", "db[ baseName ].count()" );
}
check();
-MongoRunner.stopMongod( port );
+MongoRunner.stopMongod( m.port );
resetDbpath( repairpath );
-m = startMongoProgram( "mongod", "--port", port, "--dbpath", dbpath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
+m = MongoRunner.runMongod({
+ port: m.port,
+ dbpath: dbpath,
+ noCleanData: true,
+});
db = m.getDB( baseName );
assert.commandWorked( db.runCommand( {repairDatabase:1} ) );
check();
-MongoRunner.stopMongod( port );
+MongoRunner.stopMongod( m.port );
resetDbpath( repairpath );
-rc = runMongoProgram( "mongod", "--repair", "--port", port, "--dbpath", dbpath, "--repairpath", repairpath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
+rc = runMongoProgram("mongod", "--repair", "--port", m.port, "--dbpath", dbpath,
+ "--repairpath", repairpath);
assert.eq.automsg( "0", "rc" );
-m = startMongoProgram( "mongod", "--port", port, "--dbpath", dbpath, "--repairpath", repairpath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
+m = MongoRunner.runMongod({
+ port: m.port,
+ dbpath: dbpath,
+ noCleanData: true,
+});
db = m.getDB( baseName );
check();
-MongoRunner.stopMongod( port );
+MongoRunner.stopMongod( m.port );
resetDbpath( repairpath );
-rc = runMongoProgram( "mongod", "--repair", "--port", port, "--dbpath", dbpath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
+rc = runMongoProgram("mongod", "--repair", "--port", m.port, "--dbpath", dbpath);
assert.eq.automsg( "0", "rc" );
-m = startMongoProgram( "mongod", "--port", port, "--dbpath", dbpath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
+m = MongoRunner.runMongod({
+ port: m.port,
+ dbpath: dbpath,
+ noCleanData: true,
+});
db = m.getDB( baseName );
check();
diff --git a/jstests/disk/repair2.js b/jstests/disk/repair2.js
index a582d06a0ec..9a8da991f2d 100644
--- a/jstests/disk/repair2.js
+++ b/jstests/disk/repair2.js
@@ -12,16 +12,20 @@ function check() {
assert.eq.automsg( "1", "db[ baseName ].count()" );
}
-port = allocatePorts( 1 )[ 0 ];
-dbpath = MongoRunner.dataPath + baseName + "/";
-repairpath = dbpath + "repairDir/";
-longDBName = Array(61).join('a');
-longRepairPath = dbpath + Array(61).join('b') + '/';
+var dbpath = MongoRunner.dataPath + baseName + "/";
+var repairpath = dbpath + "repairDir/";
+var longDBName = Array(61).join('a');
+var longRepairPath = dbpath + Array(61).join('b') + '/';
resetDbpath( dbpath );
resetDbpath( repairpath );
-m = startMongoProgram( "mongod", "--directoryperdb", "--port", port, "--dbpath", dbpath, "--repairpath", repairpath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
+var m = MongoRunner.runMongod({
+ directoryperdb: "",
+ dbpath: dbpath,
+ repairpath: repairpath,
+ noCleanData: true,
+});
db = m.getDB( baseName );
db[ baseName ].save( {} );
assert.commandWorked( db.runCommand( {repairDatabase:1, backupOriginalFiles:true} ) );
@@ -41,48 +45,97 @@ for( f in files ) {
assert( fileCount > 0, "Expected more than zero nondirectory files in the database directory" );
check();
-MongoRunner.stopMongod( port );
+MongoRunner.stopMongod( m.port );
resetDbpath( repairpath );
-m = startMongoProgram( "mongod", "--directoryperdb", "--port", port, "--dbpath", dbpath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
+m = MongoRunner.runMongod({
+ port: m.port,
+ directoryperdb: "",
+ dbpath: dbpath,
+ noCleanData: true,
+});
db = m.getDB( baseName );
assert.commandWorked( db.runCommand( {repairDatabase:1} ) );
check();
-MongoRunner.stopMongod( port );
+MongoRunner.stopMongod( m.port );
//Test long database names
resetDbpath( repairpath );
-m = startMongoProgram( "mongod", "--directoryperdb", "--port", port, "--dbpath", dbpath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
+m = MongoRunner.runMongod({
+ port: m.port,
+ directoryperdb: "",
+ dbpath: dbpath,
+ noCleanData: true,
+});
db = m.getDB( longDBName );
assert.writeOK(db[ baseName ].save( {} ));
assert.commandWorked( db.runCommand( {repairDatabase:1} ) );
-MongoRunner.stopMongod( port );
+MongoRunner.stopMongod( m.port );
//Test long repairPath
resetDbpath( longRepairPath )
-m = startMongoProgram( "mongod", "--directoryperdb", "--port", port, "--dbpath", dbpath, "--repairpath", longRepairPath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
+m = MongoRunner.runMongod({
+ port: m.port,
+ directoryperdb: "",
+ dbpath: dbpath,
+ repairpath: longRepairPath,
+ noCleanData: true,
+});
db = m.getDB( longDBName );
assert.commandWorked( db.runCommand( {repairDatabase:1, backupOriginalFiles: true} ) );
check();
-MongoRunner.stopMongod( port );
+MongoRunner.stopMongod( m.port );
//Test database name and repairPath with --repair
resetDbpath( longRepairPath )
-m = startMongoProgram( "mongod", "--repair", "--directoryperdb", "--port", port, "--dbpath", dbpath, "--repairpath", longRepairPath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
-m = startMongoProgram( "mongod", "--directoryperdb", "--port", port, "--dbpath", dbpath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
+var returnCode = runMongoProgram("mongod",
+ "--port", m.port,
+ "--repair",
+ "--directoryperdb",
+ "--dbpath", dbpath,
+ "--repairpath", longRepairPath);
+assert.eq(returnCode, 0);
+m = MongoRunner.runMongod({
+ port: m.port,
+ directoryperdb: "",
+ dbpath: dbpath,
+ noCleanData: true,
+});
db = m.getDB( longDBName );
check();
-MongoRunner.stopMongod( port );
+MongoRunner.stopMongod( m.port );
resetDbpath( repairpath );
-runMongoProgram( "mongod", "--repair", "--directoryperdb", "--port", port, "--dbpath", dbpath, "--repairpath", repairpath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
-m = startMongoProgram( "mongod", "--directoryperdb", "--port", port, "--dbpath", dbpath, "--repairpath", repairpath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
+returnCode = runMongoProgram("mongod",
+ "--port", m.port,
+ "--repair",
+ "--directoryperdb",
+ "--dbpath", dbpath,
+ "--repairpath", repairpath);
+assert.eq(returnCode, 0);
+m = MongoRunner.runMongod({
+ port: m.port,
+ directoryperdb: "",
+ dbpath: dbpath,
+ repairpath: repairpath,
+ noCleanData: true,
+});
db = m.getDB( baseName );
check();
-MongoRunner.stopMongod( port );
+MongoRunner.stopMongod( m.port );
resetDbpath( repairpath );
-runMongoProgram( "mongod", "--repair", "--directoryperdb", "--port", port, "--dbpath", dbpath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
-m = startMongoProgram( "mongod", "--directoryperdb", "--port", port, "--dbpath", dbpath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
+returnCode = runMongoProgram("mongod",
+ "--port", m.port,
+ "--repair",
+ "--directoryperdb",
+ "--dbpath", dbpath);
+assert.eq(returnCode, 0);
+m = MongoRunner.runMongod({
+ port: m.port,
+ directoryperdb: "",
+ dbpath: dbpath,
+ noCleanData: true,
+});
db = m.getDB( baseName );
check();
diff --git a/jstests/disk/repair3.js b/jstests/disk/repair3.js
index 6b4997cc83c..12c5356a2d6 100644
--- a/jstests/disk/repair3.js
+++ b/jstests/disk/repair3.js
@@ -17,15 +17,19 @@ if ( !doIt ) {
doIt = false;
}
-if ( doIt ) {
-
- port = allocatePorts( 1 )[ 0 ];
- dbpath = MongoRunner.dataPath + baseName + "/";
+if (doIt) {
+ var dbpath = MongoRunner.dataPath + baseName + "/";
resetDbpath( dbpath );
resetDbpath( repairpath );
- m = startMongoProgram( "mongod", "--nssize", "8", "--noprealloc", "--smallfiles", "--port", port, "--dbpath", dbpath, "--repairpath", repairpath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
+ var m = MongoRunner.runMongod({
+ nssize: 8,
+ noprealloc: "",
+ smallfiles: "",
+ dbpath: dbpath,
+ repairpath: repairpath,
+ });
db = m.getDB( baseName );
db[ baseName ].save( {} );
assert.commandWorked( db.runCommand( {repairDatabase:1, backupOriginalFiles:false} ) );
@@ -39,14 +43,21 @@ if ( doIt ) {
}
check();
- MongoRunner.stopMongod( port );
+ MongoRunner.stopMongod( m.port );
resetDbpath( repairpath );
- rc = runMongoProgram( "mongod", "--nssize", "8", "--noprealloc", "--smallfiles", "--repair", "--port", port, "--dbpath", dbpath, "--repairpath", repairpath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
+ var rc = runMongoProgram("mongod", "--nssize", "8", "--noprealloc", "--smallfiles", "--repair",
+ "--port", m.port, "--dbpath", dbpath, "--repairpath", repairpath);
assert.eq.automsg( "0", "rc" );
- m = startMongoProgram( "mongod", "--nssize", "8", "--noprealloc", "--smallfiles", "--port", port, "--dbpath", dbpath, "--repairpath", repairpath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
+ m = MongoRunner.runMongod({
+ nssize: 8,
+ noprealloc: "",
+ smallfiles: "",
+ port: m.port,
+ dbpath: dbpath,
+ repairpath: repairpath,
+ });
db = m.getDB( baseName );
check();
- MongoRunner.stopMongod( port );
-
-} \ No newline at end of file
+ MongoRunner.stopMongod( m.port );
+}
diff --git a/jstests/disk/repair4.js b/jstests/disk/repair4.js
index 944a4f6fd11..38049ee1f9b 100644
--- a/jstests/disk/repair4.js
+++ b/jstests/disk/repair4.js
@@ -18,14 +18,21 @@ if ( !doIt ) {
}
if ( doIt ) {
+ var repairpath = MongoRunner.dataPath + baseName + "/";
- port = allocatePorts( 1 )[ 0 ];
- repairpath = MongoRunner.dataPath + baseName + "/";
-
resetDbpath( smallpath );
resetDbpath( repairpath );
- m = startMongoProgram( "mongod", "--nssize", "8", "--noprealloc", "--smallfiles", "--port", port, "--dbpath", smallpath, "--repairpath", repairpath, "--nohttpinterface", "--bind_ip", "127.0.0.1" );
+ var m = MongoRunner.runMongod({
+ nssize: "8",
+ noprealloc: "",
+ smallfiles: "",
+ dbpath: smallpath,
+ repairpath: repairpath,
+ nohttpinterface: "",
+ bind_ip: "127.0.0.1",
+ });
+
db = m.getDB( baseName );
db[ baseName ].save( {} );
assert.commandWorked( db.runCommand( {repairDatabase:1, backupOriginalFiles:true} ) );
@@ -41,4 +48,4 @@ if ( doIt ) {
check();
MongoRunner.stopMongod( port );
-} \ No newline at end of file
+}
diff --git a/jstests/dur/checksum.js b/jstests/dur/checksum.js
index 2ee387261a8..ac932ab08fe 100644
--- a/jstests/dur/checksum.js
+++ b/jstests/dur/checksum.js
@@ -75,7 +75,7 @@ copyFile("jstests/libs/dur_checksum_bad_first.journal", path + "/journal/j._0");
copyFile("jstests/libs/dur_checksum_good.journal", path + "/journal/j._1");
exitCode = runMongoProgram("mongod",
- "--port", 30001,
+ "--port", allocatePort(),
"--dbpath", path,
"--journal",
"--smallfiles",
diff --git a/jstests/dur/dropdb.js b/jstests/dur/dropdb.js
index 56a4a3608f1..8c847c3a0aa 100644
--- a/jstests/dur/dropdb.js
+++ b/jstests/dur/dropdb.js
@@ -143,7 +143,7 @@ conn = MongoRunner.runMongod({restart: true,
log("verify after recovery");
verify();
-log("stop mongod 30002");
+log("stop mongod");
MongoRunner.stopMongod(conn);
sleep(5000);
diff --git a/jstests/dur/dur_jscore_passthrough.js b/jstests/dur/dur_jscore_passthrough.js
index 99a2ea7fb89..354cb76a132 100644
--- a/jstests/dur/dur_jscore_passthrough.js
+++ b/jstests/dur/dur_jscore_passthrough.js
@@ -2,9 +2,6 @@
// simple runner to run toplevel tests in jstests
//
-//TODO(mathias) add --master or make another test
-//conn = startMongodEmpty("--port", 30200, "--dbpath", MongoRunner.dataDir + "/dur_passthrough", "--dur", "--smallfiles", "--durOptions", "24");
-
var conn = MongoRunner.runMongod({journal: "", nopreallocj: "", smallfiles: "", journalOptions: 8});
db = conn.getDB("test");
conn.forceWriteMode("commands");
diff --git a/jstests/fail_point/fail_point.js b/jstests/fail_point/fail_point.js
index 42e7b1ebd9c..7a3ba663c0e 100644
--- a/jstests/fail_point/fail_point.js
+++ b/jstests/fail_point/fail_point.js
@@ -59,7 +59,7 @@ var runTest = function(adminDB) {
expectedFPState(adminDB.runCommand({ configureFailPoint: 'dummy' }), 1, { x: 1 });
};
-var conn = MongoRunner.runMongod({ port: 29000 });
+var conn = MongoRunner.runMongod();
runTest(conn.getDB('admin'));
MongoRunner.stopMongod(conn.port);
diff --git a/jstests/gle/get_last_error.js b/jstests/gle/get_last_error.js
index 2cd9836350e..5db97283d37 100644
--- a/jstests/gle/get_last_error.js
+++ b/jstests/gle/get_last_error.js
@@ -85,13 +85,12 @@ assert.eq(gle.wtimeout, null);
replTest.stopSet();
-// Next check that it still works on a lone mongod
+// Next check that it still works on a standalone mongod.
// Need to start a single server manually to keep this test in the jstests/replsets test suite
-var port = allocatePorts(1)[0];
var baseName = "SERVER-9005";
-var mongod = MongoRunner.runMongod({port: port});
-var sdb = new Mongo("localhost:"+port).getDB("test");
+var mongod = MongoRunner.runMongod({});
+var sdb = mongod.getDB("test");
sdb.foo.drop();
sdb.foo.insert({ _id: "1" });
diff --git a/jstests/libs/slow_weekly_util.js b/jstests/libs/slow_weekly_util.js
index 18fc0874daa..69b8fb27624 100644
--- a/jstests/libs/slow_weekly_util.js
+++ b/jstests/libs/slow_weekly_util.js
@@ -1,11 +1,10 @@
SlowWeeklyMongod = function( name ) {
this.name = name;
- this.port = 30201;
-
this.start = new Date();
- this.conn = MongoRunner.runMongod({port: this.port, smallfiles: "", nojournal: ""});
+ this.conn = MongoRunner.runMongod({smallfiles: "", nojournal: ""});
+ this.port = this.conn.port;
};
SlowWeeklyMongod.prototype.getDB = function( name ) {
diff --git a/jstests/libs/ssl_test.js b/jstests/libs/ssl_test.js
index cfb899ab3d0..59380776bf8 100644
--- a/jstests/libs/ssl_test.js
+++ b/jstests/libs/ssl_test.js
@@ -36,14 +36,11 @@ function SSLTest(serverOpts, clientOpts) {
return canonical;
};
- this.port = allocatePorts(1)[0];
this.serverOpts = MongoRunner.mongodOptions(canonicalServerOpts(serverOpts));
+ this.port = this.serverOpts.port;
resetDbpath(this.serverOpts.dbpath);
this.clientOpts = Object.extend({}, clientOpts || this.defaultSSLClientOptions);
-
- // Add our allocated port to the options objects.
- this.serverOpts.port = this.port;
this.clientOpts.port = this.port;
}
diff --git a/jstests/noPassthrough/dir_per_db_and_split.js b/jstests/noPassthrough/dir_per_db_and_split.js
index 8047ec9fda2..b402e0375f1 100644
--- a/jstests/noPassthrough/dir_per_db_and_split.js
+++ b/jstests/noPassthrough/dir_per_db_and_split.js
@@ -1,13 +1,10 @@
-
if (!jsTest.options().storageEngine || jsTest.options().storageEngine === "wiredTiger") {
var baseDir = "jstests_per_db_and_split_c_and_i";
- port = allocatePorts( 1 )[ 0 ];
- dbpath = MongoRunner.dataPath + baseDir + "/";
+ var dbpath = MongoRunner.dataPath + baseDir + "/";
var m = MongoRunner.runMongod({
dbpath: dbpath,
- port: port,
wiredTigerDirectoryForIndexes: '',
directoryperdb: ''});
db = m.getDB( "foo" );
@@ -19,22 +16,22 @@ if (!jsTest.options().storageEngine || jsTest.options().storageEngine === "wired
assert( listFiles( dbpath + "/foo/index" ).length > 0 );
assert( listFiles( dbpath + "/foo/collection" ).length > 0 );
- MongoRunner.stopMongod(port);
+ MongoRunner.stopMongod(m.port);
// Subsequent attempts to start server using same dbpath but different
// wiredTigerDirectoryForIndexes and directoryperdb options should fail.
assert.isnull(MongoRunner.runMongod({
dbpath: dbpath,
- port: port,
+ port: m.port,
restart: true}));
assert.isnull(MongoRunner.runMongod({
dbpath: dbpath,
- port: port,
+ port: m.port,
restart: true,
directoryperdb: ''}));
assert.isnull(MongoRunner.runMongod({
dbpath: dbpath,
- port: port,
+ port: m.port,
restart: true,
wiredTigerDirectoryForIndexes: ''}));
}
diff --git a/jstests/noPassthrough/directoryperdb.js b/jstests/noPassthrough/directoryperdb.js
index 6e2522d62a2..2421dc23172 100644
--- a/jstests/noPassthrough/directoryperdb.js
+++ b/jstests/noPassthrough/directoryperdb.js
@@ -1,7 +1,7 @@
(function() {
'use strict';
+
var baseDir = "jstests_directoryperdb";
- var port = allocatePorts( 1 )[ 0 ];
var dbpath = MongoRunner.dataPath + baseDir + "/";
var isDirectoryPerDBSupported =
@@ -11,7 +11,6 @@
var m = MongoRunner.runMongod({
dbpath: dbpath,
- port: port,
directoryperdb: ''});
if (!isDirectoryPerDBSupported) {
@@ -37,11 +36,10 @@
files = listFiles( files[0].name );
assert( files.length > 0 );
- MongoRunner.stopMongod(port);
+ MongoRunner.stopMongod(m.port);
// Subsequent attempt to start server using same dbpath without directoryperdb should fail.
assert.isnull(MongoRunner.runMongod({
dbpath: dbpath,
- port: port,
restart: true}));
}());
diff --git a/jstests/noPassthrough/split_collections_and_indexes.js b/jstests/noPassthrough/split_collections_and_indexes.js
index 73d2eede111..991a5fe2937 100644
--- a/jstests/noPassthrough/split_collections_and_indexes.js
+++ b/jstests/noPassthrough/split_collections_and_indexes.js
@@ -1,13 +1,10 @@
-
if (!jsTest.options().storageEngine || jsTest.options().storageEngine === "wiredTiger") {
-
var baseDir = "jstests_split_c_and_i";
- port = allocatePorts( 1 )[ 0 ];
- dbpath = MongoRunner.dataPath + baseDir + "/";
+
+ var dbpath = MongoRunner.dataPath + baseDir + "/";
var m = MongoRunner.runMongod({
dbpath: dbpath,
- port: port,
wiredTigerDirectoryForIndexes: ''});
db = m.getDB( "foo" );
db.bar.insert( { x : 1 } );
@@ -18,22 +15,19 @@ if (!jsTest.options().storageEngine || jsTest.options().storageEngine === "wired
assert( listFiles( dbpath + "/index" ).length > 0 );
assert( listFiles( dbpath + "/collection" ).length > 0 );
- MongoRunner.stopMongod(port);
+ MongoRunner.stopMongod(m.port);
// Subsequent attempts to start server using same dbpath but different
// wiredTigerDirectoryForIndexes and directoryperdb options should fail.
assert.isnull(MongoRunner.runMongod({
dbpath: dbpath,
- port: port,
restart: true}));
assert.isnull(MongoRunner.runMongod({
dbpath: dbpath,
- port: port,
restart: true,
directoryperdb: ''}));
assert.isnull(MongoRunner.runMongod({
dbpath: dbpath,
- port: port,
restart: true,
wiredTigerDirectoryForIndexes: '',
directoryperdb: ''}));
diff --git a/jstests/noPassthrough/ttl_capped.js b/jstests/noPassthrough/ttl_capped.js
index f3ca9cb15a7..f245056e05d 100644
--- a/jstests/noPassthrough/ttl_capped.js
+++ b/jstests/noPassthrough/ttl_capped.js
@@ -6,13 +6,12 @@
*/
(function() {
"use strict";
+
var baseDir = "jstests_ttl_capped";
- var port = allocatePorts( 1 )[ 0 ];
var dbpath = MongoRunner.dataPath + baseDir + "/";
var m = MongoRunner.runMongod({
dbpath: dbpath,
- port: port,
setParameter:"ttlMonitorSleepSecs=1"});
var db = m.getDB( "test" );
@@ -49,5 +48,5 @@
assert.eq(t.count(), 1);
assert.eq(ac.count(), 0);
- MongoRunner.stopMongod(port);
-})(); \ No newline at end of file
+ MongoRunner.stopMongod(m.port);
+})();
diff --git a/jstests/noPassthrough/wt_nojournal_fsync.js b/jstests/noPassthrough/wt_nojournal_fsync.js
index 46a881de16d..1e2f84b7e36 100644
--- a/jstests/noPassthrough/wt_nojournal_fsync.js
+++ b/jstests/noPassthrough/wt_nojournal_fsync.js
@@ -23,6 +23,7 @@ function writeDataAndRestart(doFsync) {
jsTestLog("restart node");
conn = MongoRunner.runMongod({restart: true,
+ port: conn.port,
cleanData: false,
storageEngine: "wiredTiger",
nojournal: ""});
diff --git a/jstests/noPassthroughWithMongod/httpinterface.js b/jstests/noPassthroughWithMongod/httpinterface.js
index 191a185975e..d3804cc40f1 100644
--- a/jstests/noPassthroughWithMongod/httpinterface.js
+++ b/jstests/noPassthroughWithMongod/httpinterface.js
@@ -1,11 +1,10 @@
// SERVER-9137 test that the httpinterface parameter enables the web interface
-port = allocatePorts(1)[0];
-httpPort = port + 1000;
-var conn = MongoRunner.runMongod({port: port, smallfiles: ""});
+var conn = MongoRunner.runMongod({smallfiles: ""});
+var httpPort = conn.port + 1000;
tryHttp = function() {
try {
- var mongo = new Mongo('localhost:'+httpPort) ;
+ var mongo = new Mongo('localhost:' + httpPort) ;
}
catch (e) {
return false;
@@ -18,7 +17,7 @@ assert.throws(function() {assert.soon(tryHttp, "tryHttp failed, like we expected
MongoRunner.stopMongod(conn);
-conn = MongoRunner.runMongod({ port:port, smallfiles: "", httpinterface: ""});
+conn = MongoRunner.runMongod({port: conn.port, smallfiles: "", httpinterface: ""});
assert.soon(tryHttp,
"the web interface should be running on " + httpPort);
diff --git a/jstests/noPassthroughWithMongod/index_no_retry.js b/jstests/noPassthroughWithMongod/index_no_retry.js
index 0264f308f16..7f7c39a235f 100644
--- a/jstests/noPassthroughWithMongod/index_no_retry.js
+++ b/jstests/noPassthroughWithMongod/index_no_retry.js
@@ -3,10 +3,9 @@
'use strict';
var baseName = 'index_retry';
var dbpath = MongoRunner.dataPath + baseName;
- var ports = allocatePorts(1);
+
var conn = MongoRunner.runMongod({
dbpath: dbpath,
- port: ports[0],
journal: ''});
var test = conn.getDB("test");
@@ -64,7 +63,7 @@
function abortDuringIndexBuild(options) {
var createIdx = startParallelShell(
'db.' + name + '.createIndex({ a: 1 }, { background: true });',
- ports[0]);
+ conn.port);
// Wait for the index build to start.
var times = 0;
@@ -75,7 +74,7 @@
);
print("killing the mongod");
- MongoRunner.stopMongod(ports[0], /* signal */ 9);
+ MongoRunner.stopMongod(conn.port, /* signal */ 9);
var exitCode = createIdx({checkExitSuccess: false});
assert.neq(0, exitCode, "expected shell to exit abnormally due to mongod being terminated");
@@ -85,7 +84,6 @@
conn = MongoRunner.runMongod({
dbpath: dbpath,
- port: ports[0],
journal: '',
noIndexBuildRetry: '',
restart: true});
@@ -101,6 +99,6 @@
print("Index rebuilding disabled successfully");
- MongoRunner.stopMongod(ports[0]);
+ MongoRunner.stopMongod(conn.port);
print("SUCCESS!");
}());
diff --git a/jstests/noPassthroughWithMongod/index_retry.js b/jstests/noPassthroughWithMongod/index_retry.js
index cf26b780008..806c334e151 100644
--- a/jstests/noPassthroughWithMongod/index_retry.js
+++ b/jstests/noPassthroughWithMongod/index_retry.js
@@ -3,10 +3,9 @@
'use strict';
var baseName = 'index_retry';
var dbpath = MongoRunner.dataPath + baseName;
- var ports = allocatePorts(1);
+
var conn = MongoRunner.runMongod({
dbpath: dbpath,
- port: ports[0],
journal: ''});
var test = conn.getDB("test");
@@ -64,7 +63,7 @@
function abortDuringIndexBuild(options) {
var createIdx = startParallelShell(
'db.' + name + '.createIndex({ a: 1 }, { background: true });',
- ports[0]);
+ conn.port);
// Wait for the index build to start.
var times = 0;
@@ -75,7 +74,7 @@
);
print("killing the mongod");
- MongoRunner.stopMongod(ports[0], /* signal */ 9);
+ MongoRunner.stopMongod(conn.port, /* signal */ 9);
var exitCode = createIdx({checkExitSuccess: false});
assert.neq(0, exitCode, "expected shell to exit abnormally due to mongod being terminated");
@@ -85,7 +84,6 @@
conn = MongoRunner.runMongod({
dbpath: dbpath,
- port: ports[0],
journal: '',
restart: true});
test = conn.getDB("test");
@@ -100,6 +98,6 @@
print("Index built");
- MongoRunner.stopMongod(ports[0]);
+ MongoRunner.stopMongod(conn.port);
print("SUCCESS!");
}());
diff --git a/jstests/noPassthroughWithMongod/ipv6_connection_string_validation.js b/jstests/noPassthroughWithMongod/ipv6_connection_string_validation.js
index c4896e56406..9f544248ef1 100644
--- a/jstests/noPassthroughWithMongod/ipv6_connection_string_validation.js
+++ b/jstests/noPassthroughWithMongod/ipv6_connection_string_validation.js
@@ -6,28 +6,26 @@
// and a command line to run the test in inner_mode. The inner mode test is the actual test.
if ("undefined" == typeof inner_mode) {
-
// Start a mongod with --ipv6
- port = allocatePorts( 1 )[ 0 ];
jsTest.log("Outer mode test starting mongod with --ipv6");
// NOTE: bind_ip arg is present to test if it can parse ipv6 addresses (::1 in this case).
// Unfortunately, having bind_ip = ::1 won't work in the test framework (But does work when
// tested manually), so 127.0.0.1 is also present so the test mongo shell can connect
// with that address.
- var mongod = MongoRunner.runMongod({port: port, ipv6: "", bind_ip: "::1,127.0.0.1"});
+ var mongod = MongoRunner.runMongod({ipv6: "", bind_ip: "::1,127.0.0.1"});
var args = ["mongo",
"--nodb",
"--ipv6",
"--host", "::1",
- "--port", port,
- "--eval", "inner_mode=true;port=" + port + ";",
+ "--port", mongod.port,
+ "--eval", "inner_mode=true;port=" + mongod.port + ";",
"jstests/noPassthroughWithMongod/ipv6_connection_string_validation.js" ];
var exitCode = _runMongoProgram.apply(null, args);
jsTest.log("Inner mode test finished, exit code was " + exitCode);
// Stop the server we started
jsTest.log("Outer mode test stopping server");
- MongoRunner.stopMongod(port, 15);
+ MongoRunner.stopMongod(mongod.port, 15);
// Pass the inner test's exit code back as the outer test's exit code
quit(exitCode);
diff --git a/jstests/noPassthroughWithMongod/server7428.js b/jstests/noPassthroughWithMongod/server7428.js
index ed62e7adbf6..1c6c2997804 100644
--- a/jstests/noPassthroughWithMongod/server7428.js
+++ b/jstests/noPassthroughWithMongod/server7428.js
@@ -6,15 +6,17 @@
// Verify that the copyDatabase command works appropriately when the
// target mongo instance has authentication enabled.
+(function() {
// Setup fromDb with no auth
-var fromDb = MongoRunner.runMongod({ port: 29000 });
-
+var fromDb = MongoRunner.runMongod();
+
// Setup toDb with auth
-var toDb = MongoRunner.runMongod({auth : "", port : 31001});
+var toDb = MongoRunner.runMongod({auth: ""});
var admin = toDb.getDB("admin");
admin.createUser({user: "foo", pwd: "bar", roles: jsTest.adminUserRoles});
admin.auth("foo","bar");
-
+
admin.copyDatabase('test', 'test', fromDb.host)
+})();
diff --git a/jstests/noPassthroughWithMongod/sharding_rs_arb1.js b/jstests/noPassthroughWithMongod/sharding_rs_arb1.js
index 4470a82ee88..4c36ff4f05d 100644
--- a/jstests/noPassthroughWithMongod/sharding_rs_arb1.js
+++ b/jstests/noPassthroughWithMongod/sharding_rs_arb1.js
@@ -1,5 +1,5 @@
var name = "sharding_rs_arb1"
-var replTest = new ReplSetTest( { name : name , nodes : 3 , startPort : 31000 } );
+var replTest = new ReplSetTest( { name : name , nodes : 3 } );
replTest.startSet();
var port = replTest.ports;
replTest.initiate({_id : name, members :
@@ -25,4 +25,3 @@ assert( res.ok , tojson(res) )
st.stop();
replTest.stopSet();
-
diff --git a/jstests/noPassthroughWithMongod/unix_socket1.js b/jstests/noPassthroughWithMongod/unix_socket1.js
index 8e28715558c..1b607063923 100644
--- a/jstests/noPassthroughWithMongod/unix_socket1.js
+++ b/jstests/noPassthroughWithMongod/unix_socket1.js
@@ -22,15 +22,14 @@ if ( ! _isWindows() ) {
sockdb = sock.getDB(db.getName())
assert( sockdb.runCommand('ping').ok );
- // test unix socket path
- var ports = allocatePorts(1);
+ // Test unix socket path
var path = MongoRunner.dataDir + "/sockpath";
mkdir(path);
var dataPath = MongoRunner.dataDir + "/sockpath_data";
- var conn = MongoRunner.runMongod({port: ports[0], dbpath: dataPath, unixSocketPrefix: path});
+ var conn = MongoRunner.runMongod({dbpath: dataPath, unixSocketPrefix: path});
- var sock2 = new Mongo(path+"/mongodb-"+ports[0]+".sock");
+ var sock2 = new Mongo(path + "/mongodb-" + conn.port + ".sock");
sockdb2 = sock2.getDB(db.getName())
assert( sockdb2.runCommand('ping').ok );
diff --git a/jstests/replsets/initial_sync3.js b/jstests/replsets/initial_sync3.js
index 200e0a30213..dc0455dd108 100644
--- a/jstests/replsets/initial_sync3.js
+++ b/jstests/replsets/initial_sync3.js
@@ -7,18 +7,18 @@
load("jstests/replsets/rslib.js");
var name = "initialsync3";
var host = getHostName();
-var port = allocatePorts(7);
print("Start set with three nodes");
var replTest = new ReplSetTest( {name: name, nodes: 3} );
var nodes = replTest.startSet();
replTest.initiate({
- _id : name,
- members : [
- {_id:0, host : host+":"+port[0], priority: 10},
- {_id:1, host : host+":"+port[1], priority: 0},
- {_id:2, host : host+":"+port[2], priority : 0, buildIndexes : false},
- ]});
+ _id: name,
+ members: [
+ {_id: 0, host: host + ":" + nodes[0].port, priority: 10},
+ {_id: 1, host: host + ":" + nodes[1].port, priority: 0},
+ {_id: 2, host: host + ":" + nodes[2].port, priority: 0, buildIndexes: false},
+ ]
+});
var master = replTest.getMaster();
diff --git a/jstests/replsets/stepdown.js b/jstests/replsets/stepdown.js
index a9c2b1060ff..38408d27d11 100644
--- a/jstests/replsets/stepdown.js
+++ b/jstests/replsets/stepdown.js
@@ -82,16 +82,16 @@ print("\nawait");
replTest.awaitSecondaryNodes(90000);
replTest.awaitReplication();
-// 31000 may have just voted for 31001, preventing it from becoming primary for the first 30 seconds
+// 'n0' may have just voted for 'n1', preventing it from becoming primary for the first 30 seconds
// of this assert.soon
assert.soon(function() {
try {
var result = master.getDB("admin").runCommand({isMaster: 1});
- return /31000$/.test(result.primary);
+ return new RegExp(":" + replTest.nodes[0].port + "$").test(result.primary);
} catch (x) {
return false;
}
-}, 'wait for 31000 to be primary', 60000);
+}, "wait for n0 to be primary", 60000);
master = replTest.getMaster();
var firstMaster = master;
diff --git a/jstests/replsets/tags.js b/jstests/replsets/tags.js
index 3053f28e180..2a1f77608a6 100644
--- a/jstests/replsets/tags.js
+++ b/jstests/replsets/tags.js
@@ -6,7 +6,7 @@ var num = 5;
var host = getHostName();
var name = "tags";
-var replTest = new ReplSetTest( {name: name, nodes: num, startPort:31000} );
+var replTest = new ReplSetTest( {name: name, nodes: num} );
var nodes = replTest.startSet();
var port = replTest.ports;
replTest.initiate({_id : name, members :
diff --git a/jstests/replsets/tags2.js b/jstests/replsets/tags2.js
index 074aa7b9dda..62ca15e82d8 100644
--- a/jstests/replsets/tags2.js
+++ b/jstests/replsets/tags2.js
@@ -1,7 +1,7 @@
// Change a write concern mode from 2 to 3 servers
var host = getHostName();
-var replTest = new ReplSetTest( {name: "rstag", nodes: 4, startPort: 31000} );
+var replTest = new ReplSetTest({ name: "rstag", nodes: 4 });
var nodes = replTest.startSet();
var ports = replTest.ports;
var conf = {_id : "rstag", version: 1, members : [
diff --git a/jstests/replsets/tags_with_reconfig.js b/jstests/replsets/tags_with_reconfig.js
index 755fd744de5..22b2404e009 100644
--- a/jstests/replsets/tags_with_reconfig.js
+++ b/jstests/replsets/tags_with_reconfig.js
@@ -6,7 +6,7 @@
// Start a replica set with 3 nodes
var host = getHostName();
-var replTest = new ReplSetTest( {name: "tags_with_reconfig", nodes: 3, startPort: 32000} );
+var replTest = new ReplSetTest({ name: "tags_with_reconfig", nodes: 3 });
var nodes = replTest.startSet();
var ports = replTest.ports;
diff --git a/jstests/sharding/addshard2.js b/jstests/sharding/addshard2.js
index e6ebac9ab5f..b582ff6ed7a 100644
--- a/jstests/sharding/addshard2.js
+++ b/jstests/sharding/addshard2.js
@@ -1,35 +1,34 @@
+// Don't start any shards, yet
+var s = new ShardingTest("add_shard2", 1, 0, 1, {useHostname : true});
-// don't start any shards, yet
-s = new ShardingTest( "add_shard2", 1, 0, 1, {useHostname : true} );
-
+// Start two new instances, which will be used for shards
var conn1 = MongoRunner.runMongod({useHostname: true});
var conn2 = MongoRunner.runMongod({useHostname: true});
-var rs1 = new ReplSetTest( { "name" : "add_shard2_rs1", nodes : 3 , startPort : 31200 } );
+var rs1 = new ReplSetTest( { "name" : "add_shard2_rs1", nodes : 3 } );
rs1.startSet();
rs1.initiate();
var master1 = rs1.getMaster();
-var rs2 = new ReplSetTest( { "name" : "add_shard2_rs2", nodes : 3 , startPort : 31203 } );
+var rs2 = new ReplSetTest( { "name" : "add_shard2_rs2", nodes : 3 } );
rs2.startSet();
rs2.initiate();
var master2 = rs2.getMaster();
// replica set with set name = 'config'
-var rs3 = new ReplSetTest({ 'name': 'config', nodes: 3, startPort: 31206 });
+var rs3 = new ReplSetTest({ 'name': 'config', nodes: 3 });
rs3.startSet();
rs3.initiate();
// replica set with set name = 'admin'
-var rs4 = new ReplSetTest({ 'name': 'admin', nodes: 3, startPort: 31209 });
+var rs4 = new ReplSetTest({ 'name': 'admin', nodes: 3 });
rs4.startSet();
rs4.initiate();
// replica set with configsvr: true should *not* be allowed to be added as a shard
-var rs5 = new ReplSetTest({ name: 'csrs',
- nodes: 3,
- startPort: 31212,
- nodeOptions: {configsvr: "", storageEngine: "wiredTiger" }});
+var rs5 = new ReplSetTest({name: 'csrs',
+ nodes: 3,
+ nodeOptions: {configsvr: "", storageEngine: "wiredTiger"}});
rs5.startSet();
var conf = rs5.getReplSetConfig();
conf.configsvr = true;
@@ -44,13 +43,16 @@ assert(shard, "shard wasn't found");
assert.eq("bar", shard._id, "shard has incorrect name");
// step 2. replica set
-assert(s.admin.runCommand({"addshard" : "add_shard2_rs1/"+getHostName()+":31200"}).ok, "failed to add shard in step 2");
+assert(s.admin.runCommand(
+ {"addshard" : "add_shard2_rs1/" + getHostName() + ":" + master1.port}).ok,
+ "failed to add shard in step 2");
shard = s.getDB("config").shards.findOne({"_id" : {"$nin" : ["shard0000", "bar"]}});
assert(shard, "shard wasn't found");
assert.eq("add_shard2_rs1", shard._id, "t2 name");
// step 3. replica set w/ name given
-assert(s.admin.runCommand({"addshard" : "add_shard2_rs2/"+getHostName()+":31203", "name" : "myshard"}).ok,
+assert(s.admin.runCommand({"addshard" : "add_shard2_rs2/" + getHostName() + ":" + master2.port,
+ "name" : "myshard"}).ok,
"failed to add shard in step 4");
shard = s.getDB("config").shards.findOne({"_id" : {"$nin" : ["shard0000", "bar", "add_shard2_rs1"]}});
assert(shard, "shard wasn't found");
@@ -66,28 +68,37 @@ assert.eq("shard0001", shard._id, "t4 name");
assert.eq(s.getDB("config").shards.count(), 5, "unexpected number of shards");
// step 5. replica set w/ a wrong host
-assert(!s.admin.runCommand({"addshard" : "add_shard2_rs2/NonExistingHost:31203"}).ok, "accepted bad hostname in step 5");
+var portWithoutHostRunning = allocatePort();
+assert(!s.admin.runCommand({
+ addshard: "add_shard2_rs2/NonExistingHost:" + portWithoutHostRunning
+ }).ok,
+ "accepted bad hostname in step 5");
// step 6. replica set w/ mixed wrong/right hosts
-assert(!s.admin.runCommand({"addshard" : "add_shard2_rs2/"+getHostName()+":31203,foo:9999"}).ok,
+assert(!s.admin.runCommand({
+ addshard: "add_shard2_rs2/" + getHostName() + ":" + master2.port +
+ ",foo:" + portWithoutHostRunning
+ }).ok,
"accepted bad hostname in step 6");
//
// SERVER-17231 Adding replica set w/ set name = 'config'
//
-var configReplURI = 'config/' + getHostName() + ':31206';
+var configReplURI = 'config/' + getHostName() + ':' + rs3.getMaster().port;
+
assert(!s.admin.runCommand({ 'addshard': configReplURI }).ok,
'accepted replica set shard with set name "config"');
// but we should be allowed to add that replica set using a different shard name
assert(s.admin.runCommand({ 'addshard': configReplURI, name: 'not_config' }).ok,
'unable to add replica set using valid replica set name');
+
shard = s.getDB('config').shards.findOne({ '_id': 'not_config' });
assert(shard, 'shard with name "not_config" not found');
//
// SERVER-17232 Try inserting into shard with name 'admin'
//
-assert(s.admin.runCommand({ 'addshard': 'admin/' + getHostName() + ':31209' }).ok,
+assert(s.admin.runCommand({ 'addshard': 'admin/' + getHostName() + ':' + rs4.getMaster().port}).ok,
'adding replica set with name "admin" should work');
var wRes = s.getDB('test').foo.insert({ x: 1 });
assert(!wRes.hasWriteError() && wRes.nInserted === 1,
@@ -101,4 +112,4 @@ rs1.stopSet();
rs2.stopSet();
rs3.stopSet();
rs4.stopSet();
-rs5.stopSet(); \ No newline at end of file
+rs5.stopSet();
diff --git a/jstests/sharding/addshard3.js b/jstests/sharding/addshard3.js
index aa5a21efa92..f8d43587fc0 100644
--- a/jstests/sharding/addshard3.js
+++ b/jstests/sharding/addshard3.js
@@ -1,9 +1,11 @@
+(function() {
-s = new ShardingTest( "add_shard3", 1 );
+var st = new ShardingTest("add_shard3", 1);
-var result = s.admin.runCommand({"addshard" : "localhost:31000"});
+var result = st.admin.runCommand({addshard: st.s.host});
printjson(result);
assert.eq(result.ok, 0, "don't add mongos as a shard");
+})();
diff --git a/jstests/sharding/addshard4.js b/jstests/sharding/addshard4.js
index ce459ac2824..885227a1d7c 100644
--- a/jstests/sharding/addshard4.js
+++ b/jstests/sharding/addshard4.js
@@ -2,7 +2,7 @@
s = new ShardingTest( "addshard4", 2 , 0 , 1 , {useHostname : true});
-r = new ReplSetTest({name : "addshard4", nodes : 3, startPort : 31100});
+var r = new ReplSetTest({name: "addshard4", nodes: 3});
r.startSet();
var config = r.getReplSetConfig();
@@ -31,7 +31,7 @@ var result = s.adminCommand({"addshard" : shardName});
printjson(result);
assert.eq(result, true);
-r = new ReplSetTest({name : "addshard42", nodes : 3, startPort : 31200});
+r = new ReplSetTest({name : "addshard42", nodes : 3});
r.startSet();
config = r.getReplSetConfig();
diff --git a/jstests/sharding/auth.js b/jstests/sharding/auth.js
index 4e519126ec1..d6d018719e5 100644
--- a/jstests/sharding/auth.js
+++ b/jstests/sharding/auth.js
@@ -1,31 +1,36 @@
-adminUser = {
+(function() {
+
+'use strict';
+
+var adminUser = {
db : "admin",
username : "foo",
password : "bar"
};
-testUser = {
+var testUser = {
db : "test",
username : "bar",
password : "baz"
};
-testUserReadOnly = {
+var testUserReadOnly = {
db : "test",
username : "sad",
password : "bat"
};
-function login(userObj , thingToUse ) {
- if ( ! thingToUse )
+function login(userObj, thingToUse) {
+ if (!thingToUse) {
thingToUse = s;
+ }
thingToUse.getDB(userObj.db).auth(userObj.username, userObj.password);
}
-function logout(userObj, thingToUse ) {
- if ( ! thingToUse )
+function logout(userObj, thingToUse) {
+ if (!thingToUse)
thingToUse = s;
s.getDB(userObj.db).runCommand({logout:1});
@@ -38,17 +43,6 @@ function getShardName(rsTest) {
return config._id+"/"+members.join(",");
}
-function setupTest() {
- var s = new ShardingTest( "auth1", 0 , 0 , 1 ,
- {
- rs: true,
- extraOptions : {"keyFile" : "jstests/libs/key1"},
- noChunkSize : true,
- enableBalancer:true
- } );
- return s;
-}
-
function runTest(s) {
print("adding user");
s.getDB(adminUser.db).createUser({user: adminUser.username,
@@ -60,15 +54,16 @@ function runTest(s) {
{ $set: { value : 1 }}, true ));
printjson(s.getDB("config").settings.find().toArray());
- print("restart mongos");
- MongoRunner.stopMongos(31000);
- var opts = { port : 31000, v : 2, configdb : s._configDB, keyFile : "jstests/libs/key1", chunkSize : 1 };
- var conn = startMongos( opts );
- s.s = s._mongos[0] = s["s0"] = conn;
+ print("restart mongos with different auth options");
+ s.restartMongos(0, { port: s.port,
+ v: 2,
+ configdb: s._configDB,
+ keyFile: "jstests/libs/key1",
+ chunkSize: 1 });
login(adminUser);
- d1 = new ReplSetTest({name : "d1", nodes : 3, startPort : 31100, useHostName : true });
+ var d1 = new ReplSetTest({name : "d1", nodes : 3, useHostName : true });
d1.startSet({keyFile : "jstests/libs/key2", verbose : 0});
d1.initiate();
@@ -99,12 +94,14 @@ function runTest(s) {
assert(thrown);
print("start rs w/correct key");
+
d1.stopSet();
d1.startSet({keyFile : "jstests/libs/key1", verbose : 0});
d1.initiate();
+
var master = d1.getMaster();
- print("adding shard w/auth "+shardName);
+ print("adding shard w/auth " + shardName);
result = s.getDB("admin").runCommand({addShard : shardName});
assert.eq(result.ok, 1, tojson(result));
@@ -125,12 +122,12 @@ function runTest(s) {
print("query try");
var e = assert.throws(function() {
- conn.getDB("foo").bar.findOne();
+ s.s.getDB("foo").bar.findOne();
});
printjson(e);
print("cmd try");
- assert.eq( 0, conn.getDB("foo").runCommand({listDatabases:1}).ok );
+ assert.eq(0, s.s.getDB("foo").runCommand({listDatabases:1}).ok);
print("insert try 1");
s.getDB("test").foo.insert({x:1});
@@ -144,7 +141,7 @@ function runTest(s) {
logout(testUser);
- d2 = new ReplSetTest({name : "d2", nodes : 3, startPort : 31200, useHostName : true });
+ var d2 = new ReplSetTest({name : "d2", nodes : 3, useHostName : true });
d2.startSet({keyFile : "jstests/libs/key1", verbose : 0});
d2.initiate();
d2.awaitSecondaryNodes();
@@ -218,7 +215,6 @@ function runTest(s) {
assert(false, "Number of docs found does not equal the number inserted. Missing docs: " + missingDocNumbers);
}
-
// We're only sure we aren't duplicating documents iff there's no balancing going on here
// This call also waits for any ongoing balancing to stop
s.stopBalancer(60000);
@@ -253,9 +249,10 @@ function runTest(s) {
login(testUser);
print( "testing map reduce" );
- /* sharded map reduce can be tricky since all components talk to each other.
- for example SERVER-4114 is triggered when 1 mongod connects to another for final reduce
- it's not properly tested here since addresses are localhost, which is more permissive */
+
+ // Sharded map reduce can be tricky since all components talk to each other. For example
+ // SERVER-4114 is triggered when 1 mongod connects to another for final reduce it's not
+ // properly tested here since addresses are localhost, which is more permissive.
var res = s.getDB("test").runCommand(
{mapreduce : "foo",
map : function() { emit(this.x, 1); },
@@ -265,18 +262,20 @@ function runTest(s) {
printjson(res);
assert.commandWorked(res);
- // check that dump doesn't get stuck with auth
- var x = runMongoProgram( "mongodump", "--host", "127.0.0.1:31000", "-d", testUser.db, "-u",
- testUser.username, "-p", testUser.password, "--authenticationMechanism",
- "SCRAM-SHA-1");
- print("result: "+x);
-
- // test read only users
+ // Check that dump doesn't get stuck with auth
+ var x = runMongoProgram("mongodump",
+ "--host", s.s.host,
+ "-d", testUser.db,
+ "-u", testUser.username,
+ "-p", testUser.password,
+ "--authenticationMechanism", "SCRAM-SHA-1");
+ print("result: " + x);
+ // Test read only users
print( "starting read only tests" );
- readOnlyS = new Mongo( s.getDB( "test" ).getMongo().host )
- readOnlyDB = readOnlyS.getDB( "test" );
+ var readOnlyS = new Mongo( s.getDB( "test" ).getMongo().host )
+ var readOnlyDB = readOnlyS.getDB( "test" );
print( " testing find that should fail" );
assert.throws( function(){ readOnlyDB.foo.findOne(); } )
@@ -296,6 +295,7 @@ function runTest(s) {
print("make sure currentOp/killOp fail");
assert.commandFailed(readOnlyDB.currentOp());
assert.commandFailed(readOnlyDB.killOp(123));
+
// fsyncUnlock doesn't work in mongos anyway, so no need check authorization for it
/*
broken because of SERVER-4156
@@ -307,20 +307,30 @@ function runTest(s) {
out:"blarg"
}));
*/
+
print( " testing logout (should succeed)" );
assert.commandWorked(readOnlyDB.runCommand({logout : 1}));
print("make sure currentOp/killOp fail again");
assert.commandFailed(readOnlyDB.currentOp());
assert.commandFailed(readOnlyDB.killOp(123));
- // fsyncUnlock doesn't work in mongos anyway, so no need check authorization for it
}
-var s = setupTest();
-if (s.getDB( "admin" ).runCommand( "buildInfo" ).bits < 64) {
- print("Skipping test on 32-bit platforms");
+var s = new ShardingTest("auth1", 0, 0, 1,
+ {
+ rs: true,
+ extraOptions: { "keyFile": "jstests/libs/key1" },
+ noChunkSize: true,
+ enableBalancer: true
+ });
+
+if (s.getDB('admin').runCommand('buildInfo').bits < 64) {
+ print('Skipping test on 32-bit platforms');
}
else {
runTest(s);
}
+
s.stop();
+
+})();
diff --git a/jstests/sharding/csrs_upgrade.js b/jstests/sharding/csrs_upgrade.js
index b8b6b0d6de2..a94cd2bf4e0 100644
--- a/jstests/sharding/csrs_upgrade.js
+++ b/jstests/sharding/csrs_upgrade.js
@@ -207,9 +207,11 @@ var st;
var sconfig = Object.extend({}, st.s0.fullOptions, /* deep */ true);
delete sconfig.port;
sconfig.configdb = csrsName + "/" + csrs[0].name;
- assertCanSplit(startMongos(sconfig), "when mongos started with --configdb=" + sconfig.configdb);
+ assertCanSplit(MongoRunner.runMongos(sconfig),
+ "when mongos started with --configdb=" + sconfig.configdb);
sconfig.configdb = st.s0.fullOptions.configdb;
- assertCanSplit(startMongos(sconfig), "when mongos started with --configdb=" + sconfig.configdb);
+ assertCanSplit(MongoRunner.runMongos(sconfig),
+ "when mongos started with --configdb=" + sconfig.configdb);
assertCanSplit(st.s0, "on mongos that drove the upgrade");
assertCanSplit(st.s1, "on mongos that was previously unaware of the upgrade");
}());
diff --git a/jstests/sharding/diffservers1.js b/jstests/sharding/diffservers1.js
index 8a7f2bac0a2..0d477147be8 100644
--- a/jstests/sharding/diffservers1.js
+++ b/jstests/sharding/diffservers1.js
@@ -1,6 +1,4 @@
-
-
-s = new ShardingTest( "diffservers1" , 2 );
+var s = new ShardingTest( "diffservers1" , 2 );
assert.eq( 2 , s.config.shards.count() , "server count wrong" );
assert.eq( 2 , s._configServers[0].getDB( "config" ).shards.count() , "where are servers!" );
@@ -14,8 +12,10 @@ test1.save( { a : 3 } );
assert( 3 , test1.count() );
assert( ! s.admin.runCommand( { addshard: "sdd$%" } ).ok , "bad hostname" );
-assert( ! s.admin.runCommand( { addshard: "127.0.0.1:43415" } ).ok , "host not up" );
-assert( ! s.admin.runCommand( { addshard: "10.0.0.1:43415" } ).ok , "allowed shard in IP when config is localhost" );
+var portWithoutHostRunning = allocatePort();
+assert(!s.admin.runCommand({addshard: "127.0.0.1:" + portWithoutHostRunning}).ok, "host not up");
+assert(!s.admin.runCommand({ addshard: "10.0.0.1:" + portWithoutHostRunning}).ok,
+ "allowed shard in IP when config is localhost" );
s.stop();
diff --git a/jstests/sharding/names.js b/jstests/sharding/names.js
index ff775184116..17e98f82b30 100644
--- a/jstests/sharding/names.js
+++ b/jstests/sharding/names.js
@@ -2,8 +2,8 @@
var st = new ShardingTest( name = "test", shards = 0, verbose = 2, mongos = 2, other = { rs : true } )
-var rsA = new ReplSetTest({ nodes : 2, name : "rsA", startPort : 28000 })
-var rsB = new ReplSetTest({ nodes : 2, name : "rsB", startPort : 28010 })
+var rsA = new ReplSetTest({ nodes : 2, name : "rsA" })
+var rsB = new ReplSetTest({ nodes : 2, name : "rsB" })
rsA.startSet()
rsB.startSet()
diff --git a/jstests/sharding/remove2.js b/jstests/sharding/remove2.js
index 48bb95e1e95..74f760050db 100644
--- a/jstests/sharding/remove2.js
+++ b/jstests/sharding/remove2.js
@@ -6,9 +6,6 @@ seedString = function(replTest) {
};
removeShard = function(st, replTest) {
-
-
-
print( "Removing shard with name: " + replTest.name );
res = st.admin.runCommand( { removeshard: replTest.name } )
printjson(res);
@@ -192,7 +189,7 @@ print( "Sleeping for 20 seconds to let the other shard's ReplicaSetMonitor time
sleep( 20000 );
-var rst2 = new ReplSetTest({name : rst1.name, nodes : 2, startPort : rst1.startPort + 1500, useHostName : true});
+var rst2 = new ReplSetTest({name : rst1.name, nodes : 2, useHostName : true});
rst2.startSet();
rst2.initiate();
rst2.awaitReplication();
diff --git a/jstests/sharding/sync_cluster_config/configdb_str.js b/jstests/sharding/sync_cluster_config/configdb_str.js
index 6cd592bbda4..e7a5985836e 100644
--- a/jstests/sharding/sync_cluster_config/configdb_str.js
+++ b/jstests/sharding/sync_cluster_config/configdb_str.js
@@ -10,12 +10,12 @@ st.stopBalancer();
var badConfStr = st.c1.name + ',' + st.c0.name + ',' + st.c2.name;
-var otherMongos = MongoRunner.runMongos({ port: 30998, configdb: badConfStr });
+var otherMongos = MongoRunner.runMongos({configdb: badConfStr});
var configDB = otherMongos.getDB('config');
var res = configDB.user.insert({ x: 1 });
assert.writeError(res);
-MongoRunner.stopMongos(30998);
+MongoRunner.stopMongos(otherMongos.port);
st.stop();
diff --git a/jstests/sharding/sync_cluster_config/rs_stepdown_and_pooling.js b/jstests/sharding/sync_cluster_config/rs_stepdown_and_pooling.js
index cd1efbbd8d6..d40cbf25e21 100644
--- a/jstests/sharding/sync_cluster_config/rs_stepdown_and_pooling.js
+++ b/jstests/sharding/sync_cluster_config/rs_stepdown_and_pooling.js
@@ -37,9 +37,7 @@ else {
conns.push(new Mongo(mongos.host));
conns[i].getCollection(coll + "").findOne();
}
-
- assert.eq(primary.port, 31100);
-
+
jsTest.log("Returning the connections back to the pool.");
for ( var i = 0; i < conns.length; i++ ) {
diff --git a/jstests/sharding/sync_cluster_config/sync7.js b/jstests/sharding/sync_cluster_config/sync7.js
index 65ac5b48d1b..33cf31bc899 100644
--- a/jstests/sharding/sync_cluster_config/sync7.js
+++ b/jstests/sharding/sync_cluster_config/sync7.js
@@ -13,7 +13,7 @@ s._configServers[1].getDB( "admin" ).runCommand( { _skewClockCommand : 1, skew :
// We need to start another mongos after skewing the clock, since the first mongos will have already
// tested the config servers (via the balancer) before we manually skewed them
-otherMongos = startMongos( { port : 30020, v : 2, configdb : s._configDB } );
+var otherMongos = MongoRunner.runMongos({v: 2, configdb: s._configDB});
// Initialize DB data
initDB = function(name) {
diff --git a/jstests/sharding/version1.js b/jstests/sharding/version1.js
index c7a8eb0d1a5..afe3f709fad 100644
--- a/jstests/sharding/version1.js
+++ b/jstests/sharding/version1.js
@@ -32,7 +32,7 @@ assert( a.runCommand({ setShardVersion: "alleyinsider.foo",
version: new Timestamp(2, 0),
authoritative: true,
shard: "shard0000",
- shardHost: "localhost:30000" }),
+ shardHost: s.s.host }),
"should have failed because version is config is 1|0" );
var epoch = s.getDB('config').chunks.findOne().lastmodEpoch;
@@ -42,7 +42,7 @@ assert.commandWorked( a.runCommand({ setShardVersion: "alleyinsider.foo",
versionEpoch: epoch,
authoritative: true,
shard: "shard0000",
- shardHost: "localhost:30000" }),
+ shardHost: s.s.host }),
"should have worked" );
assert( a.runCommand({ setShardVersion: "alleyinsider.foo",
diff --git a/jstests/sharding/version2.js b/jstests/sharding/version2.js
index f41342dcb8a..5a375f89c21 100644
--- a/jstests/sharding/version2.js
+++ b/jstests/sharding/version2.js
@@ -14,13 +14,16 @@ assert.eq( a.runCommand( { "getShardVersion" : "alleyinsider.foo" , configdb : s
assert.eq( a.runCommand( { "getShardVersion" : "alleyinsider.foo" , configdb : s._configDB } ).global.i, 0 );
var fooEpoch = s.getDB('config').chunks.findOne({ ns: 'alleyinsider.foo' }).lastmodEpoch;
-assert( a.runCommand({ setShardVersion: "alleyinsider.foo",
- configdb: s._configDB,
- authoritative: true,
- version: new Timestamp(1, 0),
- versionEpoch: fooEpoch,
- shard: "shard0000",
- shardHost: "localhost:30000" }).ok == 1 );
+assert.commandWorked(
+ a.runCommand({
+ setShardVersion: "alleyinsider.foo",
+ configdb: s._configDB,
+ authoritative: true,
+ version: new Timestamp(1, 0),
+ versionEpoch: fooEpoch,
+ shard: "shard0000",
+ shardHost: s.s.host,
+ }));
printjson( s.config.chunks.findOne() );
diff --git a/jstests/ssl/set_parameter_ssl.js b/jstests/ssl/set_parameter_ssl.js
index 801d4e15b72..98a4065b8a0 100644
--- a/jstests/ssl/set_parameter_ssl.js
+++ b/jstests/ssl/set_parameter_ssl.js
@@ -1,16 +1,15 @@
-// Test changing the --sslMode and --clusterAuthMode
-// parameters using setParameter
+// Test changing the --sslMode and --clusterAuthMode parameters using setParameter
var SERVER_CERT = "jstests/libs/server.pem"
var CA_CERT = "jstests/libs/ca.pem"
-port = allocatePorts(1)[0];
function testSSLTransition(oldMode, newMode, shouldSucceed) {
- var conn = MongoRunner.runMongod({port: port,
- sslMode: oldMode,
- sslPEMKeyFile: SERVER_CERT,
- sslCAFile: CA_CERT});
-
+ var conn = MongoRunner.runMongod({
+ sslMode: oldMode,
+ sslPEMKeyFile: SERVER_CERT,
+ sslCAFile: CA_CERT
+ });
+
var adminDB = conn.getDB("admin");
adminDB.createUser({user: "root", pwd: "pwd", roles: ['root']});
adminDB.auth("root", "pwd");
@@ -18,16 +17,17 @@ function testSSLTransition(oldMode, newMode, shouldSucceed) {
"sslMode" : newMode });
assert(res["ok"] == shouldSucceed, tojson(res));
- MongoRunner.stopMongod(port);
+ MongoRunner.stopMongod(conn.port);
}
function testAuthModeTransition(oldMode, newMode, sslMode, shouldSucceed) {
- var conn = MongoRunner.runMongod({port: port,
- sslMode: sslMode,
- sslPEMKeyFile: SERVER_CERT,
- sslCAFile: CA_CERT,
- clusterAuthMode: oldMode});
-
+ var conn = MongoRunner.runMongod({
+ sslMode: sslMode,
+ sslPEMKeyFile: SERVER_CERT,
+ sslCAFile: CA_CERT,
+ clusterAuthMode: oldMode
+ });
+
var adminDB = conn.getDB("admin");
adminDB.createUser({user: "root", pwd: "pwd", roles: ['root']});
adminDB.auth("root", "pwd");
@@ -35,7 +35,7 @@ function testAuthModeTransition(oldMode, newMode, sslMode, shouldSucceed) {
"clusterAuthMode" : newMode });
assert(res["ok"] == shouldSucceed, tojson(res));
- MongoRunner.stopMongod(port);
+ MongoRunner.stopMongod(conn.port);
}
testSSLTransition("allowSSL", "invalid", false);
diff --git a/jstests/ssl/ssl_cert_password.js b/jstests/ssl/ssl_cert_password.js
index 1c0e271be20..7e04755329a 100644
--- a/jstests/ssl/ssl_cert_password.js
+++ b/jstests/ssl/ssl_cert_password.js
@@ -2,7 +2,6 @@
// This tests that providing a proper password works and that providing no password or incorrect
// password fails. It uses both mongod and mongo to run the tests, since the mongod binary
// does not return error statuses to indicate an error.
-port = allocatePorts( 1 )[ 0 ];
var baseName = "jstests_ssl_ssl_cert_password";
var dbpath = MongoRunner.dataPath + baseName;
var external_scratch_dir = MongoRunner.dataPath + baseName + "/external/";
@@ -11,7 +10,6 @@ mkdir(external_scratch_dir);
// Password is correct
var md = MongoRunner.runMongod({nopreallocj: "",
- port: port,
dbpath: dbpath,
sslMode: "requireSSL",
sslPEMKeyFile: "jstests/libs/password_protected.pem",
@@ -21,7 +19,7 @@ var md = MongoRunner.runMongod({nopreallocj: "",
// Password incorrect; error logged is:
// error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt
-var exit_code = runMongoProgram("mongo", "--port", port,
+var exit_code = runMongoProgram("mongo", "--port", md.port,
"--ssl", "--sslAllowInvalidCertificates",
"--sslPEMKeyFile", "jstests/libs/password_protected.pem",
"--sslPEMKeyPassword", "barf");
@@ -36,7 +34,7 @@ c.save({ a : 22 });
assert.eq(1, c.count(), "failed to insert document into dumprestore_ssl.foo collection");
exit_code = runMongoProgram("mongodump", "--out", external_scratch_dir,
- "--port", port,
+ "--port", md.port,
"--ssl",
"--sslPEMKeyFile", "jstests/libs/password_protected.pem",
"--sslPEMKeyPassword", "qwerty");
@@ -47,7 +45,7 @@ c.drop();
assert.eq(0, c.count(), "dumprestore_ssl.foo collection is not empty after drop");
exit_code = runMongoProgram("mongorestore", "--dir", external_scratch_dir,
- "--port", port,
+ "--port", md.port,
"--ssl",
"--sslPEMKeyFile", "jstests/libs/password_protected.pem",
"--sslPEMKeyPassword", "qwerty");
@@ -71,7 +69,7 @@ var exportimport_file = "data.json";
exit_code = runMongoProgram("mongoexport", "--out", external_scratch_dir + exportimport_file,
"-d", exportimport_ssl_dbname, "-c", "foo",
- "--port", port,
+ "--port", md.port,
"--ssl",
"--sslPEMKeyFile", "jstests/libs/password_protected.pem",
"--sslPEMKeyPassword", "qwerty");
@@ -83,7 +81,7 @@ assert.eq(0, c.count(), "afterdrop", "-d", exportimport_ssl_dbname, "-c", "foo")
exit_code = runMongoProgram("mongoimport", "--file", external_scratch_dir + exportimport_file,
"-d", exportimport_ssl_dbname, "-c", "foo",
- "--port", port,
+ "--port", md.port,
"--ssl",
"--sslPEMKeyFile", "jstests/libs/password_protected.pem",
"--sslPEMKeyPassword", "qwerty");
@@ -104,7 +102,7 @@ source_filename = 'jstests/ssl/ssl_cert_password.js'
filename = 'ssl_cert_password.js'
exit_code = runMongoProgram("mongofiles", "-d", mongofiles_ssl_dbname, "put", source_filename,
- "--port", port,
+ "--port", md.port,
"--ssl",
"--sslPEMKeyFile", "jstests/libs/password_protected.pem",
"--sslPEMKeyPassword", "qwerty");
@@ -122,7 +120,7 @@ assert.eq(md5, md5_computed, "md5 computed incorrectly by server");
exit_code = runMongoProgram("mongofiles", "-d", mongofiles_ssl_dbname, "get", source_filename,
"-l", external_scratch_dir + filename,
- "--port", port,
+ "--port", md.port,
"--ssl",
"--sslPEMKeyFile", "jstests/libs/password_protected.pem",
"--sslPEMKeyPassword", "qwerty");
@@ -134,6 +132,6 @@ assert.eq(md5, md5_stored, "hash of stored file does not match the expected valu
if (!_isWindows()) {
// Stop the server
- var exitCode = MongoRunner.stopMongod(port, 15);
+ var exitCode = MongoRunner.stopMongod(md.port, 15);
assert(exitCode == 0);
}
diff --git a/jstests/ssl/ssl_fips.js b/jstests/ssl/ssl_fips.js
index 3de4696d582..c831a040f52 100644
--- a/jstests/ssl/ssl_fips.js
+++ b/jstests/ssl/ssl_fips.js
@@ -1,14 +1,11 @@
// Test mongod start with FIPS mode enabled
-ports = allocatePorts(1);
-port1 = ports[0];
-var md = MongoRunner.runMongod({port: port1,
- sslMode: "requireSSL",
+var md = MongoRunner.runMongod({sslMode: "requireSSL",
sslPEMKeyFile: "jstests/libs/server.pem",
sslCAFile: "jstests/libs/ca.pem",
sslFIPSMode: ""});
var mongo = runMongoProgram("mongo",
- "--port", port1,
+ "--port", md.port,
"--ssl",
"--sslAllowInvalidCertificates",
"--sslPEMKeyFile", "jstests/libs/client.pem",
diff --git a/jstests/ssl/ssl_hostname_validation.js b/jstests/ssl/ssl_hostname_validation.js
index 98f99b557e2..6ec02381094 100644
--- a/jstests/ssl/ssl_hostname_validation.js
+++ b/jstests/ssl/ssl_hostname_validation.js
@@ -7,31 +7,34 @@ var SAN_CERT = "jstests/libs/localhostnameSAN.pem";
var CLIENT_CERT = "jstests/libs/client.pem"
var BAD_SAN_CERT = "jstests/libs/badSAN.pem";
-port = allocatePorts(1)[0];
-
function testCombination(certPath, allowInvalidHost, allowInvalidCert, shouldSucceed) {
- MongoRunner.runMongod({port: port,
- sslMode: "requireSSL",
- sslPEMKeyFile: certPath,
- sslCAFile: CA_CERT});
+ var mongod = MongoRunner.runMongod({sslMode: "requireSSL",
+ sslPEMKeyFile: certPath,
+ sslCAFile: CA_CERT});
var mongo;
if (allowInvalidCert) {
- mongo = runMongoProgram("mongo", "--port", port, "--ssl",
- "--sslCAFile", CA_CERT,
+ mongo = runMongoProgram("mongo",
+ "--port", mongod.port,
+ "--ssl",
+ "--sslCAFile", CA_CERT,
"--sslPEMKeyFile", CLIENT_CERT,
"--sslAllowInvalidCertificates",
"--eval", ";");
}
else if (allowInvalidHost) {
- mongo = runMongoProgram("mongo", "--port", port, "--ssl",
+ mongo = runMongoProgram("mongo",
+ "--port", mongod.port,
+ "--ssl",
"--sslCAFile", CA_CERT,
"--sslPEMKeyFile", CLIENT_CERT,
"--sslAllowInvalidHostnames",
"--eval", ";");
} else {
- mongo = runMongoProgram("mongo", "--port", port, "--ssl",
- "--sslCAFile", CA_CERT,
+ mongo = runMongoProgram("mongo",
+ "--port", mongod.port,
+ "--ssl",
+ "--sslCAFile", CA_CERT,
"--sslPEMKeyFile", CLIENT_CERT,
"--eval", ";");
}
@@ -46,7 +49,7 @@ function testCombination(certPath, allowInvalidHost, allowInvalidCert, shouldSuc
assert.eq(1, mongo, "Connection attempt succeeded when it should fail certPath: " +
certPath);
}
- MongoRunner.stopMongod(port);
+ MongoRunner.stopMongod(mongod.port);
}
// 1. Test client connections with different server certificates
diff --git a/jstests/ssl/x509_client.js b/jstests/ssl/x509_client.js
index 642c87ff289..59b5b268e63 100644
--- a/jstests/ssl/x509_client.js
+++ b/jstests/ssl/x509_client.js
@@ -20,8 +20,6 @@ var CA_CERT = "jstests/libs/ca.pem"
var CLIENT_USER = "C=US,ST=New York,L=New York City,O=MongoDB,OU=KernelUser,CN=client"
var INVALID_CLIENT_USER = "C=US,ST=New York,L=New York City,O=MongoDB,OU=KernelUser,CN=invalid"
-port = allocatePorts(1)[0];
-
function authAndTest(mongo) {
external = mongo.getDB("$external")
test = mongo.getDB("test");
@@ -53,10 +51,10 @@ var x509_options = {sslMode : "requireSSL",
sslPEMKeyFile : SERVER_CERT,
sslCAFile : CA_CERT};
-var mongo = MongoRunner.runMongod(Object.merge(x509_options, {port: port, auth: ""}));
+var mongo = MongoRunner.runMongod(Object.merge(x509_options, {auth: ""}));
authAndTest(mongo);
-MongoRunner.stopMongod(port);
+MongoRunner.stopMongod(mongo.port);
print("2. Testing x.509 auth to mongos");
diff --git a/jstests/sslSpecial/set_parameter_nossl.js b/jstests/sslSpecial/set_parameter_nossl.js
index 0b5e72dd4fb..280d47b6130 100644
--- a/jstests/sslSpecial/set_parameter_nossl.js
+++ b/jstests/sslSpecial/set_parameter_nossl.js
@@ -1,15 +1,12 @@
-// Test changing the --sslMode and --clusterAuthMode
+// Test changing the --sslMode and --clusterAuthMode
// parameters using setParameter
-port = allocatePorts(1)[0];
-
// setParameter should always fail since it
// cannot be used to transition from disabled/keyFile modes
function testTransition(newSSLMode, newClusterAuthMode) {
// If no parameters are given sslMode defaults to disabled
- var conn = MongoRunner.runMongod({port: port,
- clusterAuthMode: "keyFile"})
- var adminDB = conn.getDB("admin");
+ var conn = MongoRunner.runMongod({clusterAuthMode: "keyFile"});
+ var adminDB = conn.getDB("admin");
var res = adminDB.runCommand({ "setParameter" : 1,
"sslMode" : newSSLMode });
assert(!res["ok"]);
@@ -17,10 +14,9 @@ function testTransition(newSSLMode, newClusterAuthMode) {
var res = adminDB.runCommand({ "setParameter" : 1,
"clusterAuthMode" : newClusterAuthMode });
assert(!res["ok"]);
- MongoRunner.stopMongod(port);
+ MongoRunner.stopMongod(conn.port);
}
testTransition("allowSSL", "sendKeyFile");
testTransition("preferSSL", "sendX509");
testTransition("requireSSL", "x509");
-
diff --git a/jstests/tool/oplog_all_ops.js b/jstests/tool/oplog_all_ops.js
index 8f231cb233d..fb51f2b0b53 100644
--- a/jstests/tool/oplog_all_ops.js
+++ b/jstests/tool/oplog_all_ops.js
@@ -36,8 +36,14 @@ testColl.remove({ y: 2 });
var oplogColl = repl1Conn.getCollection('local.oplog.rs');
oplogColl.insert({ ts: new Timestamp(), op: 'n', ns: testColl.getFullName(), 'o': { x: 'noop' }});
-var repl2 = new ReplSetTest({ name: 'rs2', startPort: 31100, nodes: [{ nopreallocj: '' },
- { arbiter: true }, { arbiter: true }]});
+var repl2 = new ReplSetTest({
+ name: 'rs2',
+ nodes: [
+ {nopreallocj: ''},
+ {arbiter: true},
+ {arbiter: true}
+ ]
+});
repl2.startSet({ oplogSize: 10 });
repl2.initiate();