56 lines
1.2 KiB
JavaScript
56 lines
1.2 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);
|
|
|
|
for (n = "a"; n != "aaaaa"; n += "a") {
|
|
m.getDB(n).a.save({x: 1});
|
|
}
|
|
|
|
s = rt.start(false, extraOpts);
|
|
|
|
assert.soon(function() {
|
|
return -1 != getDBNamesNoThrow(s).indexOf("aa");
|
|
}, "aa timeout", 60000, 1000);
|
|
|
|
rt.stop(false, signal);
|
|
|
|
s = rt.start(false, extraOpts, signal);
|
|
|
|
assert.soon(function() {
|
|
for (n = "a"; n != "aaaaa"; n += "a") {
|
|
if (-1 == getDBNamesNoThrow(s).indexOf(n))
|
|
return false;
|
|
}
|
|
return true;
|
|
}, "a-aaaa timeout", 60000, 1000);
|
|
|
|
assert.soon(function() {
|
|
for (n = "a"; n != "aaaaa"; n += "a") {
|
|
if (1 != m.getDB(n).a.find().count()) {
|
|
return false;
|
|
}
|
|
}
|
|
return true;
|
|
}, "a-aaaa count timeout");
|
|
|
|
sleep(300);
|
|
|
|
rt.stop();
|
|
};
|
|
|
|
doTest(15); // SIGTERM
|
|
doTest(9, {journal: null}); // SIGKILL
|