var shardOpts = [ {noscripting: ''}, {} // just use default params ]; var st = new ShardingTest({shards: shardOpts, other: {nopreallocj: 1}}); var mongos = st.s; st.shardColl('bar', {x: 1}); var testDB = mongos.getDB('test'); var coll = testDB.bar; coll.insert({x: 1}); var map = function() { emit(this.x, 1); }; var reduce = function(key, values) { return 1; }; var mrResult = testDB.runCommand({mapreduce: 'bar', map: map, reduce: reduce, out: {inline: 1}}); assert.eq(0, mrResult.ok, 'mr result: ' + tojson(mrResult)); // Confirm that mongos did not crash assert(testDB.adminCommand({serverStatus: 1}).ok); // Confirm that the rest of the shards did not crash mongos.getDB('config').shards.find().forEach(function(shardDoc) { var shardConn = new Mongo(shardDoc.host); var adminDB = shardConn.getDB('admin'); var cmdResult = adminDB.runCommand({serverStatus: 1}); assert(cmdResult.ok, 'serverStatus on ' + shardDoc.host + ' failed, result: ' + tojson(cmdResult)); });