summaryrefslogtreecommitdiff
path: root/jstests/profile3.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/profile3.js')
-rw-r--r--jstests/profile3.js29
1 files changed, 27 insertions, 2 deletions
diff --git a/jstests/profile3.js b/jstests/profile3.js
index a6574b76f8a..1f2da422f40 100644
--- a/jstests/profile3.js
+++ b/jstests/profile3.js
@@ -1,26 +1,51 @@
+// special db so that it can be run in parallel tests
+var stddb = db;
+var db = db.getSisterDB("profile3");
+
t = db.profile3;
t.drop();
+function profileCursor( query ) {
+ query = query || {};
+ Object.extend( query, { user:username } );
+ return db.system.profile.find( query );
+}
+
try {
+ username = "jstests_profile3_user";
+ db.addUser( username, "password", false, 1 );
+ db.auth( username, "password" );
+
db.setProfilingLevel(0);
db.system.profile.drop();
- assert.eq( 0 , db.system.profile.count() )
+ assert.eq( 0 , profileCursor().count() )
db.setProfilingLevel(2);
t.insert( { x : 1 } );
t.findOne( { x : 1 } );
t.find( { x : 1 } ).count();
+ t.update( { x : 1 }, {$inc:{a:1}} );
+ t.update( { x : 1 }, {$inc:{a:1}} );
+ t.update( { x : 0 }, {$inc:{a:1}} );
- db.system.profile.find().forEach( printjson )
+ profileCursor().forEach( printjson )
db.setProfilingLevel(0);
+
+
+ assert.eq(profileCursor({nupdated: {$exists:1}}).count(), 3)
+ assert.eq(profileCursor({nupdated: 1}).count(), 2)
+ assert.eq(profileCursor({nupdated: 0}).count(), 1)
+ assert.eq(profileCursor({nmoved: 1}).count(), 1)
+
db.system.profile.drop();
}
finally {
db.setProfilingLevel(0);
+ db = stddb;
}