summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAaron <aaron@10gen.com>2009-04-03 14:38:04 -0400
committerAaron <aaron@10gen.com>2009-04-03 14:38:04 -0400
commitec5991e872043e7cefe65062e1a40847e0306ebf (patch)
treec94fa1381e98f0c5d6438caa16db0365ed0a9bd5
parent3fbb785b96333b8ba9a6371cda4dc339859a54d4 (diff)
downloadmongo-ec5991e872043e7cefe65062e1a40847e0306ebf.tar.gz
now bring down master first
-rw-r--r--jstests/repl/pair3.js26
1 files changed, 24 insertions, 2 deletions
diff --git a/jstests/repl/pair3.js b/jstests/repl/pair3.js
index 7903cc79d27..e406223864b 100644
--- a/jstests/repl/pair3.js
+++ b/jstests/repl/pair3.js
@@ -35,11 +35,9 @@ doTest = function() {
// normal startup
assert.soon( function() {
- am = ismaster( a );
lm = ismaster( l );
rm = ismaster( r );
- assert( am == 1, "am value invalid" );
assert( lm == -1 || lm == 0, "lm value invalid" );
assert( rm == -1 || rm == 0 || rm == 1, "rm value invalid" );
@@ -84,7 +82,31 @@ doTest = function() {
return ( lm == 0 && rm == 1 );
} );
+
+ // disconnect r ( master )
+ stopMongoProgram( arPort );
+ stopMongoProgram( lpPort );
+ stopMongoProgram( rpPort );
+
+ assert.soon( function() {
+ lm = ismaster( l );
+ rm = ismaster( r );
+
+ assert( lm == 0 || lm == 1, "lm value invalid" );
+ assert( rm == 1 || rm == -3, "rm value invalid" );
+
+ return ( rm == -3 && lm == 1 );
+ } );
+
+ // disconnect l ( new master )
+ stopMongoProgram( alPort );
+ assert.soon( function() {
+ lm = ismaster( l );
+ assert( lm == 1 || lm == -3, "lm value invalid" );
+ return ( lm == -3 );
+ } );
+
}
doTest();