diff options
author | Antonin Kral <a.kral@bobek.cz> | 2010-03-25 19:21:32 +0100 |
---|---|---|
committer | Antonin Kral <a.kral@bobek.cz> | 2010-03-25 19:21:32 +0100 |
commit | 0ca01a91ae0a3562e54c226e7b9512feb2ea83d0 (patch) | |
tree | 2b3886e435b0217d6afd63a213b04d32bb4b4f6f /jstests/parallel | |
parent | a696359b248adef0cc8576fce3f473535e995136 (diff) | |
download | mongodb-0ca01a91ae0a3562e54c226e7b9512feb2ea83d0.tar.gz |
Imported Upstream version 1.4.0
Diffstat (limited to 'jstests/parallel')
-rw-r--r-- | jstests/parallel/basic.js | 5 | ||||
-rw-r--r-- | jstests/parallel/basicPlus.js | 6 | ||||
-rw-r--r-- | jstests/parallel/repl.js | 55 |
3 files changed, 65 insertions, 1 deletions
diff --git a/jstests/parallel/basic.js b/jstests/parallel/basic.js index 9c10306..bcb4d65 100644 --- a/jstests/parallel/basic.js +++ b/jstests/parallel/basic.js @@ -9,3 +9,8 @@ for( i in params ) { } t.run( "one or more tests failed", true ); + +db.getCollectionNames().forEach( function( x ) { + v = db[ x ].validate(); + assert( v.valid, "validate failed for " + x + " with " + tojson( v ) ); + } );
\ No newline at end of file diff --git a/jstests/parallel/basicPlus.js b/jstests/parallel/basicPlus.js index d6f9a4d..4d65d25 100644 --- a/jstests/parallel/basicPlus.js +++ b/jstests/parallel/basicPlus.js @@ -23,4 +23,8 @@ for( var i = 4; i < 8; ++i ) { t.run( "one or more tests failed", true ); -assert( c.validate().valid, "validate failed" );
\ No newline at end of file +assert( c.validate().valid, "validate failed" ); +db.getCollectionNames().forEach( function( x ) { + v = db[ x ].validate(); + assert( v.valid, "validate failed for " + x + " with " + tojson( v ) ); + } );
\ No newline at end of file diff --git a/jstests/parallel/repl.js b/jstests/parallel/repl.js new file mode 100644 index 0000000..cb9b770 --- /dev/null +++ b/jstests/parallel/repl.js @@ -0,0 +1,55 @@ +// test all operations in parallel + +baseName = "parallel_repl" + +rt = new ReplTest( baseName ); + +m = rt.start( true ); +s = rt.start( false ); + +db = m.getDB( "test" ); + +Random.setRandomSeed(); + +t = new ParallelTester(); + +for( id = 0; id < 10; ++id ) { + var g = new EventGenerator( id, baseName, Random.randInt( 20 ) ); + for( var j = 0; j < 1000; ++j ) { + var op = Random.randInt( 3 ); + switch( op ) { + case 0: // insert + g.addInsert( { _id:Random.randInt( 1000 ) } ); + break; + case 1: // remove + g.addRemove( { _id:Random.randInt( 1000 ) } ); + break; + case 2: // update + g.addUpdate( {_id:{$lt:1000}}, {a:{$inc:5}} ); + break; + default: + assert( false, "Invalid op code" ); + } + } + t.add( EventGenerator.dispatch, g.getEvents() ); +} + +var g = new EventGenerator( id, baseName, Random.randInt( 5 ) ); +for( var j = 1000; j < 3000; ++j ) { + g.addCheckCount( j - 1000, { _id: {$gte:1000} }, j % 100 == 0, j % 500 == 0 ); + g.addInsert( {_id:j} ); +} +t.add( EventGenerator.dispatch, g.getEvents() ); + +t.run( "one or more tests failed" ); + +assert( m.getDB( "test" )[ baseName ].validate().valid ); +assert( s.getDB( "test" )[ baseName ].validate().valid ); + +assert.soon( function() { + mh = m.getDB( "test" ).runCommand( "dbhash" ); +// printjson( mh ); + sh = s.getDB( "test" ).runCommand( "dbhash" ); +// printjson( sh ); + return mh.md5 == sh.md5; + } ); |