Files
mongo/jstests/master_slave/repl7.js

57 lines
1.3 KiB
JavaScript

// Test persistence of list of dbs to add.
var getDBNamesNoThrow = function(conn) {
try {
return conn.getDBNames();
} catch (e) {
printjson(e);
return [""];
}
};
doTest = function(signal, extraOpts) {
rt = new ReplTest("repl7tests");
m = rt.start(true);
// Use databases that lexicographically follow "admin" to avoid failing to clone admin, since
// as of SERVER-29452 mongod fails to start up without a featureCompatibilityVersion document.
for (n = "b"; n != "bbbbb"; n += "b") {
m.getDB(n).b.save({x: 1});
}
s = rt.start(false, extraOpts);
assert.soon(function() {
return -1 != getDBNamesNoThrow(s).indexOf("bb");
}, "bb timeout", 60000, 1000);
rt.stop(false, signal);
s = rt.start(false, extraOpts, signal);
assert.soon(function() {
for (n = "b"; n != "bbbbb"; n += "b") {
if (-1 == getDBNamesNoThrow(s).indexOf(n))
return false;
}
return true;
}, "b-bbbb timeout", 60000, 1000);
assert.soon(function() {
for (n = "b"; n != "bbbbb"; n += "b") {
if (1 != m.getDB(n).b.find().count()) {
return false;
}
}
return true;
}, "b-bbbb count timeout");
sleep(300);
rt.stop();
};
doTest(15); // SIGTERM