mirror of
https://github.com/mongodb/mongo.git
synced 2024-12-01 09:32:32 +01:00
59 lines
1.1 KiB
JavaScript
59 lines
1.1 KiB
JavaScript
/**
|
|
* Basic gle testing for master/slave environment. Write command version also
|
|
* available at jstests/repl.
|
|
*/
|
|
|
|
var rt = new ReplTest( "block1" );
|
|
|
|
var m = rt.start( true );
|
|
var s = rt.start( false );
|
|
|
|
if (m.writeMode() == 'commands') {
|
|
jsTest.log('Skipping test since commands mode is already tested in repl/');
|
|
}
|
|
else {
|
|
|
|
function setup(){
|
|
|
|
dbm = m.getDB( "foo" );
|
|
dbs = s.getDB( "foo" );
|
|
|
|
tm = dbm.bar;
|
|
ts = dbs.bar;
|
|
}
|
|
setup();
|
|
|
|
function check( msg ){
|
|
assert.eq( tm.count() , ts.count() , "check: " + msg );
|
|
}
|
|
|
|
function worked( w , wtimeout ){
|
|
var gle = dbm.getLastError( w , wtimeout );
|
|
if (gle != null) {
|
|
printjson(gle);
|
|
}
|
|
return gle == null;
|
|
}
|
|
|
|
check( "A" );
|
|
|
|
tm.save( { x : 1 } );
|
|
assert( worked( 2 ) , "B" );
|
|
|
|
tm.save( { x : 2 } );
|
|
assert( worked( 2 , 3000 ) , "C" );
|
|
|
|
rt.stop( false );
|
|
tm.save( { x : 3 } );
|
|
assert.eq( 3 , tm.count() , "D1" );
|
|
assert( ! worked( 2 , 3000 ) , "D2" );
|
|
|
|
s = rt.start( false );
|
|
setup();
|
|
assert( worked( 2 , 30000 ) , "E" );
|
|
|
|
}
|
|
|
|
rt.stop();
|
|
|