summaryrefslogtreecommitdiff
path: root/jstests/core/indexh.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/indexh.js')
-rw-r--r--jstests/core/indexh.js41
1 files changed, 41 insertions, 0 deletions
diff --git a/jstests/core/indexh.js b/jstests/core/indexh.js
new file mode 100644
index 00000000000..ac2a93ec62b
--- /dev/null
+++ b/jstests/core/indexh.js
@@ -0,0 +1,41 @@
+// This should get skipped when testing replication
+
+t = db.jstests_indexh;
+
+function debug( t ) {
+ print( t );
+}
+
+function extraDebug() {
+// printjson( db.stats() );
+// db.printCollectionStats();
+}
+
+// index extent freeing
+t.drop();
+t.save( {} );
+var s1 = db.stats().dataSize;
+debug( "s1: " + s1 );
+extraDebug();
+t.ensureIndex( {a:1} );
+var s2 = db.stats().dataSize;
+debug( "s2: " + s2 );
+assert.automsg( "s1 < s2" );
+t.dropIndex( {a:1} );
+var s3 = db.stats().dataSize;
+debug( "s3: " + s3 );
+extraDebug();
+assert.eq.automsg( "s1", "s3" );
+
+// index node freeing
+t.drop();
+t.ensureIndex( {a:1} );
+for( i = 'a'; i.length < 500; i += 'a' ) {
+ t.save( {a:i} );
+}
+var s4 = db.stats().indexSize;
+debug( "s4: " + s4 );
+t.remove( {} );
+var s5 = db.stats().indexSize;
+debug( "s5: " + s5 );
+assert.automsg( "s5 < s4" ); \ No newline at end of file