summaryrefslogtreecommitdiff
path: root/jstests/mmap_v1
diff options
context:
space:
mode:
authorEliot Horowitz <eliot@10gen.com>2014-10-28 12:25:03 -0400
committerEliot Horowitz <eliot@10gen.com>2014-10-29 18:41:27 -0400
commitafac6e80494b1804634d28f1e49f43674dc42254 (patch)
tree4b7396acf2a06527cb303e9d9bf98209da2eadf2 /jstests/mmap_v1
parent1a7b6ac57e41600ae781a28ca68c244e3d65acb8 (diff)
downloadmongo-afac6e80494b1804634d28f1e49f43674dc42254.tar.gz
SERVER-13635: noPassthroughWithMongod tests made generic
Diffstat (limited to 'jstests/mmap_v1')
-rw-r--r--jstests/mmap_v1/use_power_of_2_a.js37
1 files changed, 37 insertions, 0 deletions
diff --git a/jstests/mmap_v1/use_power_of_2_a.js b/jstests/mmap_v1/use_power_of_2_a.js
new file mode 100644
index 00000000000..99dee43b173
--- /dev/null
+++ b/jstests/mmap_v1/use_power_of_2_a.js
@@ -0,0 +1,37 @@
+// test the newCollectionsUsePowerOf2Sizes param
+function test(defaultMode) {
+ // default should be server default
+ db.a.drop();
+ db.createCollection('a');
+ assert.eq(db.a.stats().userFlags & 1, defaultMode);
+
+ // explicitly turned off should be 0
+ db.b.drop();
+ db.createCollection('b', {usePowerOf2Sizes: false});
+ assert.eq(db.b.stats().userFlags & 1, 0);
+
+ // capped should be 0
+ db.c.drop();
+ db.createCollection('c', {capped:true, size: 10});
+ assert.eq(db.c.stats().userFlags & 1, 0);
+
+ // capped should be 0
+ db.d.drop();
+ db.createCollection('d', {capped:true, size: 10, usePowerOf2Sizes: false});
+ assert.eq(db.d.stats().userFlags & 1, 0);
+
+ // capped and ask explicitly for powerOf2 should be 0
+ db.e.drop();
+ db.createCollection('e', {capped:true, size: 10, usePowerOf2Sizes: true});
+ assert.eq(db.e.stats().userFlags & 1, 0);
+}
+
+assert.eq(db.adminCommand({getParameter:1,
+ newCollectionsUsePowerOf2Sizes: true}).newCollectionsUsePowerOf2Sizes, true);
+
+test(1);
+assert.commandWorked(db.adminCommand({setParameter:1, newCollectionsUsePowerOf2Sizes: false}));
+test(0);
+
+// reset the server to default value
+assert.commandWorked(db.adminCommand({setParameter:1, newCollectionsUsePowerOf2Sizes: true}));