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)); });