summaryrefslogtreecommitdiff
path: root/jstests/core/fsync.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/fsync.js')
-rw-r--r--jstests/core/fsync.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/jstests/core/fsync.js b/jstests/core/fsync.js
new file mode 100644
index 00000000000..9238c992466
--- /dev/null
+++ b/jstests/core/fsync.js
@@ -0,0 +1,21 @@
+// test the lock/unlock snapshotting feature a bit
+
+x=db.runCommand({fsync:1,lock:1}); // not on admin db
+assert(!x.ok,"D");
+
+x=db.fsyncLock(); // uses admin automatically
+
+assert(x.ok,"C");
+
+y = db.currentOp();
+assert(y.fsyncLock,"B");
+
+z = db.fsyncUnlock();
+assert( db.currentOp().fsyncLock == null, "A2" );
+
+// make sure the db is unlocked
+db.jstests_fsync.insert({x:1});
+
+assert( db.currentOp().fsyncLock == null, "A" );
+
+assert( !db.eval('db.fsyncLock()').ok, "eval('db.fsyncLock()') should fail." )