2010-01-19 17:23:59 +01:00
|
|
|
|
2016-03-09 18:17:50 +01:00
|
|
|
load("jstests/libs/slow_weekly_util.js");
|
2012-04-09 05:39:11 +02:00
|
|
|
|
2016-03-09 18:17:50 +01:00
|
|
|
testServer = new SlowWeeklyMongod("ns1");
|
|
|
|
mydb = testServer.getDB("test_ns1");
|
2010-01-19 17:23:59 +01:00
|
|
|
|
2016-03-09 18:17:50 +01:00
|
|
|
check = function(n, isNew) {
|
2010-01-19 17:23:59 +01:00
|
|
|
var coll = mydb["x" + n];
|
2016-03-09 18:17:50 +01:00
|
|
|
if (isNew) {
|
|
|
|
assert.eq(0, coll.count(), "pop a: " + n);
|
|
|
|
coll.insert({_id: n});
|
2010-01-19 17:23:59 +01:00
|
|
|
}
|
2016-03-09 18:17:50 +01:00
|
|
|
assert.eq(1, coll.count(), "pop b: " + n);
|
|
|
|
assert.eq(n, coll.findOne()._id, "pop c: " + n);
|
2010-01-19 17:23:59 +01:00
|
|
|
return coll;
|
2016-02-04 18:29:53 +01:00
|
|
|
};
|
2010-01-19 17:23:59 +01:00
|
|
|
|
|
|
|
max = 0;
|
|
|
|
|
2016-03-09 18:17:50 +01:00
|
|
|
for (; max < 1000; max++) {
|
|
|
|
check(max, true);
|
2010-01-19 17:23:59 +01:00
|
|
|
}
|
|
|
|
|
2016-03-09 18:17:50 +01:00
|
|
|
function checkall(removed) {
|
|
|
|
for (var i = 0; i < max; i++) {
|
|
|
|
if (removed == i) {
|
|
|
|
assert.eq(0, mydb["x" + i].count(), "should be 0 : " + removed);
|
|
|
|
} else {
|
|
|
|
check(i, false);
|
2010-01-19 17:23:59 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
checkall();
|
|
|
|
|
2016-03-09 18:17:50 +01:00
|
|
|
Random.srand(123124);
|
2010-01-19 17:23:59 +01:00
|
|
|
its = max / 2;
|
2016-03-09 18:17:50 +01:00
|
|
|
print("its: " + its);
|
|
|
|
for (i = 0; i < its; i++) {
|
|
|
|
x = Random.randInt(max);
|
|
|
|
check(x, false).drop();
|
|
|
|
checkall(x);
|
|
|
|
check(x, true);
|
|
|
|
if ((i + 1) % 20 == 0) {
|
|
|
|
print(i + "/" + its);
|
2010-01-19 17:23:59 +01:00
|
|
|
}
|
2016-03-09 18:17:50 +01:00
|
|
|
}
|
|
|
|
print("yay");
|
2010-01-19 17:23:59 +01:00
|
|
|
|
|
|
|
mydb.dropDatabase();
|