summaryrefslogtreecommitdiff
path: root/jstests/replsets/remove1.js
diff options
context:
space:
mode:
authorKristina Chodorow <kristina@10gen.com>2010-11-18 09:56:21 -0500
committerKristina Chodorow <kristina@10gen.com>2010-11-18 09:56:21 -0500
commit8e4acff269f3827b924191ab4b073959c69b424e (patch)
tree40a9f78fc1db1190473707a993e4d7353f74c7bd /jstests/replsets/remove1.js
parentcd93cf90c778712a47026ab5ddc1418060bd8bd9 (diff)
downloadmongo-8e4acff269f3827b924191ab4b073959c69b424e.tar.gz
fix tests
Diffstat (limited to 'jstests/replsets/remove1.js')
-rw-r--r--jstests/replsets/remove1.js41
1 files changed, 27 insertions, 14 deletions
diff --git a/jstests/replsets/remove1.js b/jstests/replsets/remove1.js
index 3e1c4950d6a..8c75136e14b 100644
--- a/jstests/replsets/remove1.js
+++ b/jstests/replsets/remove1.js
@@ -87,19 +87,26 @@ sleep(10000);
stopMongod(ports[1]);
replTest.restart(2);
+sleep(10000);
print("Add them back as slaves");
-config.members.push({_id:1, host : host+":"+replTest.getPort(1)});
-config.members.push({_id:2, host : host+":"+replTest.getPort(2)});
-config.version = 4;
-try {
- master.getDB("admin").runCommand({replSetReconfig:config});
-}
-catch(e) {
- print(e);
-}
-reconnect(master);
+wait(function() {
+ config.members.push({_id:1, host : host+":"+replTest.getPort(1)});
+ config.members.push({_id:2, host : host+":"+replTest.getPort(2)});
+ config.version = 4;
+ try {
+ master.getDB("admin").runCommand({replSetReconfig:config});
+ }
+ catch(e) {
+ print(e);
+ }
+ reconnect(master);
+
+ master.setSlaveOk();
+ var newConfig = master.getDB("local").system.replset.findOne();
+ return newConfig.version == 4;
+ });
print("Make sure everyone's secondary");
@@ -109,10 +116,16 @@ wait(function() {
printjson(status);
});
- return status.members &&
- (status.members[0].state == 1 || status.members[0].state == 2) &&
- (status.members[1].state == 1 || status.members[1].state == 2) &&
- (status.members[2].state == 1 || status.members[2].state == 2);
+ if (!status.members || status.members.length != 3) {
+ return false;
+ }
+
+ for (var i = 0; i<3; i++) {
+ if (status.members[i].state != 1 && status.members[i].state != 2) {
+ return false;
+ }
+ }
+ return true;
});
replTest.stopSet();