// SERVER-594 test var baseName = "jstests_disk_newcollection"; var m = MongoRunner.runMongod({noprealloc: "", smallfiles: ""}); db = m.getDB("test"); var t = db[baseName]; var getTotalNonLocalSize = function() { var totalNonLocalDBSize = 0; m.getDBs().databases.forEach(function(dbStats) { // We accept the local database's space overhead. if (dbStats.name == "local") return; // Databases with "sizeOnDisk=1" and "empty=true" dont' actually take up space o disk. // See SERVER-11051. if (dbStats.sizeOnDisk == 1 && dbStats.empty) return; totalNonLocalDBSize += dbStats.sizeOnDisk; }); return totalNonLocalDBSize; }; for (var pass = 0; pass <= 1; pass++) { db.createCollection(baseName, {size: 15.8 * 1024 * 1024}); if (pass == 0) t.drop(); size = getTotalNonLocalSize(); t.save({}); assert.eq(size, getTotalNonLocalSize()); assert(size <= 32 * 1024 * 1024); t.drop(); }